VM Manager を設定する


Compute Engine では、VM Manager を使用して、仮想マシン(VM)で実行されているオペレーティング システムを管理できます。

VM Manager を使用するために必要な VM の設定手順については、設定の概要をご覧ください。

VM Manager を設定すると、OS Config API で実行される API オペレーションの監査ログを表示できます。詳しくは、VM Manager の監査ログの表示をご覧ください。

始める前に

  • プロジェクトの OS Config の割り当てを確認します。
  • まだ設定していない場合は、認証を設定します。認証とは、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

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。

設定の概要

VM Manager を有効にするには、次の 2 つの選択肢があります。

  • 自動での有効化: Google Cloud プロジェクト全体に適用されます。Google Cloud コンソールで自動での有効化の設定を行います。一部のステップは、手動で完了しなければならない場合があります。
  • 手動での有効化: VM ごとに適用することも、Google Cloud プロジェクト全体に適用することもできます。

手動

VM Manager を手動で設定するには、次の手順を行います。

  1. Google Cloud プロジェクトで、OS Config API を有効にします。
  2. 各 VM で、OS Config エージェントがインストールされているかどうかを確認します。エージェントがまだインストールされていない場合は、OS Config エージェントをインストールします。
  3. プロジェクトまたは各 VM で、OS Config エージェントのインスタンス メタデータを設定します。このステップは、VM またはプロジェクトで OS Config エージェントをアクティブにするために必要です。
  4. 接続されたサービス アカウントが、すべての VM にあることを確認します。このサービス アカウントに IAM のロールを付与する必要はありません。VM Manager は、このサービス アカウントを使用して API サービスに対するリクエストに署名します。
  5. VM がプライベート VPC ネットワーク内で実行されていて、公共のインターネット アクセスがない場合は、限定公開の Google アクセスを有効にします。
  6. VM に HTTP プロキシを使用する場合は、HTTP プロキシを構成します。
  7. 省略可。プロジェクトまたは各 VM で、不要な機能を無効にします

自動

Google Cloud コンソールの [VM Manager] ページに初めてアクセスするときに、VM Manager を自動的に有効にすることを選択できます。

手順ガイドに従うと、自動での有効化を使用して以下を実行できます。

  • Google Cloud プロジェクトで OS Config サービス API を有効にする
  • エージェントがインストールされている Google Cloud プロジェクトのすべての VM で OS Config エージェントを有効にする

自動での有効化。

サポートされているオペレーティング システム

VM Manager をサポートしているオペレーティング システムのバージョンの完全なリストについては、オペレーティング システムの詳細をご覧ください。

OS Config Service API を有効にする

Google Cloud プロジェクトで、OS Config API を有効にします。

コンソール

Google Cloud Console で、OS Config API を有効にします。

OS Config API を有効にする

gcloud

API を有効にするには、次のコマンドを実行します。

gcloud services enable osconfig.googleapis.com

OS Config エージェントがインストールされているかどうかを確認する

OS Config エージェントは、ビルド日付が v20200114 以降の CentOS、Container-Optimized OS(COS)、Debian、Red Hat Enterprise Linux(RHEL)、Rocky Linux、SLES、Ubuntu、Windows Server の各イメージにデフォルトでインストールされています。OS Config エージェントがインストールされているオペレーティング システムのバージョンについては、オペレーティング システムの詳細をご覧ください。これらのエージェントは、エージェント メタデータを有効化し、サービス API を有効化するまで、アイドル状態で実行されます。

Linux

Linux VM にエージェントがインストールされているかどうかを確認するには、次のコマンドを実行します。

sudo systemctl status google-osconfig-agent

エージェントがインストールされ、実行されている場合、出力は次のようになります。

