エージェント ポリシーを使用すると、ユーザーが指定した基準を満たす Compute Engine VM のフリート全体で Ops エージェントの自動インストールとメンテナンスを行えます。Google Cloud プロジェクトのポリシーを作成し、その Google Cloud プロジェクトに関連付けられた既存の VM と新しい VM を管理できます。これにより、これらの VM 上の Ops エージェントのインストールとアンインストールを適切に行うことができます。
Ops エージェントのエージェント ポリシー
Ops エージェントのエージェント ポリシーのサポートは、一般提供とベータ版の 2 つのリリースレベルで利用できます。どちらのタイプのポリシーも、VM Manager によって提供される OS Config 機能に依存していますが、実装は異なります。可能であれば、一般提供ポリシーを使用することをおすすめします。ほとんどの場合、ベータ版のポリシーを一般提供版のポリシーに変換できます。
このセクションでは、ベータ版と一般提供版のエージェント ポリシーの違いについて説明します。エージェント ポリシーの作成と管理については、以下をご覧ください。
ベータ版と一般提供版のエージェント ポリシーの違い
ベータ版と一般提供版のエージェント ポリシーは、次の点で異なります。
作成メカニズム
- ベータ版のエージェント ポリシーは、次の方法で作成します。
- 一般提供版のエージェント ポリシーは、次の方法で作成します。
以前の Monitoring エージェントと Logging エージェントのサポート
- ベータ版のエージェント ポリシーでは、以前の Monitoring エージェントと Logging エージェント、および Ops エージェントを管理できます。
- 一般提供版のエージェント ポリシーは Ops エージェントのみを管理します。
エージェント バージョンの自動アップグレード
- ベータ版のエージェント ポリシーでは、エージェントをアップグレードすることで、エージェントを最新バージョンに保つことができます。
- 一般提供版のエージェント ポリシーは自動アップグレードをサポートしていません。別の方法については、ベータ版エージェントのアップグレード ポリシーを置き換えるをご覧ください。
名前付き Compute Engine インスタンスへのポリシーの適用
- ベータ版のエージェント ポリシーは、名前付きインスタンスのリストに適用できます。
- 一般提供版のエージェント ポリシーでは、名前付きインスタンスはサポートされていません。一般提供版のポリシーで同じ動作を実現する方法については、ベータ版の名前付きインスタンス ポリシーを一般提供版のポリシーに変換するをご覧ください。
Google Cloud プロジェクト内のエージェント ポリシーの適用範囲(グローバルまたはゾーン)
- ベータ版のエージェント ポリシーは、Google Cloud プロジェクト内のポリシー条件によって選択されたすべてのインスタンスにグローバルに適用されます。
- 一般提供版のエージェント ポリシーは、ポリシーで指定されたゾーン内のポリシー条件で選択されたすべてのインスタンスに適用されます。たとえば、
us-central1-a
ゾーンで作成されたポリシーは、他のゾーンの VM には影響しません。
ベータ版と一般提供版のポリシーは構造的にも異なります。
gcloud beta compute instances ops-agents policies
を使用して作成されたポリシーは、次の例のように、個々のオプションをコマンドに渡すことで、エージェント ポリシーを記述します。gcloud beta compute instances ops-agents policies
create ops-agents-test-policy \ --agent-rules="type=logging,enable-autoupgrade=false;type=metrics,enable-autoupgrade=false" \ --description="A test policy." \ --os-types=short-name=centos,version=7 \ --instances=zones/us-central1-a/instances/test-instance \ --project PROJECT_IDTerraform のエージェント ポリシー モジュールには、同じ機能が用意されています。
gcloud compute instances ops-agents policies
を使用して作成されたポリシーは、次の例のように、YAML 構成ファイルとゾーンを使用してエージェント ポリシーを記述します。gcloud compute instances ops-agents policies
create test-policy \ --zone us-central1-a \ --file test-policy.yaml \ --project PROJECT_IDTerraform の Ops エージェント ポリシー モジュールには同じ機能があります。
ベータ版と一般提供版の両方のポリシーの使用
ポリシーの違いを把握していれば、Ops エージェントでベータ版と一般提供版の両方のエージェント ポリシーを使用できます。
ベータ版と一般提供のエージェント ポリシーの動作の最大の違いは、一般提供のポリシーはゾーン単位であるのに対し、ベータ版のエージェント ポリシーはプロジェクト内でグローバルである点です。つまり、一般提供のエージェント ポリシーは、ポリシーが作成されたゾーンの VM のみを選択しますが、ベータ版のポリシーは Google Cloud プロジェクト内のすべての VM を選択できます。
ベータ版のポリシーで 1 つの VM セットを選択し、一般提供版のポリシーで別の VM セットを選択した場合、ポリシーの競合は発生しません。
ベータ版と一般提供版のエージェント ポリシーを同じ VM に適用できますが、ポリシーに相反する目的がないことを確認する必要があります(例: Ops エージェントをインストールするベータ版ポリシーとOps エージェントをアンインストールする一般提供版ポリシー)。
ベータ版のポリシーを一般提供版のポリシーに変換する
ポリシータイプの違いで回避できない問題がない限り、Ops エージェントのベータ版のエージェント ポリシーを一般提供版のエージェント ポリシーに変換できます。以前の Monitoring エージェントまたは Logging エージェントのベータ版のエージェント ポリシーを一般提供版のエージェント ポリシーに変換することはできません。
Google Cloud SDK を使用してベータ版のエージェント ポリシーを一般提供ポリシーに変換するには、次の操作を行います。
次のコマンドを実行して、プロジェクト内のすべてのベータ版のエージェント ポリシーのリストを生成します。
gcloud beta compute instances ops-agents policies
list --project PROJECT_ID一般提供版のポリシーに変換するベータ版のエージェント ポリシーを特定します。
変換するベータ版のポリシーごとに、次の操作を行います。
ベータ版と一般提供版のポリシーの違いを考慮して、ベータ版のポリシーにできるだけ近い YAML 構成ファイルを作成します。YAML 構成ファイルの形式については、エージェント ポリシーを記述するをご覧ください。
ポリシーが必要な各ゾーンに一般提供版のエージェント ポリシーを作成します。一般提供版のエージェント ポリシーの作成については、エージェント ポリシーを作成するをご覧ください。
次のコマンドを実行して、ベータ版のエージェント ポリシーを削除します。
gcloud beta compute instances ops-agents policies
delete POLICY_ID --project PROJECT_ID
Ops エージェントに、既存のベータ版のエージェント ポリシーとまったく同じ一般提供版のエージェント ポリシーを作成できない場合があります。ただし、ベータ版のエージェント ポリシーの自動アップグレード オプションを除き、同等の動作を実現できます。
以降のセクションでは、次のケースの処理方法について説明します。
ベータ版の名前付きインスタンス ポリシーを一般提供版ポリシーに変換する
名前付きの VM インスタンス セットに適用されるベータ版のエージェント ポリシーを変換するには、次の操作を行います。
選択する VM セット内のインスタンスにラベルを適用します。既存の VM にラベルを適用するには、次の例のように
gcloud compute instances add-labels
コマンドを使用します。gcloud compute instances add-labels INSTANCE_NAME --labels=KEY=VALUE
構成で
instanceFilter
構造を使用して、新しいラベルを持つ VM を選択する一般提供版のエージェント ポリシーを記述します。次の例では、前の手順で適用したラベルと一致するポリシーを含むconfig.yaml
というファイルを作成します。cat > config.yaml << EOF agentsRule: packageState: installed version: 2.47.0 instanceFilter: inclusionLabels: - labels: KEY: VALUE EOF
一般提供版のエージェント ポリシーの記述方法については、エージェント ポリシーの構成ファイルをご覧ください。
新しいラベルの VM がある各ゾーンに一般提供版のエージェント ポリシーを作成します。
gcloud compute instances ops-agents policies
create POLICY_ID \ --zone ZONE \ --file config.yaml --project PROJECT_ID一般提供版のエージェント ポリシーの作成方法については、エージェント ポリシーを作成するをご覧ください。
ベータ版のエージェント アップグレード ポリシーを置き換える
エージェントをアップグレードするベータの版エージェント ポリシーを置き換えるには、次の方法があります。
- Ops エージェントを常に最新の状態にするには、OS Patch を使用して、エージェントを最新バージョンに保つ OS Patch ジョブを作成して実行します。
1 回限りのアップグレードを実行する手順は次のとおりです。
- Ops エージェントの最新バージョンは、Ops エージェントの GitHub のリリースノートで確認できます。
最新バージョンのエージェントをインストールするように、エージェント ポリシーを作成または変更します。たとえば、最新バージョンが 2.51.0 の場合、次のような agent-policy YAML を使用できます。
agentsRule: packageState: installed version: 2.51.0 instanceFilter: [...]
各ゾーンの VM にポリシーを適用します。
サポートされているオペレーティング システム
エージェント ポリシーは、次の表に示すオペレーティング システムを実行している Compute Engine VM インスタンスに適用できます。
オペレーティング システム | Ops エージェント
(一般提供とベータ版の† ポリシー) |
Logging エージェント
(ベータ版† ポリシーのみ) |
Monitoring エージェント
(ベータ版† ポリシーのみ) |
---|---|---|---|
CentOS 8 | |||
Rocky Linux 8 | |||
RHEL 6 | |||
RHEL 7: rhel-7, rhel-7-6-sap-ha, rhel-7-7-sap-ha, rhel-7-9-sap-ha |
‡ | ||
RHEL 8: rhel-8, rhel-8-4-sap-ha, rhel-8-6-sap-ha, rhel-8-8-sap-ha |
‡ | ||
Debian 9(Stretch) | |||
Debian 11(Bullseye) | |||
Debian 11(Bullseye)ベースの Deep Learning VM Image | |||
Ubuntu LTS 18.04 (Bionic Beaver): ubuntu-1804-lts, ubuntu-minimal-1804-lts |
|||
Ubuntu LTS 20.04 (Focal Fossa): ubuntu-2004-lts, ubuntu-minimal-2004-lts |
|||
Ubuntu LTS 22.04 (Jammy Jellyfish): buntu-2204-lts, ubuntu-minimal-2204-lts |
|||
SLES 12: sles-12、sles-12-sp5-sap |
|||
SLES 15: sles-15, sles-15-sp2-sap, sles-15-sp3-sap, sles-15-sp4-sap, sles-15-sp5-sap, sles-15-sp6-sap |
|||
OpenSUSE Leap 15: opensuse-leap (opensuse-leap-15-3-*, opensuse-leap-15-4-*) |
|||
Windows Server: 2016、2019、2022、Core 2016、Core 2019、Core 2022 |
gcloud beta compute instances ops-agents policies
create
呼び出しで指定されるエージェント タイプにマッピングされます。
- Ops エージェントはエージェント タイプ
ops-agent
にマッピングされます。 - Logging エージェントは、エージェント タイプ
logging
にマッピングされます。 - Monitoring エージェントは、エージェント タイプ
metrics
にマッピングされます。
rhel-7-9-sap-ha
、rhel-8-2-sap-ha
、または rhel-8-4-sap-ha
ではサポートされていません。
次のステップ
エージェント ポリシーを使用して Ops エージェントを管理する方法については、以下をご覧ください。