Azure Automanage のマシン構成機能の概要

注意

Azure Policy ゲスト構成は、Azure Automanage マシン構成と呼ばれるようになりました。 Microsoft 構成管理サービスの最近の名前変更の詳細を確認してください。

Azure Policy のマシン構成機能を使用すると、Azure で実行されているコンピューターとハイブリッド Arc 対応のコンピューターの両方で、オペレーティングシステムの設定をコードとして監査または構成することができます。 この機能は、コンピューターごとに直接使用することも、Azure Policy によって調整することもできます。

Azure の構成リソースは、拡張リソースとして設計されています。 各構成は、コンピューターのプロパティの追加のセットと考えることができます。 構成には、次のような設定を含めることができます。

  • オペレーティング システムの設定
  • アプリケーションの構成または存在
  • 環境設定

構成は、ポリシー定義とは別です。 マシン構成では Azure Policy を利用して、構成をコンピューターに動的に割り当てます。 手動で、あるいは Automanage など他の Azure サービスを利用して、コンピューターに設定を割り当てることもできます。

各シナリオの例を次の表に示します。

説明 ストーリーの例
構成管理 ソース管理のコードとして、サーバーの完全な表現が必要です。 展開には、サーバーのプロパティ (サイズ、ネットワーク、記憶域) とオペレーティングシステムとアプリケーションの設定の構成が含まれている必要があります。 "このコンピューターは、web サイトをホストするように構成された web サーバーである必要があります。"
コンプライアンス スコープ内のすべてのコンピューターの設定を、既存のコンピューターにリアクティブに適用するか、展開時に新しいコンピューターに事前に展開することをお勧めします。 "すべてのコンピューターは TLS 1.2 を使用する必要があります。 既存のマシンを監査して、必要に応じて大規模な変更を行うことができます。 新しいコンピューターの場合は、展開時に設定を適用します。

構成による設定の結果は、[ ゲストの割り当て] ページ で確認できます。または、構成が Azure Policy 割り当てによって調整されている場合は、[ 対応の詳細] ページの [最後に評価されたリソース] リンクをクリックすると表示されます。

このドキュメントのビデオ チュートリアルを利用できます。 (近日公開予定)

マシン構成を有効にする

環境内のマシン (Azure 内のマシンと Arc 対応サーバーを含む) の状態を管理するには、以下の詳細を確認します。

リソース プロバイダー

Azure Policy のマシン構成機能を使用するには、その前に、Microsoft.GuestConfiguration リソース プロバイダーを登録する必要があります。 マシン構成ポリシーの割り当てがポータルを通じて行われた場合、またはサブスクリプションが Microsoft Defender for Cloud に登録されている場合は、リソース プロバイダーが自動的に登録されます。 ポータルAzure PowerShell、または Azure CLI を使用して手動で登録できます。

Azure 仮想マシンの要件をデプロイする

マシン内の設定を管理するには、仮想マシン拡張機能を有効にします。また、マシンにはシステム マネージド ID が必要です。 拡張機能によって、適用可能なマシン構成割り当てと、対応する依存関係がダウンロードされます。 ID は、マシンによるマシン構成サービスの読み取りと書き込みを認証するために使用されます。 この拡張機能は Arc 接続マシン エージェントに含まれているため、Arc 対応サーバーには必要ありません。

重要

Azure 仮想マシンを管理するには、マシン構成拡張機能とマネージド ID が必要です。

多くのマシンに拡張機能を大規模にデプロイするには、ポリシー イニシアティブ を割り当てますDeploy prerequisites to enable machine configuration policies on virtual machines対象は、管理しようとしているマシンが含まれる管理グループ、サブスクリプション、またはリソース グループです。

拡張機能とマネージド ID を 1 台のマシンにデプロイしたい場合は、それぞれのガイダンスに従ってください。

構成を適用するマシン構成パッケージを使用するには、Azure VM ゲスト構成拡張機能のバージョン 1.29.24 以降が必要です。

拡張機能に設定されている制限

マシン内で実行されているアプリケーションへの拡張機能の影響を制限するため、マシン構成エージェントが CPU の 5% を超えることは許可されません。 この制限は、組み込み定義とカスタム定義の両方に存在します。 これは、Arc 接続マシン エージェントのマシン構成サービスにも当てはまります。

検証ツール

マシン内では、マシン構成エージェントによりローカル ツールを使用してタスクが実行されます。

次の表では、サポートされている各オペレーティング システム上で使用されるローカル ツールの一覧を示します。 組み込みコンテンツの場合は、マシン構成によってこれらのツールの読み込みが自動的に処理されます。

