すべてのプロダクト
Search
ドキュメントセンター

CloudOps Orchestration Service:OOS を使用して ECS インスタンスで Ansible プレイブックを実行する

最終更新日:Jan 17, 2025

始める前に

CloudOps Orchestration Service (OOS) を使用して実行するプレイブックを準備し、Object Storage Service (OSS) にアップロードします。次の例では、プレイブックを使用して Elastic Compute Service (ECS) インスタンスに NGINX をインストールします。

---
- hosts: local
  connection: local
  become: yes
  become_user: user_1
  tasks:
   - name: Install Nginx
     yum:
       name: nginx
       state: installed
       update_cache: true

シナリオ 1: HTTPS URL を使用して Ansible プレイブックを実行する

前提条件

ECS インスタンスはインターネットにアクセスできます。

手順

1. OSS コンソール にログインし、プレイブックが保存されているバケットを見つけます。

image.png

2. プレイブックの名前をクリックします。表示されるパネルで、プレイブックの URL をコピーします。

image

3. CloudOps Orchestration Service コンソール にログインします。左側のナビゲーションウィンドウで、自動化された O&M > [パブリックテンプレート] を選択します。パブリックテンプレートACS-ECS-Ansible Playbook の適用実行の作成 ページで、 を検索します。 をクリックします。

image

4. [次のステップ: パラメーター設定] をクリックします。

image

5. [パラメーター設定] ステップで、SourceType パラメーターを https に設定します。 OSS でコピーしたプレイブック URL を SourcePath フィールドに貼り付けます。その他のパラメーターの詳細については、このトピックのテンプレート パラメーターセクションをご参照ください。

image

6. [コントロール オプション] セクションで、[レート コントロール タイプ] パラメーターを バッチベース コントロール に設定します。詳細については、このトピックの テンプレート パラメーター セクションをご参照ください。

image

7. パラメーター設定を確認し、作成 をクリックします。

image

8. タスク実行管理実行 ページで、 を見つけます。

image

9. [アクション] 列の [詳細] をクリックして、サブ実行のステータスを表示します。プレイブックの実行結果は、[出力] タブに表示されます。

image

シナリオ 2: OSS URL を使用して Ansible プレイブックを実行する

前提条件

Ansible プレイブックを実行する ECS インスタンス用に Resource Access Management (RAM) ロールが作成されています。RAM ロールには、OSS に対する読み取りおよび書き込み権限があります。詳細については、「複数のインスタンスに一度にファイルをダウンロードする」をご参照ください。

手順

1. [パラメーター設定] セクションで、SourceType パラメーターを oss に設定し、SourcePath フィールドにプレイブックの OSS URL (例: oss://bucket/filename) を入力します。その他の手順はシナリオ 1 と同じです。

image

テンプレートパラメーター:

  • SourceType: プレイブックのストレージタイプ。

  • SourcePath: プレイブックの URL。

  • PlaybookFile: プレイブックの名前。例: example.yml。

  • TokenInfo: プレイブックのダウンロードに使用するトークン。このパラメーターは、GitHub からプレイブックをダウンロードする場合にのみ必要です。

  • Hosts: プレイブックを実行するために使用するホスト。

  • InstallDependencies: Ansible の依存関係をインストールするかどうかを指定します。スイッチをオンにすると、OOS は Python Package Index (PyPI) から Ansible とその依存関係をインストールします。Python もインストールされます。スイッチをオフにする場合は、指定した ECS インスタンスに Ansible とその依存関係がインストールされているかどうかを確認する必要があります。

  • WorkingDir: プレイブックを実行するディレクトリ。

  • Check: Ansible の実行を確認するかどうかを指定します。

  • ExtraVariables: プレイブックの実行時に Ansible に渡される追加の変数。キーと値のペアはスペースで区切ります。例: color=red flavour=lime。

  • Verbose: プレイブックの実行をどの程度詳細に記録するかを指定します。値 -v は低レベル、値 -vv または -vvv は中レベル、値 -vvvv はデバッグレベルを示します。

  • RateControl: 同時タスクの数。

    • 同時実行ベースの制御

      • 同時実行: 同時実行率。値またはパーセンテージを指定できます。たとえば、値 1 は、プレイブックが毎回 1 つのインスタンスで実行されることを示します。

      • エラーしきい値: 指定されたタスクが停止されるまでに許容されるエラーの最大数またはパーセンテージ。デフォルト値 0 は、1 つのエラーのみが許容されることを示します。

image.png

  • バッチベースの制御

  • バッチ配列: 実行を複数のタスクバッチに分割します。タスクはバッチごとに実行されます。前のバッチのタスクが完了するまで、バッチのタスクは実行を開始しません。数値またはパーセンテージで構成される配列を指定して、バッチを指定できます。たとえば、[1, 5%, 10%] は、最初のバッチで 1 つのタスクが実行され、2 番目のバッチでタスク全体の 5% が実行され、3 番目のバッチでタスク全体の 10% が実行されることを示します。

image.png