Ops エージェントのエージェント ポリシーの概要

エージェント ポリシーを使用すると、ユーザーが指定した基準を満たす Compute Engine VM 群全体で Ops エージェントの自動インストールとメンテナンスを行えます。1 つのコマンドで Google Cloud プロジェクトのポリシーを作成し、その Google Cloud プロジェクトに関連付けられた既存の VM と新しい VM を管理できます。これにより、これらの VM 上の Ops エージェントのインストールとアンインストールを適切に行うことができます。

Ops エージェントのエージェント ポリシー

Ops エージェントのエージェント ポリシーのサポートは、Google Cloud SDK で一般提供とベータ版の 2 つのリリースレベルで利用できます。どちらのタイプのポリシーも VM Manager が提供する OS Config 機能に依存しますが、実装は異なります。可能であれば、一般提供ポリシーを使用することをおすすめします。ほとんどの場合、ベータ版ポリシーを一般提供ポリシーに変換できます。

このセクションでは、ベータ版と一般提供版のエージェント ポリシーの違いについて説明します。エージェント ポリシーの作成と管理については、以下をご覧ください。

ベータ版と一般提供版のエージェント ポリシーの違い

ベータ版と一般提供版の compute instances ops-agents policies コマンド グループで作成されたエージェント ポリシーでは、次の点が異なります。

  • 以前の Monitoring エージェントと Logging エージェントのサポート

    • ベータ版エージェント ポリシーでは、以前の Monitoring エージェント、Logging エージェント、Ops エージェントを管理できます。
    • 一般提供版のエージェント ポリシーは、Ops エージェントのみを管理します。
  • エージェント バージョンの自動アップグレード

    • ベータ版エージェント ポリシーでは、エージェントをアップグレードすることで、エージェントを最新バージョンに維持できます。
    • GA エージェント ポリシーは、自動アップグレード オペレーションをサポートしていません。別の方法については、ベータ版エージェントのアップグレード ポリシーを置き換えるをご覧ください。
  • 名前付き Compute Engine インスタンスへのポリシーの適用

  • Google Cloud プロジェクト内のエージェント ポリシーのグローバルまたはゾーン適用

    • ベータ版のエージェント ポリシーは、Google Cloud プロジェクト内のポリシー条件によって選択されたすべてのインスタンスにグローバルに適用されます。
    • GA エージェント ポリシーは、ポリシーで指定されたゾーン内のポリシー条件で選択されたすべてのインスタンスに適用されます。たとえば、us-central1-a ゾーンで作成されたポリシーは、他のゾーンの VM には影響しません。

ベータ版と GA の compute instances ops-agents policies コマンド グループは構造的にも異なります。

  • 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_ID
    
  • 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_ID
    

ベータ版と一般提供版の両方のポリシーの使用

ポリシーの種類の違いを考慮すれば、Ops エージェントでベータ版と一般提供版の両方のエージェント ポリシーを使用できます。

ベータ版と一般提供版のエージェント ポリシーの動作の最大の違いは、一般提供版のポリシーがゾーンであり、ベータ版のエージェント ポリシーがプロジェクト内のグローバルである点です。つまり、GA エージェント ポリシーは、ポリシーが作成されたゾーン内の VM のみを選択しますが、ベータ版ポリシーは Google Cloud プロジェクト内の任意の VM を選択できます。

ベータ版のポリシーで 1 つの VM セットを選択し、GA のポリシーで別の VM セットを選択した場合、ポリシーは競合しません。

ベータ版と一般提供版のエージェント ポリシーを同じ VM に適用できますが、ポリシーに相反する目的がないことを確認する必要があります(例: Ops エージェントをインストールするベータ版ポリシーとOps エージェントをアンインストールする一般提供版ポリシー)。

ベータ版ポリシーを一般提供版ポリシーに変換する

回避できないポリシー タイプ間の違いがない限り、Ops エージェントのベータ版エージェント ポリシーを一般提供版エージェント ポリシーに変換できます。以前の Monitoring エージェントまたは Logging エージェントのベータ版エージェント ポリシーを一般提供版エージェント ポリシーに変換することはできません。