オペレーティング システム 検証ツール Notes
Windows PowerShell Desired State Configuration v3 Azure Policy でのみ使用されるフォルダーにサイドローディングされます。 Windows PowerShell DSC と競合しません。 PowerShell Core はシステム パスに追加されません。
Linux PowerShell Desired State Configuration v3 Azure Policy でのみ使用されるフォルダーにサイドローディングされます。 PowerShell Core はシステム パスに追加されません。
Linux Chef InSpec Chef InSpec バージョン 2.2.61 が既定の場所にインストールされ、システム パスに追加されます。 Ruby と Python を含む InSpec パッケージの依存関係もインストールされます。

検証の頻度

マシン構成エージェントによって、新しい、または変更されたゲスト割り当てが、5 分ごとにチェックされます。 ゲスト割り当てを受信すると、その構成の設定が 15 分間隔でチェックされます。 複数の構成が割り当てられている場合は、1 つずつ順番に評価されます。 前の構成が完了するまで、次の構成は実行されないため、実行時間の長い構成は、すべての構成の間隔に影響します。

監査が完了すると、結果がマシン構成サービスに送信されます。 ポリシー評価トリガーが発生すると、マシンの状態がマシン構成リソース プロバイダーに書き込まれます。 この更新により、Azure Policy によって Azure Resource Manager のプロパティが評価されます。 オンデマンドの Azure Policy 評価により、マシン構成リソース プロバイダーから最新の値が取得されます。 ただし、マシン内で新しいアクティビティがトリガーされることはありません。 その後、状態は Azure Resource Graph に書き込まれます。

サポートされているクライアントの種類

マシン構成ポリシー定義には、新しいバージョンが含まれます。 ゲスト構成クライアントに互換性がない場合、Azure Marketplace で入手できる古いバージョンのオペレーティング システムは除外されます。 次の表に、Azure イメージでサポートされているオペレーティング システムを示します。 テキスト ".x" は、Linux ディストリビューションの新しいマイナー バージョンを表すシンボルです。

Publisher 名前 バージョン
Amazon Linux 2
Canonical Ubuntu Server 14.04 - 20.x
Credativ Debian 8 - 10.x
Microsoft Windows Server 2012 - 2022
Microsoft Windows クライアント Windows 10
Oracle Oracle-Linux 7.x - 8.x
OpenLogic CentOS 7.3 -8.x
Red Hat Red Hat Enterprise Linux* 7.4 - 8.x
SUSE SLES 12 SP3-SP5、15.x

* Red Hat CoreOS はサポートされていません。

カスタム仮想マシン イメージは、上の表のいずれかのオペレーティング システムである限り、マシン構成ポリシー定義によってサポートされます。

ネットワークの要件

Azure の仮想マシンは、ローカル仮想ネットワーク アダプター (vNIC) または Azure Private Link を使用して、マシン構成サービスと通信できます。

Azure Arc 対応マシンは、オンプレミスのネットワーク インフラストラクチャを使用して接続し、Azure サービスにアクセスして、コンプライアンスの状態を報告します。

Azure と Azure Arc 対応仮想マシンが Azure のマシン構成リソース プロバイダーと通信するために必要な Azure Storage エンドポイントの一覧を次に示します。

  • oaasguestconfigac2s1.blob.core.windows.net
  • oaasguestconfigacs1.blob.core.windows.net
  • oaasguestconfigaes1.blob.core.windows.net
  • oaasguestconfigases1.blob.core.windows.net
  • oaasguestconfigbrses1.blob.core.windows.net
  • oaasguestconfigbrss1.blob.core.windows.net
  • oaasguestconfigccs1.blob.core.windows.net
  • oaasguestconfigces1.blob.core.windows.net
  • oaasguestconfigcids1.blob.core.windows.net
  • oaasguestconfigcuss1.blob.core.windows.net
  • oaasguestconfigeaps1.blob.core.windows.net
  • oaasguestconfigeas1.blob.core.windows.net
  • oaasguestconfigeus2s1.blob.core.windows.net
  • oaasguestconfigeuss1.blob.core.windows.net
  • oaasguestconfigfcs1.blob.core.windows.net
  • oaasguestconfigfss1.blob.core.windows.net
  • oaasguestconfiggewcs1.blob.core.windows.net
  • oaasguestconfiggns1.blob.core.windows.net
  • oaasguestconfiggwcs1.blob.core.windows.net
  • oaasguestconfigjiws1.blob.core.windows.net
  • oaasguestconfigjpes1.blob.core.windows.net
  • oaasguestconfigjpws1.blob.core.windows.net
  • oaasguestconfigkcs1.blob.core.windows.net
  • oaasguestconfigkss1.blob.core.windows.net
  • oaasguestconfigncuss1.blob.core.windows.net
  • oaasguestconfignes1.blob.core.windows.net
  • oaasguestconfignres1.blob.core.windows.net
  • oaasguestconfignrws1.blob.core.windows.net
  • oaasguestconfigqacs1.blob.core.windows.net
  • oaasguestconfigsans1.blob.core.windows.net
  • oaasguestconfigscuss1.blob.core.windows.net
  • oaasguestconfigseas1.blob.core.windows.net
  • oaasguestconfigsecs1.blob.core.windows.net
  • oaasguestconfigsfns1.blob.core.windows.net
  • oaasguestconfigsfws1.blob.core.windows.net
  • oaasguestconfigsids1.blob.core.windows.net
  • oaasguestconfigstzns1.blob.core.windows.net
  • oaasguestconfigswcs1.blob.core.windows.net
  • oaasguestconfigswns1.blob.core.windows.net
  • oaasguestconfigswss1.blob.core.windows.net
  • oaasguestconfigswws1.blob.core.windows.net
  • oaasguestconfiguaecs1.blob.core.windows.net
  • oaasguestconfiguaens1.blob.core.windows.net
  • oaasguestconfigukss1.blob.core.windows.net
  • oaasguestconfigukws1.blob.core.windows.net
  • oaasguestconfigwcuss1.blob.core.windows.net
  • oaasguestconfigwes1.blob.core.windows.net
  • oaasguestconfigwids1.blob.core.windows.net
  • oaasguestconfigwus2s1.blob.core.windows.net
  • oaasguestconfigwus3s1.blob.core.windows.net
  • oaasguestconfigwuss1.blob.core.windows.net

