次の方法で共有


Red Hat Ansible Automation を使用して Azure VM 拡張機能を有効にする

この記事では、Red Hat Ansible Automation Platform を使用して、 仮想マシン (VM) 拡張機能 を Azure Arc 対応サーバーに大規模にデプロイする方法について説明します。 この記事の例は、 クラウド コンテンツ用 Ansible Content Lab を通じて Red Hat によって開発およびインキュベーションされたコンテンツに依存しています。

この記事では、 Azure インフラストラクチャ構成デモ コレクションも使用します。 このコレクションには、以下を含む、この記事に関連する多くのロールとプレイブックが含まれています。

ファイルまたはフォルダー 説明
playbook_enable_arc_extension.yml Azure Arc 拡張機能を有効にするためにジョブ テンプレートとして使用されるプレイブック。
playbook_disable_arc-extension.yml Azure Arc 拡張機能を無効にするためにジョブ テンプレートとして使用されるプレイブック。
roles/arc プレイブックによって使用される再利用可能なオートメーションを含む Ansible ロール。

メモ

この記事の例では、Linux ホストを対象とします。

前提条件

オートメーションコントローラー 2.x

この記事は、セルフマネージド Ansible Automation Platform と Red Hat Ansible Automation Platform on Microsoft Azure の両方に適用されます。

自動化実行環境

この記事の例を使用するには、Azure コレクションと Azure CLI の両方がインストールされた自動化実行環境が必要です。 どちらも自動化を実行するために必要です。

これらの要件を満たす自動化実行環境がない場合は、 この例を使用できます。

自動化実行環境の構築と構成の詳細については、 Red Hat Ansible のドキュメントを参照してください

Azure Resource Manager の資格情報

Azure Resource Manager 用に Ansible Automation Platform で構成された作業アカウントの資格情報が必要です。 この資格情報は、Azure コレクションと Azure CLI を使用する操作を認証するために、Ansible Automation Platform で使用されます。

コンテンツを構成する

Automation Controller で Azure Infrastructure Configuration Demo コレクション を使用するには、次の手順に従って、リポジトリを使用してプロジェクトを設定します。

  1. Automation Controller にログインします。

  2. 左側のメニューで、[プロジェクト] を選択 します

  3. [ 追加] を選択し、フォームのフィールドに次のように入力します。

    • 名前: コンテンツ ラボ - Azure インフラストラクチャ構成コレクションを入力します。

    • 実行環境: 代わりに Azure コレクションと Azure CLI を使用して選択します。

    • ソース管理の種類: Git を選択します。

    • ソース管理 URL: https://github.com/ansible-content-lab/azure.infrastructure_config_demos.gitを入力します。

    詳細を編集する [プロジェクト] ウィンドウのスクリーンショット。

  4. [保存] を選択します

詳細を保存すると、プロジェクトは Automation Controller と同期されます。

ジョブ テンプレートを作成する

Azure インフラストラクチャ構成デモ コレクションから作成したプロジェクトには、ロールで再利用可能なコンテンツを実装するプレイブックの例が含まれています。 コレクションに含まれる README ファイル を表示することで、コレクション内の個々のロールの詳細を確認できます。

コレクション内の次のマッピングは、有効にする拡張機能を特定するのに役立ちます。

拡張機能 拡張機能変数名
Microsoft Defender for Cloud に組み込まれている脆弱性スキャナー microsoft_defender
カスタム スクリプト拡張機能 custom_script
Azure Monitor for VMs (分析情報) azure_monitor_for-vms
Azure Key Vault 仮想マシン拡張機能 azure_key_vault
Azure Monitor エージェント azure_monitor_agent
Azure Automation Hybrid Runbook Worker 拡張機能 azure_hybrid_rubook

Azure Arc 対応サーバー VM 拡張機能を有効または無効にできるようにテンプレートを作成する必要があります。これについては以降のセクションで説明します。

メモ

このコレクションには追加の VM 拡張機能が含まれていません。 これらは、 Azure Arc 対応サーバーを使用した仮想マシン拡張機能の管理に関するページで説明されています。

Azure Arc VM 拡張機能を有効にする

このテンプレートには、特定したホストで Azure Arc 対応サーバー VM 拡張機能を有効にする役割があります。

