ゲストポリシーを作成したら、次の手順でポリシーを確認、管理できます。
- ゲストポリシーを更新する: ゲストポリシーの構成を変更します。
- ゲストポリシーについて記述する: 特定のゲストポリシーについての詳細です。
- ゲストポリシーをリストする: プロジェクト内のゲストポリシーを一覧表示します。
- ゲストを削除する: 特定のゲストポリシーを削除します。
- VM インスタンスの構成を表示する: VM インスタンスに適用されている構成を表示します。
- ゲストポリシーをデバッグする: ゲストポリシーをトラブルシューティングします。
OS Config エージェントは 10~15 分ごとに動作するため、ポリシーの更新や削除を設定すると、実施されるまで約 10~15 分かかります。
ゲストポリシーは、Google Cloud CLI または REST を使用して管理できます。
準備
- OS Config の割り当てを確認します。
-
まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。
このページのサンプルをどのように使うかに応じて、タブを選択してください。
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- デフォルトのリージョンとゾーンを設定します。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
ゲストポリシーを更新する
ゲストポリシーの更新は、次の手順で行います。
- YAML または JSON ファイルを更新します。
- 更新コマンドまたはパッチコマンドを実行します。更新プロセスは作成プロセスと似ていますが、同時実行と整合性の制御が可能な ETag のサポートが追加されています。
gcloud
os-config guest-policies update
コマンドを使用してゲストポリシーを更新します。
gcloud beta compute os-config guest-policies update POLICY_ID \ --file=FILE
以下を置き換えます。
POLICY_ID
: 更新するゲストポリシーの名前。FILE
: 更新されたゲストポリシー仕様を含む JSON または YAML ファイル。
REST
API で、projects.guestPolicies.patch
メソッドに対する PATCH
リクエストを作成します。
PATCH https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies/POLICY_ID { For more information, see Guest policy JSON }
以下を置き換えます。
PROJECT_ID
: プロジェクト ID。POLICY_ID
: ゲストポリシーの名前。
ゲストポリシーについて記述する
gcloud
ゲストポリシーについての詳細を表示するには、os-config guest-policies describe
コマンドを使用します。POLICY_ID
は、記述するゲストポリシーの名前に置き換えます。
gcloud beta compute os-config guest-policies describe POLICY_ID
REST
API で、projects.guestPolicies.get
メソッドに対する GET
リクエストを作成します。
GET https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies/POLICY_ID
以下を置き換えます。
PROJECT_ID
: プロジェクト ID。POLICY_ID
: ゲストポリシーの名前。
ゲストポリシーを一覧表示する
gcloud
プロジェクト内のゲストポリシーの一覧を表示するには、os-config guest-policies list
コマンドを使用します。
gcloud beta compute os-config guest-policies list
REST
API で、projects.guestPolicies.list
メソッドに対する GET
リクエストを作成します。PROJECT_ID
は、実際のプロジェクト ID に置き換えます。
GET https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies
ゲストポリシーを削除する
ゲストポリシーの削除がトリガーされたことを OS Config エージェントが検出すると、システムの現在の状態は維持されますが、構成にはメンテナンスが行われなくなります。たとえば、ゾーン us-west2-b
のすべての VM でパッケージ my-package
をインストールし、パッケージ UPDATED
を保持するゲストポリシー package-update-zone2b
が設定されているとします。
package-update-zone2b
ポリシーを削除すると、次の変更が行われます。
my-package
がインストールされているus-west2-b
のすべての VM で、my-package
がインストールされたままになります。現在のシステム状態は元に戻りません。ポリシーを削除した後は、OS Config エージェントを実行すると、必ず次のようになります。
- 新しい VM が
us-west2-b
に追加された場合、my-package
がこの新しい VM にインストールされません。 my-package
がインストールされているインスタンスでは、パッケージは更新されません。
- 新しい VM が
gcloud
ゲストポリシーを削除するには、os-config guest-policies delete
コマンドを使用します。POLICY_ID
は、削除するゲストポリシーの名前に置き換えます。
gcloud beta compute os-config guest-policies delete POLICY_ID
REST
API で、projects.guestPolicies.delete
メソッドに対する DELETE
リクエストを作成します。
DELETE https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies/POLICY_ID
以下を置き換えます。
PROJECT_ID
: プロジェクト ID。POLICY_ID
: ゲストポリシーの名前。
VM インスタンスの構成を表示する
gcloud
ひとつの VM インスタンスだけに適用されているポリシーを表示するには、os-config guest-policies lookup
コマンドを使用します。
gcloud beta compute os-config guest-policies lookup VM_NAME \ --zone=ZONE
以下を置き換えます。
VM_NAME
: VM インスタンスの名前ZONE
: VM インスタンスのゾーン。
REST
ひとつの VM インスタンスだけに適用されているポリシーを表示するには、次の POST
リクエストを使用します。
POST https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME:lookupEffectiveGuestPolicy
以下を置き換えます。
PROJECT_ID
: プロジェクト ID。ZONE
: VM インスタンスのゾーン。VM_NAME
: VM インスタンスの名前。
トラブルシューティング
ゲストポリシーを調べる
Google Cloud コンソールまたは Google Cloud CLI を使用して、プロジェクトに関連付けられているゲストポリシーを調べることができます。
コンソール
Google Cloud Console で、[OS ゲストポリシー] ページに移動します。
検査するゲストポリシーを選択して、[詳細を表示] をクリックします。
gcloud
os-config guest-policies list
コマンドを使用して、すべてのゲストポリシーを一覧表示します。gcloud beta compute os-config guest-policies list
ゲストポリシーのリストから、検査するゲストポリシーの ID をコピーしてから、コマンドを実行してそれぞれのゲストポリシーを検査します。
POLICY_ID
を、調べるポリシー ID に置き換えます。gcloud beta compute os-config guest-policies describe POLICY_ID
特定の VM に対するゲストポリシーを調べる
lookup
コマンドを特定の VM に実行して、その VM に適用される構成を調べることができます。
ある VM インスタンスが予想されるゲストポリシーの要件を満たしていない可能性がある場合は、その VM インスタンスに割り当てられているゲストポリシーのリストを調べると役立ちます。これにより、ゲストポリシーの Assignment
フィールドがこの特定 VM と一致するかどうかがわかります。
os-config guest-policies lookup
コマンドを使用して、特定の VM をターゲットにしている可能性があるゲストポリシーを一覧表示します。VM_NAME
は、検査する VM の名前に置き換えます。
gcloud beta compute os-config guest-policies lookup VM_NAME
詳しくは、VM インスタンスの構成を表示するをご覧ください。
コマンドの出力結果から、ゲストポリシーの VM 割り当てプロパティで VM は実際にターゲットになっていないことがわかるでしょう。たとえば、Labels
のリストや VM 名接頭辞のリストに表示されていません。
障害から復旧する
ソフトウェア レシピのインストールは失敗しても、再試行されません。これは、ソフトウェア レシピが失敗したときの状態がシステムで認識されないためです。
失敗したソフトウェア レシピをデバッグする場合は、次の手順を行うことをおすすめします。
- ソフトウェア レシピの名前を変更する。
- 名前を変更したソフトウェア レシピを使用してゲストポリシーを削除して再作成する。
その他のトラブルシューティングの手順については、VM Manager のトラブルシューティングをご覧ください。
次のステップ
- OS ゲストポリシー(従来)について学習する。
- ゲストポリシーを設定する。