google-osconfig-agent.service - Google OSConfig Agent
Loaded: loaded (/lib/systemd/system/google-osconfig-agent.service; enabled; vendor preset:
Active: active (running) since Wed 2020-01-15 00:14:22 UTC; 6min ago
Main PID: 369 (google_osconfig)
 Tasks: 8 (limit: 4374)
Memory: 102.7M
CGroup: /system.slice/google-osconfig-agent.service
        └─369 /usr/bin/google_osconfig_agent

エージェントがインストールされていない場合は、OS Config エージェントをインストールします。

Windows

Windows VM にエージェントがインストールされているかどうかを確認するには、次のコマンドを実行します。

PowerShell Get-Service google_osconfig_agent

エージェントがインストールされ、実行されている場合、出力は次のようになります。

Status   Name               DisplayName
------   ----               -----------
Running  google_osconfig... Google OSConfig Agent

エージェントがインストールされていない場合は、OS Config エージェントをインストールします。

OS Config エージェントをインストールする

これらの手順でエージェントをインストールする前に、エージェントが VM ですでに実行されているかどうかを確認します。

各 VM に OS Config エージェントをインストールします。次のいずれかの方法で OS Config エージェントをインストールできます。

手動でエージェントをインストールする

この方法を使用して、OS Config エージェントを既存の VM にインストールします。

エージェントのインストール手順は次のとおりです。

  1. OS Config エージェントをインストールする VM に接続します。

  2. OS Config エージェントをインストールします。

    Windows Server

    Windows サーバーに OS Config エージェントをインストールするには、次のコマンドを実行します。

    googet -noconfirm install google-osconfig-agent
    

    Ubuntu

    Ubuntu VM に OS Config エージェントをインストールするには、次のコマンドを実行します。

    1. Ubuntu リポジトリを設定します。

      • Ubuntu 20.04 以降のバージョンでは、次のコマンドを実行します。

        1. Ubuntu リポジトリを追加します。

          sudo su -c "echo 'deb http://packages.cloud.google.com/apt google-compute-engine-focal-stable main' > \
          /etc/apt/sources.list.d/google-compute-engine.list"
          
        2. Google Cloud の公開鍵をインポートします。

          curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
          sudo apt-key add -
          
      • Ubuntu 18.04 以降のバージョンでは、次のコマンドを実行します。

        1. Ubuntu リポジトリを追加します。

          sudo su -c "echo 'deb http://packages.cloud.google.com/apt google-compute-engine-bionic-stable main' > \
          /etc/apt/sources.list.d/google-compute-engine.list"
          
        2. Google Cloud の公開鍵をインポートします。

          curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
          sudo apt-key add -
          
      • Ubuntu 16.04 の場合は、次のコマンドを実行します。

        1. Ubuntu リポジトリを追加します。

          sudo su -c "echo 'deb http://packages.cloud.google.com/apt google-compute-engine-xenial-stable main'> \
          /etc/apt/sources.list.d/google-compute-engine.list"
          
        2. Google Cloud の公開鍵をインポートします。

          curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
          sudo apt-key add -
          
    2. OS Config エージェントをインストールします。

      sudo apt update
      sudo apt -y install google-osconfig-agent
      

    Debian

    Debian VM に OS Config エージェントをインストールするには、次のコマンドを実行します。

    sudo apt update
    sudo apt -y install google-osconfig-agent
    

    Google Cloud リポジトリと公開鍵の追加

    Google 提供のイメージから作成されていない VM インスタンスを使用している場合や、「パッケージが見つかりません」というエラー メッセージが表示される場合は、次の手順で、Google Cloud リポジトリを追加し、公開鍵をインポートします。

    リポジトリを追加して鍵をインポートしたら、コマンドを実行して OS Config エージェントをインストールできます。

    • Debian 9(Stretch)の場合は、次のコマンドを実行します。

      1. Debian リポジトリを追加します。

        sudo su -c "echo 'deb http://packages.cloud.google.com/apt \
        google-compute-engine-stretch-stable main'> /etc/apt/sources.list.d/google-compute-engine.list"
        
      2. Google Cloud の公開鍵をインポートします。

        curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
        sudo apt-key add -
        
    • Debian 10(Buster)の場合は、次のコマンドを実行します。

      1. Debian リポジトリを追加します。

        sudo su -c "echo 'deb http://packages.cloud.google.com/apt \
        google-compute-engine-buster-stable main'> /etc/apt/sources.list.d/google-compute-engine.list"
        
      2. Google Cloud の公開鍵をインポートします。

        curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
        sudo apt-key add -
        

    RHEL / CentOS / Rocky

    RHEL 7/8、CentOS 7/8 VM、または Rocky Linux 8/9 に OS Config エージェントをインストールするには、次のコマンドを実行します。

    sudo yum -y install google-osconfig-agent
    

    SLES / openSUSE

    SLES または openSUSE VM に OS Config エージェントをインストールするには、次のコマンドを実行します。

    1. SLES リポジトリを設定します。

      • SLES 12 の場合は、次のコマンドを実行します。

        sudo su -c "cat > /etc/zypp/repos.d/google-compute-engine.repo <<EOM
        [google-compute-engine]
        name=Google Compute Engine
        baseurl=https://packages.cloud.google.com/yum/repos/google-compute-engine-sles12-stable
        enabled=1
        gpgcheck=1
        repo_gpgcheck=0
        gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
          https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
        EOM"
        
      • SLES 15 と OpenSUSE 15 の場合は、次のコマンドを実行します。

        sudo su -c "cat > /etc/zypp/repos.d/google-compute-engine.repo <<EOM
        [google-compute-engine]
        name=Google Compute Engine
        baseurl=https://packages.cloud.google.com/yum/repos/google-compute-engine-sles15-stable
        enabled=1
        gpgcheck=1
        repo_gpgcheck=0
        gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
          https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
        EOM"
        
        
    2. Google Cloud の GPG 鍵をインポートします。

      sudo rpm --import https://packages.cloud.google.com/yum/doc/yum-key.gpg \
      --import https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
      
    3. OS Config エージェントをインストールします。

      sudo zypper -n --gpg-auto-import-keys install --from google-compute-engine google-osconfig-agent
      

起動スクリプトを使用してエージェントをインストールする

手動のインストール コマンドを使用して、VM の作成中に OS Config エージェントをインストールする起動スクリプトを作成できます。

  1. ご使用のオペレーティング システム用の手動インストール コマンドをコピーします。
  2. VM 作成メソッドに起動スクリプトを追加します。

    たとえば、gcloud compute instances create コマンドを使用して新しい Debian 10 VM を作成する場合、コマンドは次のようになります。

    gcloud compute instances create VM_NAME \
       --image-family=debian-10 --image-project=debian-cloud \
       --metadata startup-script='#! /bin/bash
       apt update
       apt -y install google-osconfig-agent'

    VM_NAME は実際の VM 名に置き換えます。

  3. 起動スクリプトが完了したことを確認します。起動スクリプトが完了したかどうかを確認するには、ログまたはシリアル コンソールを確認します。

メタデータ値を設定する

インスタンス メタデータは、各 VM に対して設定するか、プロジェクト メタデータに設定してプロジェクト内のすべての VM に適用します。

Google Cloud プロジェクトまたは VM で、enable-osconfig メタデータ値を TRUE に設定します。enable-osconfig メタデータ値を TRUE に設定すると、次の機能が有効になります。

  • パッチ
  • OS ポリシー
  • OS Inventory Management
    • 以前のバージョンの OS Inventory Management では、enable-guest-attributes メタデータ値を TRUE に設定する必要もあります。両方のメタデータ値が設定されていない場合は、ダッシュボードに VM の no data が表示されます。この設定は新しいバージョンでは必要ありません。2 つの OS Inventory Management バージョンについては、OS Inventory Management のバージョンをご覧ください。

コンソール

次のいずれかの方法で、Google Cloud プロジェクトまたは VM にメタデータ値を適用できます。

  • オプション 1: プロジェクト全体のメタデータに enable-osconfig を設定して、プロジェクト内のすべての VM に適用する。

    1. Google Cloud Console で、[メタデータ] ページに移動します。

      [メタデータ] に移動

    2. [編集] をクリックします。

    3. 次のメタデータ エントリを追加します。

      キー: enable-osconfig
      値: TRUE

      以前のバージョンの OS Inventory Management では、enable-osconfigenable-guest-attributes の両方を設定します。

      • キー: enable-osconfig
        値: TRUE
      • キー: enable-guest-attributes
        値: TRUE
    4. [保存] をクリックして変更を適用します。

  • オプション 2: インスタンスの作成時に VM メタデータで enable-osconfig を設定する。

    1. Google Cloud Console で、[インスタンスの作成] ページに移動します。

      [インスタンスの作成] に移動

    2. VM の詳細を指定します。

    3. [詳細オプション] セクションを開き、次の操作を行います。

      1. [管理] セクションを開きます。
      2. [メタデータ] セクションで [項目を追加] をクリックし、次のメタデータ エントリを追加します。

        キー: enable-osconfig
        : TRUE

        以前のバージョンの OS Inventory Management では、enable-osconfigenable-guest-attributes の両方を設定します。

        • キー: enable-osconfig
          : TRUE
        • : enable-guest-attributes
          : TRUE
    4. VM を作成するには、[作成] をクリックします。

  • オプション 3: 既存の VM のメタデータに enable-osconfig を設定する。

    1. Google Cloud コンソールで、[VM インスタンス] ページに移動します。

      [VM インスタンス] に移動

    2. メタデータ値を設定する VM の名前をクリックします。

    3. [インスタンスの詳細] ページで、[編集] をクリックして設定を編集します。

    4. [カスタム メタデータ] の下に、次のメタデータ エントリを追加します。

      キー: enable-osconfig
      値: TRUE

      以前のバージョンの OS Inventory Management では、enable-osconfigenable-guest-attributes の両方を設定します。

      • キー: enable-osconfig
        値: TRUE
      • キー: enable-guest-attributes
        値: TRUE
    5. [保存] をクリックして、VM に変更を適用します。

gcloud

--metadata=enable-osconfig=TRUE フラグを指定して、project-info add-metadatainstances add-metadata コマンドを使用します。

次のいずれかの方法で、プロジェクトまたは VM にメタデータ値を適用できます。

  • オプション 1: プロジェクト全体のメタデータに enable-osconfig を設定して、プロジェクト内のすべてのインスタンスに適用する。

    gcloud compute project-info add-metadata \
      --project PROJECT_ID \
      --metadata=enable-osconfig=TRUE
    

    以前のバージョンの OS Inventory Management では、enable-osconfigenable-guest-attributes の両方を設定します。

    gcloud compute project-info add-metadata \
      --project PROJECT_ID \
      --metadata=enable-guest-attributes=TRUE,enable-osconfig=TRUE
    

    PROJECT_ID は、実際のプロジェクト ID に置き換えます。

  • オプション 2: 既存のインスタンスのメタデータに enable-osconfig を設定する。

    gcloud compute instances add-metadata VM_NAME \
      --metadata=enable-osconfig=TRUE
    

    以前のバージョンの OS Inventory Management では、enable-osconfigenable-guest-attributes の両方を設定します。

    gcloud compute instances add-metadata VM_NAME \
      --metadata=enable-guest-attributes=TRUE,enable-osconfig=TRUE
    

    VM_NAME は実際の VM 名に置き換えます。

  • オプション 3: インスタンスの作成時にインスタンス メタデータで enable-osconfig を設定する。

    gcloud compute instances create VM_NAME \
      --metadata=enable-osconfig=TRUE
    

    以前のバージョンの OS Inventory Management では、enable-osconfigenable-guest-attributes の両方を設定します。

    gcloud compute instances create VM_NAME \
      --metadata=enable-guest-attributes=TRUE,enable-osconfig=TRUE
    

    VM_NAME は実際の VM 名に置き換えます。

REST

メタデータ値は、Google Cloud プロジェクト レベルまたはインスタンス レベルで設定できます。

メタデータ プロパティの一部として、次の Key-Value ペアが必要です。

  • キー: enable-osconfig
    値: TRUE

以前のバージョンの OS Inventory Management では、次の Key-Value ペアも追加します。

  • キー: enable-guest-attributes
    値: TRUE

HTTP プロキシを構成する

VM で HTTP プロキシを使用する場合は、次のコマンドを実行して http_proxy 環境変数と https_proxy 環境変数を設定します。また、OS Config エージェントがローカル メタデータ サーバーにアクセスできるように、no_proxy 環境変数を構成して、メタデータ サーバー(169.254.169.254)を除外することも必要です。

Linux

システム全体の構成ファイルに次の環境変数を追加します。たとえば CentOS 7 では、/etc/systemd/system.conf ファイルにプロキシ設定を追加します。

  http_proxy="http://PROXY_IP:PROXY_PORT"
  https_proxy="http://PROXY_IP:PROXY_PORT"
  no_proxy=169.254.169.254,metadata,metadata.google.internal  # Skip proxy for the local Metadata Server.
 

PROXY_IPPROXY_PORT をプロキシ サーバーの IP アドレスと IP ポート番号に置き換えます。

Windows

管理者のコマンド プロンプトから次のコマンドを実行します。

  setx http_proxy http://PROXY_IP:PROXY_PORT /m
  setx https_proxy http://PROXY_IP:PROXY_PORT /m
  setx no_proxy 169.254.169.254,metadata,metadata.google.internal /m

PROXY_IPPROXY_PORT をプロキシ サーバーの IP アドレスと IP ポート番号に置き換えます。

OS Config エージェントからの接続の問題を回避するため、no_proxy 環境変数を追加して、*.googleapis.com を除外することをおすすめします。特定の VM のみを OS Config エージェントに接続する場合は、VM が存在するゾーンに接頭辞を追加して、[zone-name]-osconfig.googleapis.com の形式で設定します。例: us-central1-f-osconfig.googleapis.com

不要な機能を無効にする

不要な機能については、次のメタデータ値 osconfig-disabled-features=FEATURE1,FEATURE2 を設定して無効にできます。

FEATURE1,FEATURE2 を次のいずれかの値に置き換えます。

  • OS Inventory Management: osinventory
  • パッチと OS ポリシー: tasks
  • OS ゲストポリシー(ベータ版): guestpolicies

メタデータ値を無効にするには、次のいずれかの方法を使用します。

コンソール

次のいずれかの方法で、Google Cloud プロジェクトまたは VM のメタデータ値を無効にできます。

  • オプション 1: プロジェクト全体のメタデータの機能を無効にして、プロジェクト内のすべてのインスタンスに適用する。

    1. Google Cloud Console で、[メタデータ] ページに移動します。

      [メタデータ] に移動

    2. [編集] をクリックします。

    3. 次のメタデータ エントリを追加します。

      キー: osconfig-disabled-features
      値: FEATURE1,FEATURE2

      例:
      キー: osconfig-disabled-features
      値: osinventory,guestpolicies

    4. [保存] をクリックして変更を適用します。

  • オプション 2: 既存の VM のメタデータで機能を無効にする。

    1. Google Cloud コンソールで、[VM インスタンス] ページに移動します。

      [VM インスタンス] に移動

    2. メタデータ値を設定する VM の名前をクリックします。

    3. [インスタンスの詳細] ページで、[編集] をクリックして VM 設定を編集します。

    4. [カスタム メタデータ] の下に、次のメタデータ エントリを追加します。

      キー: osconfig-disabled-features
      値: FEATURE1,FEATURE2

      例:
      キー: osconfig-disabled-features
      値: osinventory

    5. [保存] をクリックして、VM に変更を適用します。

gcloud

project-info add-metadata または instances add-metadata gcloud コマンドを使用して、--metadata=osconfig-disabled-features フラグを指定します。

複数の機能を無効にする場合は、フラグの形式を --metadata=osconfig-disabled-features=FEATURE1,FEATURE2 にする必要があります。例 2 をご覧ください。

例 1 Google Cloud CLI を使用して Google Cloud プロジェクト レベルでパッチを無効にするには、次のコマンドを実行します。

gcloud compute project-info add-metadata \
    --project PROJECT_ID \
    --metadata=osconfig-disabled-features=tasks

例 2 Google Cloud CLI を使用して、プロジェクト レベルで OS ポリシーと OS Inventory Management を無効にするには、次のコマンドを実行します。

gcloud compute project-info add-metadata \
    --project PROJECT_ID \
    --metadata=osconfig-disabled-features=osinventory,guestpolicies

PROJECT_ID は、実際のプロジェクト ID に置き換えます。

REST

メタデータ値は、Google Cloud プロジェクト レベルまたはインスタンス レベルで設定できます。

メタデータ プロパティの一部として、次の Key-Value ペアが必要です。

  • キー: osconfig-disabled-features
  • 値: 次のフラグのいずれかまたは組み合わせを指定できます。
    • osinventory
    • tasks
    • guestpolicies

アクティブな OS Config エージェントの要件

OS Config エージェントがアクティブで課金対象とみなされるには、次の要件をすべて満たしている必要があります。

  • VM Manager が設定されている。
  • VM が RUNNING 状態で、OS Config エージェントが OS Config サービスと通信を行っている。

    VM が停止、一時停止、ネットワークから切断されている場合、その VM のエージェントはアクティブなエージェントとしてカウントされません。

設定を確認する

設定手順を完了したら、設定を確認できます。

VM Manager の全機能を有効にする

プロジェクトで VM Manager が有効になっていない場合、VM の作成時に Ops エージェントをインストールすると、VM Manager は制限付きモードで有効になります。このモードでは、VM の数に制限なく、VM Manager の一部の機能を無料で利用できます。たとえば、[OS ポリシー] ページで VM の OS ポリシーの割り当てを表示できますが、OS ポリシーの割り当ての作成や編集はできません。

Ops エージェントがインストールされているこれらの VM ですべての VM Manager 機能を有効にするには、次の操作を行います。

  1. Google Cloud コンソールで、[OS ポリシー] ページに移動します。

    [OS ポリシー] に移動

  2. [VM Manager の全機能を有効にしましょう] をクリックして、すべての VM Manager 機能を有効にします。

    完全な VM Manager を自動的に有効にします。

OS Config エージェントを無効にする

OS Config エージェントを無効にしても、VM の動作には影響しません。オペレーティング システムの他のサービスを停止するのと同じ方法で、エージェントを無効にできます。

Linux

systemctl を使用してエージェントを無効にするには、次のコマンドを実行します。

sudo systemctl stop google-osconfig-agent
sudo systemctl disable google-osconfig-agent

Windows

powershell を使用してエージェントを無効にするには、次のコマンドを実行します。

PowerShell Stop-Service google_osconfig_agent [-StartupType disabled]

次のステップ