マシン構成の修復オプション
開始する前に、マシン構成の概要ページを参照することをお勧めします。
重要
Azure 仮想マシンには、マシン構成拡張機能が必要です。 すべてのマシンに対して大規模な拡張を展開するために、次のようなポリシー イニシアティブを割り当ててください: Deploy prerequisites to enable guest configuration policies on virtual machines
マシン構成パッケージを使って構成を行うには、Azure VM ゲスト構成拡張のバージョン 1.26.24 以降、または Arc エージェントのバージョン 1.10.0 以降が必要です。
AuditIfNotExists
および DeployIfNotExists
を使用するカスタム マシンの構成ポリシー定義は、一般公開 (GA) サポート状態です。
マシン構成で修復を管理する方法 (設定)
マシン構成では、マシン内で変更を配信する定義にポリシー結果 DeployIfNotExists が使用されます。 ポリシー割り当てのプロパティを設定して、評価で構成を自動的またはオンデマンドで配信する方法を制御します。
マシン構成の割り当ての種類
ゲストの割り当ての作成時に使用できる割り当ての種類は 3 つあります。 このプロパティは、DeployIfNotExists
をサポートするマシン構成定義のパラメーターとして使用できます。
assignmentType プロパティでは大文字と小文字が区別されます
割り当ての種類 | 動作 |
---|---|
Audit |
マシンの状態は報告されますが、変更は行われません。 |
ApplyAndMonitor |
マシンに 1 回適用され、変更が監視されます。 構成がドリフトして NonCompliant になった場合は、修復がトリガーされない限り、自動的に修正されません。 |
ApplyAndAutoCorrect |
マシンに適用されます。 ドリフトした場合、マシン内のローカル サービスは次の評価で修正されます。 |
新しいポリシー割り当てが既存のマシンに割り当てられると、ゲストの割り当てが自動的に作成され、最初に構成の状態が監査されます。 監査では、修復が必要なマシンを決定するために使用できる情報が得られます。
オンデマンド修復 (ApplyAndMonitor)
既定では、マシン構成の割り当てはオンデマンド修復シナリオで操作します。 構成が適用され、その後、準拠からドリフトすることが許可されます。
ゲスト割り当てのコンプライアンス状態は、次のどちらでもない限り、Compliant
です。
- 構成の適用中にエラーが発生する
- 次の評価中にマシンが目的の状態でなくなった場合
これらの条件のいずれかが満たされると、エージェントによって状態が NonCompliant
として報告され、自動的に修復されません。
この動作を有効にするには、マシン構成の割り当ての assignmentType プロパティを ApplyandMonitor
に設定します。 マシン内で割り当てが処理されるたびに、Test メソッドで $true
が返された場合は各リソースについて Compliant
が、このメソッドで $false
が返された場合は NonCompliant
がエージェントによって報告されます。
継続的修復 (autocorrect)
マシン構成では、継続的修復の概念がサポートされています。 マシンが構成のコンプライアンスからドリフトした場合、次回の評価時に構成が自動的に修正されます。 エラーが発生しない限り、マシンでは構成の状態が常に Compliant
として報告されます。 継続的修復を使用する場合、ドリフトが自動的に修正された時間を報告する方法はありません。
この動作を有効にするには、マシン構成の割り当ての assignmentType プロパティを ApplyandAutoCorrect
に設定します。 マシン内で割り当てが処理されるたびに、各リソースについて Set メソッドが自動的に実行され、Test メソッドにより false
が返されます。
修復を無効にする
assignmentType プロパティが Audit
に設定されている場合、エージェントではマシンの監査のみが実行され、準拠していない場合に構成の修復は試みられません。
カスタム コンテンツの修復を無効にする
カスタム コンテンツ パッケージの割り当ての種類プロパティをオーバーライドするには、マシンに CustomGuestConfigurationSetPolicy という名前のタグを追加し、値を disable
にします。 このタグを追加すると、Microsoft によって提供される組み込みコンテンツではなく、カスタム コンテンツ パッケージの修復だけが無効になります。
Azure Policy の強制
Azure Policy の割り当てには、新しいリソースと既存のリソースの動作を決定する必須のプロパティである強制モードが含まれています。 構成をマシンに自動的に適用するかどうかを制御するには、このプロパティを使用します。
既定では、強制は Enabled
に設定されています。 新しいマシンのデプロイ時に、Azure Policy によって構成が自動的に適用されます。 また、カテゴリ Guest Configuration
内のポリシーを持つ Azure Policy 割り当てのスコープ内のマシンのプロパティが更新されるときにも、構成が適用されます。 更新操作には、タグの追加や変更など、Azure Resource Manager で発生するアクションが含まれます。 更新操作には、ディスクのサイズ変更や接続などの仮想マシンの変更も含まれます。
Azure のマシン リソースに変更が発生したときに構成を修復する必要がある場合は、強制を有効のままにします。 マシン内で発生した変更では、Azure Resource Manager のマシン リソースが変更されない限り、自動修復はトリガーされません。
強制が Disabled
に設定されている場合は、修復タスクで動作が変更されるまで、構成の割り当てによってマシンの状態が監査されます。 既定では、マシン構成定義によって assignmentType プロパティが Audit
から ApplyandMonitor
に更新され、構成が 1 回適用されて、修復がトリガーされるまで再度適用されません。
オプション: 既存のすべてのマシンを修復する
Azure portal から Azure Policy の割り当てを作成する場合は、[修復] タブの [修復タスクの作成] というラベルのチェック ボックスを利用できます。 このチェック ボックスをオンにすると、ポリシーの割り当ての作成後、NonCompliant
に評価されるリソースが、修復タスクによって自動的に修正されます。
マシン構成に対するこの設定の効果は、ポリシーを割り当てることにより、多数のマシンに構成をデプロイできることです。 また、準拠していないマシンに対して修復タスクを手動で実行する必要がありません。
Azure Policy の外部で手動で修復をトリガーする
更新によってリソースのプロパティが変更されない場合でも、ゲスト割り当てのリソースを更新することで、Azure Policy エクスペリエンスの外部で修復を調整できます。
マシン構成の割り当てが作成されると、complianceStatus プロパティが Pending
に設定されます。 マシン構成サービスは、5 分ごとに割り当ての一覧を要求します。 マシン構成の割り当ての complianceStatus が Pending
で、その configurationMode が ApplyandMonitor
または ApplyandAutoCorrect
の場合、マシン内のサービスによって構成が適用されます。
構成の適用後、動作をコンプライアンスの状態の報告のみでドリフトを許可するようにするか、自動的に修正されるようにするかが、構成モードによって決定されます。
設定の組み合わせについて理解する
~ | Audit | ApplyandMonitor | ApplyandAutoCorrect |
---|---|---|---|
強制の有効化 | 状態の報告のみ | 構成は VM の作成時に適用され、更新時に再適用されるが、それ以外の場合はドリフトが許可される | 構成は VM の作成時に適用され、更新時に再適用され、ドリフトが発生した場合は次の間隔で修正される |
強制の無効化 | 状態の報告のみ | 構成が適用されるが、ドリフトが許可される | 構成が VM に適用され、作成または更新されて、ドリフトが発生した場合に次の間隔で修正される |
次のステップ
- カスタムのマシンの構成パッケージを開発する。
- GuestConfiguration モジュールを使用して、環境を大規模に管理するための Azure Policy の定義を作成する。
- Azure portal を使用してカスタム ポリシー定義を割り当てる。
- マシン構成のポリシー割り当てのコンプライアンスの詳細を確認する方法を学ぶ。