このドキュメントでは、VM 拡張機能ポリシーを作成して、Compute Engine 仮想マシン(VM)のフリートで拡張機能を自動的にインストールして管理する方法について説明します。ポリシーを定義すると、VM ラベルなどの指定した条件に一致する VM に特定の拡張機能がインストールされ、維持されるようになります。
始める前に
- 次のコマンドを実行して、ベータ版コンポーネントをインストールします。
gcloud components install beta
- VM Extension Manager の基本を確認します。
- VM Extension Manager の割り当てを確認します。
- Google Cloud プロジェクトで Compute Engine API が有効になっていない場合は、有効にします。
- VM でゲスト エージェント バージョン
20241209.01以降が実行されていることを確認します。 - VM Extension Manager イベントのデバッグログを表示するには、ゲスト エージェントのログ設定を構成します。
-
まだ設定していない場合は、認証を設定します。認証では、 Google Cloud サービスと API にアクセスするための ID が確認されます。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Google Cloud CLI をインストールします。 インストール後、次のコマンドを実行して Google Cloud CLI を初期化します。
gcloud init外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
- Set a default region and zone.
必要な IAM のロール
拡張機能ポリシーの作成に必要な権限を取得するには、管理者に VM 拡張機能ポリシー管理者 (
roles/compute.vmExtensionPolicyAdmin)の IAM ロールの付与を依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。この事前定義ロールには、拡張機能ポリシーの作成に必要な
compute.vmExtensionPolicies.create権限が含まれています。カスタムロールや他の事前定義ロールを使用して、この権限を取得することもできます。
Compute Engine の IAM ロールと権限の詳細については、Compute Engine のロールと権限をご覧ください。
VM 拡張機能ポリシーを作成する
VM 拡張機能ポリシーを作成するには、次のいずれかの方法を使用します。このポリシーは、インストールする拡張機能とインストール先の VM を定義します。
コンソール
- Google Cloud コンソールで、[VM 拡張機能ポリシー] ページに移動します。
- [拡張機能ポリシーを作成] をクリックします。
- [名前] フィールドに、ポリシーの名前を入力します。
- 省略可: [説明] フィールドに、ポリシーの説明を入力します。
- [優先度] フィールドで、ポリシー間の競合を解決するための優先度番号を指定します。数字が小さいほど優先度が高くなります。デフォルト値は 1,000 です。
- [ゾーン] リストで、このポリシーを適用するゾーンを選択します。
- [拡張機能] セクションで、[拡張機能を追加] をクリックし、ターゲット VM にインストールする拡張機能ごとに次の操作を行います。
- [拡張機能] リストから拡張機能を選択します。サポートされている拡張機能をご覧ください。
- [バージョン] リストで、拡張機能のバージョン番号を指定します。最新バージョンを選択する場合は、空白のままにします。
- Ops エージェントの場合は、バージョン
2.58.0以降を指定できます。 - Extension for SAP ワークロードと Extension for Compute ワークロードの場合は、フィールドを空白のままにして最新バージョンを選択します。
- Ops エージェントの場合は、バージョン
- 省略可: [構成ファイルの内容] フィールドに、拡張機能の構成パラメータを入力します。
- [ターゲット VM インスタンス] セクションで、ポリシーの VM を選択します。特定のラベルを持つ VM を選択するには、[ラベルを追加] をクリックして Key-Value ペアを追加します。
- [作成] をクリックします。
gcloud
VM 拡張機能ポリシーを作成し、特定のゾーンの VM にポリシーをロールアウトするには、
gcloud beta compute zone-vm-extension-policies createコマンドを使用します。gcloud beta compute zone-vm-extension-policies create POLICY_NAME \ --zone=ZONE \ --description="DESCRIPTION" \ --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \ --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \ --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \ --inclusion-labels=KEY_1=VALUE_1 \ --priority=PRIORITY
次のように置き換えます。
POLICY_NAME: VM 拡張機能ポリシーの名前。ZONE: このポリシーが適用されるゾーン。DESCRIPTION: ポリシーの説明(省略可)。EXTENSION_NAME_1、EXTENSION_NAME_2: ポリシーに追加する拡張機能のカンマ区切りリスト。拡張機能を少なくとも 1 つ指定する必要があります。拡張機能の有効な値は次のとおりです。ops-agentgoogle-cloud-sap-extensiongoogle-cloud-workload-extension
EXTENSION_NAME_1=VERSION_1、EXTENSION_NAME_2=VERSION_2: Key-Value ペアのカンマ区切りのリスト。Key は拡張機能名、Value は拡張機能のバージョンです。拡張機能のバージョンを指定しない場合、VM 拡張機能マネージャーは利用可能な最新バージョンを使用し、新しいバージョンが利用可能になると自動的にアップグレードします。EXTENSION_NAME_1=CONFIG_FILE_PATH_1、EXTENSION_NAME_2=CONFIG_FILE_PATH_2: 拡張機能名がキーで、その拡張機能の構成ファイルへのパスが値である Key-Value ペアのカンマ区切りリスト。このパスは、拡張機能をインストールする VM ではなく、gcloudコマンドを実行する VM にあります。構成をインライン文字列として指定する場合は、
--config-from-fileではなく--configフラグを使用します(例:EXTENSION_NAME_1="CONFIG_1")。--config-from-fileまたは--configのいずれかを使用できますが、同じコマンドで両方を使用することはできません。KEY_1=VALUE_1: セレクタの包含ラベルを定義する Key-Value ペアのカンマ区切りのリスト。VM がターゲットになるには、セレクタで指定されたすべてのラベルが VM に設定されている必要があります。--inclusion-labelsを複数回指定すると、ポリシーは、指定されたセレクタのいずれかに一致する VM をターゲットにします(論理 OR)。このフラグを省略すると、ポリシーは指定されたゾーン内のすべての VM をターゲットにします。PRIORITY: ポリシーの優先度を定義する 0 ~ 65535 の整数。数字が小さいほど優先度が高くなります。デフォルト値は 1,000 です。指定した名前のポリシーがゾーンにすでに存在する場合、コマンドは失敗します。
例 1
次のコマンドは、プロジェクト
test-projectのゾーンus-central1-fにops-agent拡張機能をインストールするtest-extension-policyという名前のポリシーを作成します。--config-from-fileフラグは、Ops エージェントの YAML 構成を含むローカル ファイルへのパスを指定します。gcloud beta compute zone-vm-extension-policies create test-extension-policy \ --project=test-project \ --zone=us-central1-f \ --extensions=ops-agent \ --config-from-file=ops-agent="/usr/ops-agent-config.yaml"
例 2
次のコマンドは、ラベル
env=prodの VM のプロジェクトtest-projectのゾーンus-central1-fにops-agent拡張機能をインストールするtest-extension-policy-2という名前のポリシーを作成します。ポリシーの優先度は500に設定され、--config-from-fileフラグは Ops エージェントの YAML 構成を含むローカル ファイルへのパスを指定します。gcloud beta compute zone-vm-extension-policies create test-extension-policy-2 \ --project=test-project \ --zone=us-central1-f \ --extensions=ops-agent \ --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \ --priority=500 \ --inclusion-labels=env=prod
次のステップ
- VM 拡張機能を管理する方法を学習する。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-12-10 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["わかりにくい","hardToUnderstand","thumb-down"],["情報またはサンプルコードが不正確","incorrectInformationOrSampleCode","thumb-down"],["必要な情報 / サンプルがない","missingTheInformationSamplesINeed","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-12-10 UTC。"],[],[]] -