ゲストポリシー(レガシー)を管理する


ゲストポリシーを作成したら、次の手順でポリシーを確認、管理できます。

OS Config エージェントは 10~15 分ごとに動作するため、ポリシーの更新や削除を設定すると、実施されるまで約 10~15 分かかります。

ゲストポリシーは、Google Cloud CLI または REST を使用して管理できます。

準備

  • OS Config の割り当てを確認します。
  • まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。

    このページのサンプルをどのように使うかに応じて、タブを選択してください。

    gcloud

    1. Google Cloud CLI をインストールし、次のコマンドを実行して初期化します。

      gcloud init
    2. デフォルトのリージョンとゾーンを設定します

    REST

    このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

      Google Cloud CLI をインストールし、次のコマンドを実行して初期化します。

      gcloud init

ゲストポリシーを更新する

ゲストポリシーの更新は、次の手順で行います。

  1. YAML または JSON ファイルを更新します。
  2. 更新コマンドまたはパッチコマンドを実行します。更新プロセスは作成プロセスと似ていますが、同時実行と整合性の制御が可能な 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 がインストールされているインスタンスでは、パッケージは更新されません。

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 を使用して、プロジェクトに関連付けられているゲストポリシーを調べることができます。

コンソール

  1. Google Cloud Console で、[OS ゲストポリシー] ページに移動します。

    [OS ゲストポリシー] ページに移動する

  2. 検査するゲストポリシーを選択して、[詳細を表示] をクリックします。

gcloud

  1. os-config guest-policies list コマンドを使用して、すべてのゲストポリシーを一覧表示します。

    gcloud beta compute os-config guest-policies list
    
  2. ゲストポリシーのリストから、検査するゲストポリシーの 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 名接頭辞のリストに表示されていません。

障害から復旧する

ソフトウェア レシピのインストールは失敗しても、再試行されません。これは、ソフトウェア レシピが失敗したときの状態がシステムで認識されないためです。

失敗したソフトウェア レシピをデバッグする場合は、次の手順を行うことをおすすめします。

  1. ソフトウェア レシピの名前を変更する。
  2. 名前を変更したソフトウェア レシピを使用してゲストポリシーを削除して再作成する。

その他のトラブルシューティングの手順については、VM Manager のトラブルシューティングをご覧ください。

次のステップ