このドキュメントを使用して、VM Manager が正しく設定されていることを確認します。VM Manager の設定については、VM Manager の設定をご覧ください。
設定を確認するには、トラブルシューティング コマンドを使用するか、仮想マシン(VM)インスタンスで手動チェックを実施します。
始める前に
- Windows VM の場合は、PowerShell 3.0 以降を使用します。
-
まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。
このページのサンプルをどのように使うかに応じて、タブを選択してください。
コンソール
Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- デフォルトのリージョンとゾーンを設定します。
-
トラブルシューティング コマンドを使用する
os-config troubleshoot
コマンドを使用して設定を確認します。いずれかのチェックが失敗した場合は、問題の解決方法についてフィードバックが提供されます。
gcloud compute os-config troubleshoot VM_NAME \ --zone=ZONE
次のように置き換えます。
VM_NAME
: トラブルシューティングする VM インスタンスの名前ZONE
: インスタンスが配置されているゾーン
例
- 例 1: VM インスタンスに設定の問題がある場合の
os-config troubleshoot
コマンドの出力を示す 例 2: VM インスタンスが適切に設定されている場合の
os-config troubleshoot
コマンドの出力を示す
例 1
ゾーン asia-east2-b
内の my-instance-1
という VM インスタンスのトラブルシューティングを行うには、次のコマンドを実行します。
gcloud compute os-config troubleshoot my-instance-1 \ --zone=asia-east2-b
出力は次のようになります。
OS Config troubleshooter tool is checking if there are issues with the VM Manager setup for this VM instance. > Is the OS Config API enabled? Yes > Is the OS Config agent enabled? Yes > Is the OS Config agent up to date? No The version of OS Config agent running on this VM instance is not the latest version. See https://cloud.google.com/compute/docs/manage-os/upgrade-vm-manager#update-agent on how to update the agent.
例 2
ゾーン us-west1-b
内の my-instance-2
という VM インスタンスのトラブルシューティングを行うには、次のコマンドを実行します。
gcloud compute os-config troubleshoot my-instance-2 \ --zone=us-west1-b
出力は次のようになります。
OS Config troubleshooter tool is checking if there are issues with the VM Manager setup for this VM instance. > Is the OS Config API enabled? Yes > Is the OS Config agent enabled? Yes > Is the OS Config agent up to date? Yes > Is a service account present on the instance? Yes > Is the OS Config Service account present for this instance? Yes > Does this instance have a public IP or Private Google Access? Yes This instance has a public IP.
手動での確認
VM Manager が正しく設定されていることを手動で確認するには、次のチェックを実施します。
- OS Config API が有効である
- OS Config メタデータが有効である
- OS Config エージェントがインストールされ、実行されている
- サービス アカウントが有効である
- VM が OS Config API と通信できる
VM Manager が正しく設定されていても問題が解決しない場合は、VM Manager のトラブルシューティングをご覧ください。
OS Config API が有効か確認する
Google Cloud プロジェクトで、API が有効になっているかどうかを確認します。
コンソール
Google Cloud コンソールで OS Config API ページに移動します。
gcloud
gcloud services list --enabled
API が有効な場合、出力は次のようになります。
osconfig.googleapis.com OS Config API
API が有効でない場合は、OS Config API を有効にします。
メタデータが有効か確認する
Linux
プロジェクト メタデータの場合、VM で次の手順を行います。
プロジェクト属性エンドポイントに対してクエリを実行します。
curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/" \ -H "Metadata-Flavor: Google"
エージェントのメタデータ値が設定されている場合、出力は次のようになります。
enable-osconfig
enable-osconfig
値が表示されたら、エンドポイントに対してクエリを実行します。curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/enable-osconfig" \ -H "Metadata-Flavor: Google"
有効な場合、エンドポイントは
TRUE
を返します。
メタデータが有効になっていない場合は、OS Config メタデータを有効にします。
Windows
プロジェクト メタデータの場合、VM で管理者として PowerShell ターミナルを開き、次のコマンドを実行します。
プロジェクト属性エンドポイントに対してクエリを実行します。
$value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/project/attributes/") $value
エージェントのメタデータ値が設定されている場合、出力は次のようになります。
enable-osconfig
enable-osconfig
値が表示されたら、エンドポイントに対してクエリを実行します。$value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/project/attributes/enable-osconfig") $value
有効な場合、エンドポイントは
TRUE
を返します。
メタデータが有効になっていない場合は、OS Config メタデータを有効にします。
OS Config エージェントがインストールされ、実行されているか確認する
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 エージェントをインストールします。
サービス アカウントが有効か確認する
サービス アカウントの要件については、設定の概要をご覧ください。
Linux
VM で次のコマンドを実行します。
curl "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/" \ -H "Metadata-Flavor: Google"
出力には少なくともデフォルトのサービス アカウントが含まれている必要があります。
default/
Windows
VM で、管理者として PowerShell ターミナルを開き、次のコマンドを実行します。
$value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/") $value
出力には少なくともデフォルトのサービス アカウントが含まれている必要があります。
default/
VM が OS Config API と通信できるか確認する
VM が OS Config API と通信できるかどうかを確認するには、Linux または Windows VM で次のコマンドを実行します。
ping osconfig.googleapis.com
OS Config API への ping を停止するには、Ctrl+C キーを押します。
プライベート VPC ネットワーク内で VM が実行されており、公共のインターネット アクセスがない場合は、限定公開の Google アクセスが有効になっていることを確認します。
限定公開の Google アクセスを有効にした後に、VM が OS Config API と通信できることを確認します。
Linux
VM で次のコマンドを実行します。
curl --ssl 'https://osconfig.googleapis.com/$discovery/rest' | head
VM が OS Config API と通信できる場合、コマンド出力は次のようになります。
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0{
"discoveryVersion": "v1",
"baseUrl": "https://osconfig.googleapis.com/",
"ownerName": "Google",
"version": "v1beta",
"schemas": {
"GooSettings": {
"description": "Googet patching is performed by running `googet update`.",
"properties": {},
"id": "GooSettings",
100 9569 0 9569 0 0 198k 0 --:--:-- --:--:-- --:--:-- 198k
Windows
VM で、管理者として PowerShell ターミナルを開き、次のコマンドを実行します。
Invoke-RestMethod -Headers @{'Metadata-Flavor' = 'Google'} -Uri 'https://osconfig.googleapis.com/$discovery/rest'