タスクの作成
フリート・アプリケーション管理でフリートに対してライフサイクル操作を実行するためのランブック・タスクを作成します。
ノート
このプロシージャを使用して作成するタスクは共有タスクであり、任意のランブックで使用できます。
このプロシージャを使用して作成するタスクは共有タスクであり、任意のランブックで使用できます。
- 「タスク」リスト・ページで、「タスクの作成」を選択します。リスト・ページの検索に関するヘルプが必要な場合は、ランブックのタスクのリストを参照してください。
-
「タスクの作成」ページで、次の情報を入力します。
- 名前: タスクの一意の名前を入力します。名前は、必ずしも一意である必要はありませんが、コンソールで変更できません。ただし、APIでは変更できます。機密情報を入力しないでください。
- 説明: タスクの適切な説明を入力してください。
- コンパートメントに作成: ランブック・タスクを作成するコンパートメントを選択します、
- ライフサイクル操作コンパートメント: 特定のライフサイクル操作が存在するコンパートメントを選択します。様々なライフサイクル操作の詳細は、フリート・アプリケーション管理でのライフサイクル操作を参照してください。
- ライフサイクル操作: ライフサイクル操作(パッチ、検出、プロビジョニング、カスタムなど)を選択します。
- パッチまたは検出ライフサイクル操作の場合は、次の情報を入力します。
- 製品/製品スタック・コンパートメント: 製品または製品スタックが存在するコンパートメントを選択します。
- 製品/製品スタック: タスクがコンパートメントに属する製品または製品スタックを選択します。
- アクション・タイプ: 次のオプションのいずれかを選択します:
- スクリプトの実行: オブジェクト・ストレージからスクリプトをアタッチするか、「コマンド」の下にスクリプトをインラインで追加します。インライン・スクリプトの追加については、サブステップnを参照してください。
- terraformの実行: Terraformパッケージを使用してリソースをプロビジョニングします。ステップ4に進みます。
-
「スクリプトの実行」を選択した場合は、必要に応じて「スクリプトの詳細」の下に次の情報を入力します。
- 「OSタイプ」で、タスクが実行されるサポートされているプラットフォームを選択します。
-
タスクがターゲットの検出を目的としている場合:
- 「これを検出出力タスクとしてマーク」トグルをオンにします。このアクションにより、タスクの実行後にフリート・アプリケーション管理でソフトウェア・インベントリ情報を収集できます。
- 「スクリプトの追加」で、「検出出力テンプレートのダウンロード」を選択して、タスク出力が検出テンプレートの形式と一致することを確認します。ダウンロードした検出テンプレートは、検出スクリプトをコーディングするためのガイドとして使用します。テンプレートの属性の詳細は、「検出出力テンプレートについて」を参照してください。ノート
検出スクリプトまたはパッチ適用スクリプトの実行の成功は、スクリプト・ライターで使用されるコマンド、およびこれらのコマンドがインスタンスでサポートされているかどうかによって異なります。一部のコマンドが失敗した場合は、コマンドを使用する前に、必要なインストールでホストを設定してください。たとえば、mlocate
やlocate
などのコマンドを使用してファイルを検索します。
- パッチを適用するタスクの場合は、「このタスクを実行するにはパッチが必要です」トグルをオンにします。オンにすると、フリート・アプリケーション管理によって、タスクの推奨パッチの詳細が移入されます。詳細は、patches.jsonファイルを参照してください。このスクリプトでは、patches.jsonファイルを読み取ってすべてのパッチを取得し、環境変数DATA_DIRを使用して、フリート・アプリケーション管理によってコンピュート・インスタンスにダウンロードされたパッチの場所を確認できます。
-
タスク実行用のスクリプトを追加するには、次のいずれかのオプションを選択します。
- オブジェクト・ストレージからのアップロードまたは選択: ファイル・システムまたはオブジェクト・ストレージ・バケットからスクリプトをアップロードするオプション。サブステップeにスキップします。
- カタログから選択: プライベート・カタログ・アイテムからスクリプトを選択するオプション。サブステップiにスキップします。
-
スクリプトの追加がオブジェクト・ストレージ経由の場合は、「オブジェクト・ストレージからスクリプトを選択」の横にある「参照」を選択します。
「ファイルの選択」ページで、次のいずれかのオプションを選択します。
- オブジェクト・ストレージ・バケットから選択: オブジェクト・ストレージからスクリプトを選択し(すでにアップロードされている場合)、サブステップfにスキップします。
- ファイルのアップロード: スクリプトをオブジェクト・ストレージにアップロードして選択し、サブステップgにスキップします。
-
「オブジェクト・ストレージ・バケットから選択」を選択した場合:
- スクリプトを含むオブジェクト・ストレージ・バケットを含むコンパートメントを選択し、バケットを選択します。
- バケットからスクリプト・ファイルを選択し、「選択」を選択します。サブステップhにスキップします。
-
「ファイルのアップロード」を選択した場合:
- ファイル・システムから「ドラッグ・アンド・ドロップ」ボックスにファイルをドラッグするか、ファイルを参照します。
- ファイルのアップロード先のオブジェクト・ストレージ・バケットを含むコンパートメントを選択し、バケットを選択します。
- 必要に応じてスクリプト・ファイルを選択します。
- 「オブジェクト名の接頭辞」には、オブジェクト・ストレージから選択するときに簡単に識別できるように、アップロードするファイルの接頭辞を指定します。
- 「アップロードして選択」を選択してスクリプトをバケットに格納し、タスクのスクリプトを選択します。
- スクリプトをカタログ・アイテムとして格納する場合は、「カタログ・アイテムとして保存」トグルをオンに切り替えます。次に、格納されたカタログ・アイテムの名前を指定します。
- スクリプトの追加がサブステップdのプライベート・カタログ経由の場合は、カタログ・アイテムを含むコンパートメントを選択し、カタログ・アイテムを選択するか、インライン・コマンドを使用します。コマンドの使用方法については、substep nを参照してください。
- 「スクリプトの実行可能化」トグルをオンに切り替えて、スクリプト・ファイルの自動実行を有効にします。
- 「ロック・スクリプト」トグルをオンにして、オブジェクト・ストレージ・バケットで更新されたときにスクリプトが実行されないようにします。
-
タスクに入力変数が必要な場合、「入力変数の追加」トグルをオンに切り替え、次の詳細を入力します:
- 変数の一意の名前と説明を入力します。機密情報を入力しないでください。
- 「タイプ」で、文字列または出力変数を選択します。たとえば、変数値を別のタスクの入力変数として使用する場合は、出力変数としてタイプを選択します。
必要に応じて、入力変数を追加します。
- タスクが出力変数を生成する場合は、「出力変数の追加」トグルをオンに切り替えます。次に、変数の一意の名前を入力します。必要に応じて出力変数を追加します。
- (オプション)タスクの実行が複数のファイルに基づいている場合は、「コマンド」ボックスに、実行を開始するコマンドを指定します。スクリプトの実行方法をフリート・アプリケーション管理に知らせるコマンドを指定します。スクリプトには、ZIPファイル、JARファイル、EXEファイル、またはインスタンスで実行できるその他のプログラムを指定できます。タスクに定義された変数は、プレース引数またはキー値引数としてスクリプトに渡すことができます。変数を引数として渡す場合は、その前に$を付けます。たとえば、ZIPファイルおよびJARファイルを使用するには、次のようにします。
unzip zippedfile.zip
コマンドを入力してすべてのファイルを含むファイルを解凍し、./main.sh
コマンドを入力して実行を開始します。- 変数をコマンドに渡すには、コマンドライン引数として指定します。次の種類のコマンド行引数を参照してください。次のタイプのコマンドライン引数を参照してください。
- 静的引数の場合、引数として直接指定します(たとえば、タスク・スクリプトでタイムアウト値が想定される場合)、引数は次のようになります:
./main.sh 10s
- タスクに構成されているものに基づく動的引数(たとえば、タイムアウトおよびbackuptypeを想定する場合)の場合、引数は次のようになります:
./main.sh $timeout $backuptype
- 静的引数と動的引数の組合せの場合、引数は次のようになります:
./main.sh 10s $backuptype
- 静的引数の場合、引数として直接指定します(たとえば、タスク・スクリプトでタイムアウト値が想定される場合)、引数は次のようになります:
- 動的引数(backuptypeおよびtimeout)に次のJARコマンドを入力します。
java -jar ApplicationBackup.jar $backuptype $timeout
- (オプション)製品または製品スタックに定義されていない場合は、Vaultで作成した資格証明コンパートメントおよび資格証明名を選択します。
重要
タスクに資格証明が必要な場合は、メタデータ管理で資格証明を作成し、フリート、リソースまたはターゲット資格証明の詳細を指定する必要があります。その後、フリート・アプリケーション管理は、これらの詳細をランブック・タスク実行に渡します。
-
ステップ2で「terraformの実行」を選択した場合は、必要に応じて「Terraformの詳細」の下に次の情報を入力します。
- 特定のコンパートメントから既存のマーケットプレイスまたはプライベートTerraformカタログ・アイテムを選択します。
-
サブステップaの特定のコンパートメントから既存のマーケットプレイス(OCIコア・ランディング・ゾーン)パッケージを選択した場合は、Terraformパッケージ・タイプのプライベート・カタログ・アイテムを作成して、カスタムTerraformパッケージを作成します。
- サンプル
config.json
を含むCONFIG_FILEパッケージ・タイプのプライベート・カタログ・アイテムを作成します。 config.json
をオブジェクト・ストレージ・バケットにアップロードし、そのPAR URLリンクを作成します。- 「カタログから構成ファイルを選択」で、前のステップで説明したように、
config.json
ファイルへのPAR URLリンクを含む対応するTerraformパッケージ・カタログ・アイテムを選択します。次に、サンプルの
config.json
ファイルを示します。{ "service_label": "cisbasic", "network_admin_email_endpoints": ["email.address@example.com"], "security_admin_email_endpoints": ["email.address@example.com"], "enable_cloud_guard": true }
OCIコア・ランディング・ゾーン・カタログ項目のすべての構成変数の詳細は、OCIコア・ランディング・ゾーン変数を参照してください。
- サンプル
- サブステップaの特定のコンパートメントから既存の構成プライベート・カタログ・アイテムを選択した場合は、Terraformパッケージ・タイプのプライベート・カタログ・アイテムを作成してカスタム構成パッケージを作成します。
-
Terraformパッケージの実行後に作成されたコンピュート・インスタンス、データベース・リソース、ブロック・ボリュームまたはネットワーク・リソースが存在できるターゲット・コンパートメントを選択します。
ノート
異なるリソースに異なるコンパートメントを割り当てると、リソースの安全性、管理性、およびスケーラビリティが向上します。 - 「出力変数の読取り」トグルをオンにして、Terraformの実行によって生成された出力変数を読み取り、次のタスクの入力として使用できるようにします。
-
「タスク・プロパティ」で、次の詳細を入力します:
- 失敗時の最大再試行回数: タスクが失敗したときに再試行する回数を指定します。
- タイムアウト: タスクが失敗した場合のタイムアウト値(秒単位)を指定します。
Task Propertiesを参照してください。
- タスク・ライブラリにタスクのコピーを作成するには、「このタスクのコピーをライブラリに作成」をオンにします。このタスクはタスク・ライブラリの一部となり、このライブラリ・タスクを再利用および更新できます。
- 「作成」を選択します。
oci fleet-apps-management fleet-apps-management-runbooks task-record createコマンドおよび必要なパラメータを使用して、ランブック・タスクを作成します:
oci fleet-apps-management fleet-apps-management-runbooks task-record create --compartment-id <compartment_OCID> --details <json_file_or_string> -display-name <text> [OPTIONS]
フリート・アプリケーション管理CLIコマンドのフラグおよび変数オプションの完全なリストは、フリート・アプリケーション管理用のCLIを参照してください。
CreateTaskRecord操作を実行して、ランブック・タスクを作成します。