VM Manager の設定

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

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

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

始める前に

設定の概要

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

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

手動

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

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

自動

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

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

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

自動での有効化。

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

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

OS Config Service API を有効にする

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

Console

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

OS Config API を有効にする

gcloud

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

gcloud services enable osconfig.googleapis.com

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

OS Config エージェントは、ビルド日付が v20200114 以降の Red Hat Enterprise Linux(RHEL)、Debian、CentOS、Windows イメージにデフォルトでインストールされています。これらのエージェントは、エージェント メタデータを有効化し、サービス 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

    RHEL 7/8 または CentOS 7/8 VM に 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 9 VM を作成する場合、コマンドは次のようになります。

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

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

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

メタデータ値を設定する

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

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

  • OS Patch Management
  • OS Configuration Management
  • OS Inventory Management

    • OS Inventory Management(以前のバージョン)が機能するためには、enable-guest-attributes メタデータ値を TRUE に設定する必要もあります。
    • OS Inventory Management(プレビュー)では、ゲスト属性を有効にする必要はありません。

    2 つの OS Inventory Management バージョンの詳細については、OS Inventory Management のバージョンをご覧ください。

Console

次のいずれかの方法で、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 Console で、[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 名に置き換えます。

API

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

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

  • キー: enable-osconfig
    値: TRUE

OS Inventory Management では、次の Key-Value ペアも追加します。

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

不要な機能を無効にする

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

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

  • OS Inventory Management: osinventory
  • OS Patch Management: tasks
  • OS Configuration Management: guestpolicies

これらの値は、Google Cloud Console、gcloud コマンドライン ツール、Compute Engine API のいずれかを使用して設定できます。

Console

次のいずれかの方法で、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 Console で、[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 gcloud コマンドライン ツールを使用して Cloud プロジェクト レベルで OS Patch Management を無効にするには、次のコマンドを実行します。

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

例 2 gcloud コマンドライン ツールを使用してプロジェクト レベルで OS Configuration Management と OS Inventory Management を無効にするには、次のコマンドを実行します。

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

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

API

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

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

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

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

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

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

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

設定を確認する

設定手順が完了したら、確認チェックリストで設定を確認します。

次のステップ