ベータ版エージェント ポリシーを一般提供版ポリシーに変換するには、次の手順を行います。

  1. 次のコマンドを実行して、プロジェクト内のすべてのベータ版エージェント ポリシーのリストを生成します。

    gcloud beta compute instances ops-agents policies list --project PROJECT_ID
    
  2. 一般提供版のポリシーに変換するベータ版エージェントのポリシーを特定します。

  3. 変換用として特定したベータ版ポリシーごとに、次の操作を行います。

    1. ベータ版と一般提供版のポリシーの違いを考慮して、ベータ版のポリシーに可能な限り近い YAML 構成ファイルを作成します。YAML 構成形式については、エージェント ポリシーの説明をご覧ください。

    2. ポリシーを必要とする各ゾーンに GA エージェント ポリシーを作成します。GA エージェント ポリシーの作成については、エージェント ポリシーを作成するをご覧ください。

    3. 次のコマンドを実行して、ベータ版エージェント ポリシーを削除します。

      gcloud beta compute instances ops-agents policies delete POLICY_ID --project PROJECT_ID
      

既存のベータ版エージェント ポリシーとまったく同じ Ops エージェント用の一般提供エージェント ポリシーを記述できない場合があります。ただし、ベータ版エージェント ポリシーの自動アップグレード オプションを除き、同等の動作が得られます。

以降のセクションでは、次のケースを処理する方法について説明します。

ベータ版の名前付きインスタンス ポリシーを一般提供ポリシーに変換する

名前付きの VM インスタンスのセットに適用されるベータ版エージェント ポリシーを変換するには、次の操作を行います。

  1. 選択する一連の VM 内のインスタンスにラベルを適用します。 既存の VM にラベルを適用するには、次のコマンドで示すように gcloud compute instances add-labels コマンドを使用します。

    gcloud compute instances add-labels INSTANCE_NAME --labels=KEY=VALUE
    
  2. 構成内の instanceFilter 構造を使用して、新しいラベルを持つ VM を選択する一般提供エージェント ポリシーを記述します。次の例では、前のステップで適用されたラベルと一致するポリシーを含む config.yaml というファイルを作成します。

    cat > config.yaml << EOF
    agentsRule:
      packageState: installed
      version: 2.47.0
    instanceFilter:
      inclusionLabels:
      - labels:
        KEY: VALUE
    EOF
    

    GA エージェント ポリシーの説明の詳細については、エージェント ポリシーの構成ファイルをご覧ください。

  3. 新しいラベルを持つ VM を持つ各ゾーンに一般提供エージェント ポリシーを作成します。

    gcloud compute instances ops-agents policies create POLICY_ID \
      --zone ZONE \
      --file config.yaml
      --project PROJECT_ID
    

    GA エージェント ポリシー作成の詳細については、エージェント ポリシーの作成をご覧ください。

ベータ版エージェントのアップグレード ポリシーを置き換える

エージェントをアップグレードするベータ版エージェント ポリシーを置き換えるには、次の方法があります。

  • Ops エージェントを常に最新の状態にするには、OS Patch を使用して、エージェントを最新バージョンに保つ OS Patch ジョブを作成して実行します。
  • 1 回限りのアップグレードを実行する手順は次のとおりです。

    1. Ops エージェントの最新バージョンは、Ops エージェントの GitHub のリリースノートで確認できます。
    2. 最新バージョンのエージェントをインストールするエージェント ポリシーを作成または変更します。たとえば、最新バージョンが 2.46.0 の場合、次のような agent-policy YAML を使用できます。

      agentsRule:
        packageState: installed
        version: 2.46.0
      instanceFilter:
      [...]
      
    3. 各ゾーンの 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 イメージ
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 にマッピングされます。
 Monitoring エージェントは、rhel-7-9-sap-harhel-8-2-sap-ha、または rhel-8-4-sap-ha ではサポートされていません。

次のステップ

エージェント ポリシーを使用して Ops エージェントを管理する方法については、以下をご覧ください。