重要

Azure Arc では、一度に 1 つの拡張機能しか有効化または無効化できないため、このプロセスには時間がかかる場合があります。 Azure がこのプロセスを完了する前に、このテンプレートを使用して別の VM 拡張機能を有効化または無効化しようとすると、テンプレートによってエラーが報告されます。

ジョブ テンプレートの実行後、拡張機能が動作していることが各マシンによって報告されるまで数分から数時間かかる場合があります。 拡張機能が動作している場合は、エラーが発生することなく、別の拡張機能でこのジョブ テンプレートを再度実行できます。

テンプレートを作成するには:

  1. 右側のメニューで、[テンプレート] を選択 します

  2. [追加] を選択します。

  3. [ ジョブ テンプレートの追加] を選択し、フォームのフィールドに次のように入力します。

    • 名前: コンテンツ ラボを入力 - Arc 拡張機能を有効にします

    • ジョブの種類: [実行] を選択します。

    • インベントリ: localhost を入力します

    • プロジェクト: 「Content Lab - Azure Infrastructure Configuration Collection」と入力します

    • プレイブック: 「 playbook_enable_arc-extension.yml」と入力します。

    • 資格情報: Azure Resource Manager の資格情報を入力します。

    • 変数: 次のコードを入力します。

      ---
      resource_group: <your_resource_group>
      region: <your_region>
      arc_hosts:
      <first_arc_host>
      <second_arc_host>
      extension: microsoft_defender
      

      メモ

      <your_resource_group><your_region><first_arc_host><second_arc_host> を、実際の Azure リソースの名前に合わせて変更します。 Azure Arc ホストの数が多い場合は、Jinja2 形式を使用してインベントリ ソースからリストを抽出します。

  4. 実行時に拡張機能を変更できるように、変数の [起動時にプロンプトを表示 ] チェック ボックスをオンにします。

  5. [保存] を選択します

Azure Arc VM 拡張機能を無効にする

このテンプレートには、特定したホストで Azure Arc 対応サーバー VM 拡張機能を無効にする役割があります。 テンプレートを作成するには:

  1. 右側のメニューで、[テンプレート] を選択 します

  2. [追加] を選択します。

  3. [ ジョブ テンプレートの追加] を選択し、フォームのフィールドに次のように入力します。

    • 名前: コンテンツ ラボ - Arc 拡張機能を無効にするを入力します。

    • ジョブの種類: [実行] を選択します。

    • インベントリ: localhost を入力します

    • プロジェクト: 「Content Lab - Azure Infrastructure Configuration Collection」と入力します

    • プレイブック: 「 playbook_disable_arc-extension.yml」と入力します。

    • 資格情報: Azure Resource Manager の資格情報を入力します。

    • 変数: 次のコードを入力します。

      ---
      resource_group: <your_resource_group>
      region: <your_region>
      arc_hosts:
      <first_arc_host>
      <second_arc_host>
      extension: microsoft_defender
      

      メモ

      <your_resource_group><your_region><first_arc_host><second_arc_host> を、実際の Azure リソースの名前に合わせて変更します。 Azure Arc ホストの数が多い場合は、Jinja2 形式を使用してインベントリ ソースからリストを抽出します。

  4. 実行時に拡張機能を変更できるように、変数の [起動時にプロンプトを表示 ] チェック ボックスをオンにします。

  5. [保存] を選択します

オートメーションを実行する

ジョブ テンプレートが作成されたので、extension 変数の名前を変更するだけで Azure Arc 拡張機能を有効または無効にすることができます。 Azure Arc 拡張機能は、arc内の ロールにマップされます。

[起動] 🚀 アイコンを選択すると、テンプレートによって変数が正確であることを確認するように求められます。 たとえば、Microsoft Defender 拡張機能を有効にするには、拡張機能変数が microsoft_defender に設定されていることを確かめます。 次に、 次へ>Launch を選択してテンプレートを実行します。

Azure Arc 拡張機能を起動するウィンドウのスクリーンショット。

エラーが報告されない場合、拡張機能はすぐに有効化され、該当するサーバー上でアクティブになります。 その後、先に進み、テンプレート内の拡張機能変数を変更することで、他の拡張機能を有効 (または無効) にできます。