Azure の仮想ネットワークを介して通信する

Azure のマシン構成リソース プロバイダーと通信するには、マシンはポート 443 で Azure データセンターに対してアウトバウンド アクセスを行う必要があります。 Azure 内のネットワークで送信トラフィックが許可されていない場合は、ネットワーク セキュリティ グループの規則で例外を構成します。 Azure データセンターの IP 範囲の一覧を手動で管理するのではなく、サービス タグ "AzureArcInfrastructure" と "Storage" を使用して、ゲスト構成とストレージのサービスを参照できます。 マシン構成のコンテンツ パッケージは Azure Storage によってホストされるため、両方のタグが必要です。

仮想マシンは、マシン構成サービスとの通信に Private Link を使用できます。 この機能を有効にするには、名前 EnablePrivateNetworkGC と値 TRUE を使用してタグを適用します。 タグは、マシン構成ポリシー定義をマシンに適用する前または後に適用できます。

Azure 仮想パブリック IP アドレスを使用してトラフィックがルーティングされて、Azure プラットフォーム リソースとの、セキュリティで保護された認証済みチャネルが確立されます。

Azure Arc 対応サーバー

Azure Arc によって接続されている Azure の外部にあるノードには、マシン構成サービスへの接続が必要です。 ネットワークとプロキシの要件に関する詳細は、Azure Arc のドキュメントで提供されています。

プライベート データセンターの Arc 対応サーバーについては、次のパターンを使用してトラフィックを許可します。

  • ポート: 送信インターネット アクセスには TCP 443 のみが必要です
  • グローバル URL: *.guestconfiguration.azure.com

Azure 外部のコンピューターにポリシーを割り当てる

マシン構成に使用できる監査ポリシー定義には、Microsoft.HybridCompute/machines リソースの種類が含まれます。 ポリシー割り当てのスコープ内にあるサーバー向け Azure Arc にオンボードされているすべてのマシンが自動的に追加されます。

マネージド ID の要件

イニシアチブ "仮想マシンでゲスト構成ポリシーを有効にするための前提条件をデプロイする" のポリシー定義を使用すると、システムによって割り当てられたマネージド ID が有効になります (まだ存在しない場合)。 ID の作成を管理するイニシアチブには、2 つのポリシー定義があります。 ポリシー定義内の IF 条件により、Azure のマシン リソースの現在の状態に基づいて正しい動作が保証されます。

重要

これらの定義により、既存の User-Assigned ID (存在する場合) に加えて、ターゲット リソースに システム割り当てマネージド ID が作成されます。 既存のアプリケーションでは、ユーザー割り当て ID を要求で指定しない限り、マシンでは既定でシステム割り当て ID が代わりに使用されます。 詳細情報

現時点でマシンにマネージド ID がない場合、有効なポリシーは次のようになります: ID のない仮想マシンでマシン構成の割り当てを有効にするためにシステム割り当てマネージド ID を追加する

現時点でマシンにユーザー割り当てのシステム ID がある場合、有効なポリシーは次のようになります: ユーザー割り当て ID がある VM でマシン構成の割り当てを有効にするためにシステム割り当てマネージド ID を追加する

