ランブックの作成

ビジュアル・デザイナを使用して、フリート・アプリケーション管理でカスタム・ランブックを作成します。

フリート・アプリケーション管理には、実行前ヘルス・チェック、Oracle HTTPサーバー検出などの一般的なライフサイクル管理タスクを実行するために使用できる、事前定義済のステップを含むいくつかのランブックが用意されています。これらのランブックは、ランブック・ライブラリで使用できます。カスタム・ランブックを作成して、すべてのユーザーに公開することもできます。
  • 「ランブック」リスト・ページで、「ランブックの作成」を選択します。リスト・ページの検索に関するヘルプが必要な場合は、ランブックのリストを参照してください。

    ランブックの作成は次のページで構成されています。

    次の各ワークフローを順番に実行します。「前」を選択して、前のページに戻ることができます。

    1. 基本的な情報

    「基本情報」ページでは、ランブックの基本情報を指定します。

    次の情報を入力します:

    • 名前: ランブックのわかりやすい名前を入力します。名前は、必ずしも一意である必要はありませんが、コンソールで変更できません。ただし、APIでは変更できます。機密情報を入力しないでください。
    • 説明: ランブックに適した説明を入力します
    • コンパートメントに作成: ランブックを作成するコンパートメントを選択します、
    • ライフサイクル操作コンパートメント: 特定のライフサイクル操作が存在するコンパートメントを選択します。様々なライフサイクル操作の詳細は、フリート・アプリケーション管理でのライフサイクル操作を参照してください。
    • ライフサイクル操作: ライフサイクル操作(パッチ、検出、プロビジョニング、カスタムなど)を選択します。
    • パッチまたは検出ライフサイクル操作の場合は、次の情報を入力します。
      • 製品/製品スタック・コンパートメント: 製品または製品スタックが存在するコンパートメントを選択します。
      • 製品/製品スタック: タスクがコンパートメントに属する製品または製品スタックを選択します。
    • OSタイプ: ランブックを実行するオプションから、サポートされているプラットフォームを選択します。
    • 見積時間(時間): ランブック実行を完了するための見積時間(時間)を選択します。
    • デフォルト・ランブックとして設定: ライフサイクル操作を実行するためのデフォルト・ランブックとしてフリート・アプリケーション管理がこのランブックを使用できるように、トグルをオンにします。
      ノート

      特定のライフサイクル操作および製品または製品スタックの組合せに対して、デフォルト・ランブックとして設定できるランブックは1つのみです。フリート・アプリケーション管理では、製品または製品スタックのデフォルトの検出ランブックを使用して製品のソフトウェア・インベントリを検出し、デフォルトのパッチ適用ランブックを使用して、スケジュール作成およびコンプライアンス修正タスク中にランブックを自動的に選択します。
    • このランブックにはSUDOアクセスが必要です: コンピュート・インスタンスで実行されているソフトウェアのパッチを検出して適用するためにOSタイプがOracle Linuxである場合は、トグルをオンにします。

      sudoアクセスは、Oracle WebLogic Server、Oracle HTTP Server (OHS)およびOracle Java (OCI固有ではない)の製品サポートが必要な場合に必要です。

      ノート

      ランブックでsudoアクセスが有効になっている場合、フリート・アプリケーション管理プラグインは、sudo権限を持つタスクを実行します。フリート・アプリケーション管理プラグインは、組込みsudo権限を使用しますが、runbookプロパティisSudoAccessNeededによって完全に制御されます。ランブック・リファレンスを参照してください。

    「次へ」を選択して、次のステップに進みます。

    2. 合理化(デザインランブック)

    「合理化(デザイン・ランブック)」ページは、ビジュアル・デザイナまたはランブック・コードを使用してランブック・ワークフローを設計する場所です。

    ビジュアル・デザイナを使用すると、「アクション」ペインからキャンバスにアクションをドラッグして、ランブックのワークフロー内の必要な場所に配置できます。ワークフロー内のアクションを別の場所にドラッグして並べ替えることもできます。

    1. 次のいずれかのオプションを選択します。
      • デザイン・ビュー: ビジュアル・デザイナを使用するには、コンポーネントをドラッグして構成します。ステップ2に進みます。
      • コード・ビュー: ランブック・コードをYAMLまたはJSONファイルにアップロードします。ステップ3に進みます。
    2. ランブックの作成に「デザイン・ビュー」を選択した場合は、次のステップを実行します。
      重要

      タスクを追加するには、最初にパラレルまたはローリング・リソース・グループを追加する必要があります。タスクはグループ内に存在する必要があります。ビジュアル・デザイナの使用について学習するには、ビジュアル・デザイナを使用したランブックの設計を参照してください。
      1. アクション・ペインの「コンポーネント」タブで、パラレル・リソース・グループまたはローリング・リソース・グループを選択し、キャンバスにドラッグします。必要な数のグループを追加します。
        • リソース間でのランブック・タスクのパラレル実行の場合は、「パラレル」グループを選択します。パラレル・リソース・グループは、その中の1つ以上のタスク、またはターゲット・リソースに対して複数のタスクをパラレルに実行する別のパラレル・タスク・グループのプレースホルダです。パラレル・リソース・グループに追加されるタスクごとに、タスクのリストが特定のリソースに対して次々に実行されますが、リソースのリスト全体で同時に実行されます。
        • ランブック・タスクの順次実行では、ローリング・リソース・グループを選択します。ローリング・リソース・グループは、特定のリソースでタスクのリストが次々と実行される1つ以上のタスクのプレースホルダです。タスクがリソースで正常に実行されると、次のタスクが別のリソースで実行されます。
        ヒント

        コンポーネントの右隅にあるドラッグ・ハンドル・アイコン(ドラッグハンドル)を使用して、コンポーネントをランブックの作業領域の別の場所にドラッグすることで、コンポーネントの順序を変更できます。コンポーネントをキャンバスに配置すると、そのコードが自動的に生成され、ランブックのコードに追加されます。
      2. 新しいタスクを選択し、追加したリソース・グループにドラッグします。「タスクの作成」ページに詳細を入力します。手順については、コンソールを使用したタスクの作成のステップ4から17を参照してください。事前定義済のタスクをリソース・グループにドラッグして追加することもできます。
        • ランブック内で作成するタスクはランブックに対してローカルであり、他のランブックで再利用することはできません。
        • タスク・ライブラリには、存在する、または作成した再利用可能なタスクのリストが表示されます。タスクの右隅にあるドラッグ・ハンドル・アイコン(ドラッグハンドル)を使用して、そのアイコンをリソース・グループにドラッグできます。
          ヒント

          最初に必要に応じてランブック・タスクを作成し、後で1つ以上のランブックに追加できます。
        • タスク・ライブラリにタスクのコピーを作成するには、「ライブラリでこのタスクのコピーを作成」を選択します。このタスクは、ランブックおよびタスク・ライブラリの一部です。ただし、ランブック・タスクとは関係なく、ライブラリ・タスクを再利用および更新できます。
      3. タスクのプロパティを更新するには、タスクの横にある編集アイコンを選択し、「タスクの編集」ページでフィールド値を更新します。
      4. 必要なコンポーネントをランブックに追加した後、「プロパティ」タブを使用して構成するコンポーネントのプロパティ・アイコン(設定アイコン)を選択します。
      5. 目的に基づいて一意のステップ名を入力してください。機密情報を入力しないでください。
      6. 「失敗時」リストから次のいずれかのアクションを選択して、ランブックのワークフローで自動化がエラーを処理する方法を構成します。
        ノート

        デフォルトでは、ランブック・コンポーネントがエラーをレポートすると、フリート・アプリケーション管理の自動化によってランブックのワークフローが完全に停止します。これは、すべてのコンポーネントの「失敗時」プロパティのデフォルト値が「中断」であるためです。
        • 中断: コンポーネントの実行が失敗したときに、ランブックのワークフローを完全に停止します。このアクションはデフォルトで設定されます。
        • 続行: コンポーネントの実行が失敗した場合、ランブック・ワークフローの次のステップに進みます。
        • ロールバック: 変更を元に戻し、ランブック・コンポーネントの初期レベルに戻ります。

          ロールバックするには、「失敗時」プロパティを「ロールバック」として選択してください。ロールバック関数は、ターゲット・レベルまたはグループ・レベル(アクション・グループ)で指定できます。ターゲット・レベルでロールバックするには、「タスクの失敗時」を選択するか、「ロールバック・タスクの失敗時」を選択してグループ・レベルでロールバックします。

      7. 「条件」オプションを使用して各ランブック・コンポーネントの条件文を作成するには、次のようにします。
        条件ボックスに変数を入力し、AND、NOTなどの算術演算子のいずれかを選択して、条件の値を入力します。条件文の例を次に示します。
        次の条件では、タスクのbackuptype変数が値hotと等しい場合、タスクが実行されるか、または条件ビルダーがスキップして次のタスクに進みます。
        backuptype=hot
      8. 「実行日」を構成して、タスクを実行する次のいずれかのオプションを選択します。
        • スケジュールで指定されたインスタンス: リソースの製品に適用可能な特定のコンポーネント(製品メタデータで定義)でのみタスクを条件付きで実行できるようにするには、「インスタンスのフィルタ」を選択します。フィルタ条件の追加方法については、サブステップiを参照してください。
        • 自己ホスト・インスタンス: 必要に応じて、プロビジョニング後のアクティビティをチェックするには、「管理」セクションの「メタデータ管理」で作成した適切な自己ホスト・インスタンスを選択します。
          ノート

          インスタンスを選択すると、このホスト(インスタンス)でのみタスクが実行されます。

          たとえば、最初のタスクのアクション・タイプがリソースをプロビジョニングする「Terraformの実行」である2つのタスクがあります。2番目のタスクは、アクション・タイプ「スクリプトの実行」を使用でき、スクリプトには、リソースがプロビジョニングおよび実行されているかどうかをチェックする自己ホスト・インスタンス(中央ホスト)が含まれます。

          重要

          自己ホスト・インスタンスとその関連インスタンスでフリート・アプリケーション管理プラグインを有効にしてください。このステップにより、フリート・アプリケーション管理でライフサイクル操作のためにこれらのインスタンスを効果的に考慮できるようになります。
        • 前のタスクで指定されたインスタンス: 中央ホストを構成しない場合に、プロビジョニングされたリソースが作成され、実行されているかどうかを確認します。
          たとえば、次の操作を実行する2つのタスクがあります。
          1. コンピュート・インスタンスをプロビジョニングし、プロビジョニングされたリソースのOCIDを出力変数として返す「Terraformの実行」というアクション・タイプを持つ最初のタスクを作成します。
          2. アクション・タイプが「スクリプトの実行」の2番目のタスクを作成します。
          3. タスク変数を指定するには、「前のタスクの出力変数」を選択します。
          4. サブステップiが返すリソースOCIDまたはオプションのリソース・タイプを入力します。最初のタスクで作成したホスト情報を追加します。OCIDsまたはリソース・タイプは、2番目のタスクへの入力として機能します。
            ヒント

            ホスト情報は、配列として記述されたリソースOCIDsを含むJSONファイルとして提供できます。

          フリート・アプリケーション管理では、出力変数を解析し、リソースに対してスクリプトを実行します。

      9. サブステップhで「スケジュールで指定されたインスタンス」を選択した場合は、「インスタンス」を選択して「インスタンスのフィルタ」ダイアログ・ボックスを開きます。
        • 左側のボックスから製品またはコンポーネント・プロパティを選択して、右側のフィルタ・ボックスに追加します。
        • AND、NOTなどの算術演算子のいずれかを選択します。
        • 条件ボックスに条件の値を入力します。
          ノート

          製品またはコンポーネント・プロパティを選択すると、フィルタ・ボックスに関連する文法条件が移入されます。
          Run on文法条件の例を次に示します。
          target.product.name = <product_name>
          target.product.properties.<property_name> = <property_value>
          target.product.components.has(<component_name>)
          target.product.components.<component_name>.properties.<property_name> = <property_value>
          ノート

          プロパティに基づく条件は、製品検出の理解によって異なります。
        必要に応じて、さらにフィルタ・インスタンスを追加します。これらのインスタンスは、フィルタ・ボックスの次の行に追加されます。
      10. 「実行の一時停止」トグルをオンに切り替えて、特定の条件が満たされるまで、特定の時間にタスクの実行を停止または遅延させます。たとえば、タスクの実行を無期限に一時停止するか、タスクを再開するか、選択した特定の時間まで一時停止するかを選択できます。
      11. タスク・ステータスの変更時に通知を受け取るには、「通知」トグルをオンにして、通知するタスクのアクティビティ(タスクの失敗時、一時停止時、タスクの成功時など)のチェック・ボックスを選択します。
      12. 追加するタスクのプロパティを構成します。タスク・プロパティのフィールドの説明は、コンソールを使用したタスクの作成のステップ4から17を参照してください。
    3. ステップ1でランブック作成に「コード・ビュー」を選択した場合は、JSONまたはYAMLのどちらを使用しているかを選択し、「ランブック・コードのアップロード」を選択して適切なファイルを追加します。
    「次へ」を選択して、次のステップに進みます。

    3. レビュー

    「確認」ページでランブックの内容を確認します。設定を編集するか、前の画面に戻って情報を追加します。

    「ドラフトとして保存」を選択して、すべてのコンポーネントが確実になるまでランブックを最初に保存します。
    ノート

    このドラフト・バージョンのランブックはアクティブではなく、使用できず、「ドラフト」としてマークされています。

    すべてのタスクと合理化(実行順序)を確認した後、ランブックを使用可能にするには、ランブックの詳細ページから「最新バージョンの公開」を選択します。

    公開済ランブックは、プロビジョニング、検出、パッチの適用またはロールバックで使用でき、アクティブ・ステータスになります。
    ノート

    ランブックは、初期バージョンとしてバージョン1を使用して作成され、アクティブ・ステータスになります。
  • カスタム・ランブックを作成するには、oci fleet-apps-management fleet-apps-management-runbooks runbook createコマンドおよび必要なパラメータを使用します:

    oci fleet-apps-management fleet-apps-management-runbooks runbook create --compartment-id <compartment_OCID> --display-name <text> --operation <text> --runbook-version <json_file_or_string> [OPTIONS]

    フリート・アプリケーション管理CLIコマンドのフラグおよび変数オプションの完全なリストは、フリート・アプリケーション管理用のCLIを参照してください。

  • CreateRunbook操作を実行して、カスタム・ランブックを作成します。