可用性

ゲスト割り当ては Azure のマシン リソースの拡張機能であるため、高可用性ソリューションを設計しているお客様は、仮想マシンの冗長性計画の要件を検討する必要があります。 ペアになっている Azure リージョンにゲスト割り当てリソースがプロビジョニングされている場合、ペアの少なくとも一方のリージョンが使用可能であれば、ゲスト割り当てレポートを使用できます。 ペアになっていない Azure リージョンが使用できなくなった場合は、リージョンが復元されるまで、ゲスト割り当てのレポートにアクセスすることはできません。

高可用性アプリケーションのアーキテクチャを検討する場合 (特に、高可用性を提供するためにロード バランサー ソリューションの背後にある可用性セットに仮想マシンがプロビジョニングされている場合)、ソリューション内のすべてのマシンに、同じパラメーターを含む同じポリシー定義を割り当てるのがベスト プラクティスです。 可能であれば、すべてのマシンにまたがる単一のポリシー割り当てを採用することにより、管理オーバーヘッドが最小限に抑えられます。

Azure Site Recovery によって保護されているマシンの場合は、プライマリ サイト内のマシンと同じパラメーター値を使用した同じ定義の Azure Policy 割り当てのスコープ内にセカンダリ サイト内のマシンを入れるようにします。

データの保存場所

マシン構成により、顧客データが格納および処理されます。 既定では、顧客データはペアのリージョンにレプリケートされます。リージョン: シンガポール、ブラジル南部、およびアジア太平洋のすべての顧客データがリージョンで格納および処理されます。

マシン構成のトラブルシューティング

マシン構成のトラブルシューティングの詳細については、Azure Policy のトラブルシューティングに関する記事を参照してください。

複数の割り当て

ポリシー割り当てで異なるパラメーターが使用されている場合、ゲスト構成ポリシー定義では、同じゲスト割り当てをマシンごとに複数回割り当てることができるようになりました。

Azure 管理グループへの割り当て

"ゲスト構成" カテゴリの Azure Policy 定義は、効果が "AuditIfNotExists" の場合にのみ管理グループに割り当てることができます。 効果が "DeployIfNotExists" のポリシー定義は、管理グループに割り当てることはできません。

クライアントのログ ファイル

ログ ファイルは、マシン構成拡張機能によって次の場所に書き込まれます。

Windows

  • Azure VM: C:\ProgramData\GuestConfig\gc_agent_logs\gc_agent.log
  • Arc 対応サーバー: C:\ProgramData\GuestConfig\arc_policy_logs\gc_agent.log

Linux

  • Azure VM: /var/lib/GuestConfig/gc_agent_logs/gc_agent.log
  • Arc 対応サーバー: /var/lib/GuestConfig/arc_policy_logs/gc_agent.log

ログのリモート収集

マシン構成またはモジュールのトラブルシューティングでは最初に、コマンドレットを使用して、「マシン構成パッケージの成果物をテストする方法」の手順を実行する必要があります。 それでうまくいかない場合は、クライアント ログを収集すると問題の診断に役立ちます。

Windows

Azure VM の実行コマンドを使用して、ログ ファイルから情報をキャプチャします。次の PowerShell スクリプトの例が役立ちます。

$linesToIncludeBeforeMatch = 0
$linesToIncludeAfterMatch = 10
$logPath = 'C:\ProgramData\GuestConfig\gc_agent_logs\gc_agent.log'
Select-String -Path $logPath -pattern 'DSCEngine','DSCManagedEngine' -CaseSensitive -Context $linesToIncludeBeforeMatch,$linesToIncludeAfterMatch | Select-Object -Last 10

Linux

Azure VM の実行コマンドを使用して、ログ ファイルから情報をキャプチャします。次の Bash スクリプトの例が役立ちます。

linesToIncludeBeforeMatch=0
linesToIncludeAfterMatch=10
logPath=/var/lib/GuestConfig/gc_agent_logs/gc_agent.log
egrep -B $linesToIncludeBeforeMatch -A $linesToIncludeAfterMatch 'DSCEngine|DSCManagedEngine' $logPath | tail

エージェント ファイル

マシン構成エージェントにより、コンテンツ パッケージがマシンにダウンロードされて、内容が抽出されます。 どのコンテンツがダウンロードされ、保管されたか確認するには、下に示すフォルダーの場所を参照します。

Windows: c:\programdata\guestconfig\configuration

Linux: /var/lib/GuestConfig/Configuration

マシン構成のサンプル

マシン構成の組み込みポリシーのサンプルは、次の場所で入手できます。

次のステップ