ゲスト環境

このドキュメントでは、Compute Engine でインスタンスを実行するために必要なスクリプト、デーモン、バイナリを含むゲスト環境の概要について説明します。

ゲスト環境は、メタデータ サーバーと通信します。メタデータ サーバーは、すべての Compute Engine インスタンスとともに実行されるインスタンスごとの HTTP サーバーです。メタデータ サーバーは、インスタンスに重要な構成データとオペレーション データを提供します。メタデータ サーバーに保存されるメタデータの種類については、VM メタデータをご覧ください。

ゲスト環境は、Google 提供のほとんどの公開オペレーティング システム(OS)イメージを使用して作成された Compute Engine インスタンスに自動的にインストールされます。各 OS イメージには、特定のゲスト環境パッケージが必要です。これらのパッケージは、Google またはオペレーティング システムの販売業者のいずれかによってビルドされます。ゲスト環境を含む OS イメージの一覧については、オペレーティング システムの詳細をご覧ください。

ゲスト環境のコンポーネント

次のセクションでは、インスタンスが Compute Engine と通信できるようにするパッケージとサービスについて説明します。

ゲスト エージェント

ゲスト環境の中心となるコンポーネントはゲスト エージェントです。ゲスト エージェントは、アカウント管理、OS Login の統合、ネットワーク インターフェース管理などのタスクを処理します。ゲスト エージェントは、Linux と Windows の両方のオペレーティング システムで使用できます。パッケージ名は次のとおりです。

  • Linux: google-guest-agent
  • Windows: google-compute-engine-windows

ゲスト エージェントの機能、アーキテクチャ、エージェントの管理方法など、ゲスト エージェントの詳細については、ゲスト エージェントをご覧ください。

Linux コンポーネント

Linux ゲスト環境の基本コンポーネントは、deb パッケージまたは rpm パッケージです。Compute Engine は、サポートされているディストリビューションに適した構成でこれらのパッケージを作成します。Linux インスタンスにインストールされているパッケージのリストを表示するには、インスタンスに接続し、オペレーティング システム バージョン別のインストール済みパッケージの表で OS バージョンに提供されているコマンドを実行します。

Linux ゲスト環境には、次の主要なパッケージが含まれています。

パッケージ名 説明 主な操作 GitHub のソースコードへのリンク
google-guest-agent

このパッケージは、Linux 環境用のゲスト エージェントです。

Linux ゲスト エージェントには、Compute Engine の機能をサポートするためにゲスト OS で実行されるスクリプトが含まれています。ゲスト エージェントの機能、アーキテクチャ、エージェントの管理方法など、ゲスト エージェントの詳細については、ゲスト エージェントをご覧ください。

  • VM メタデータからデータを読み取り、データを書き込む
  • シリアルポートと Cloud Logging(必要な場合)にログを送信する
guest-agent
google-compute-engine

システムの初期化と構成に必要なスクリプトとファイルが含まれています。

このパッケージには次のものが含まれています。

  • systemd のシステム初期化スクリプト
  • ホスト名の設定に使用される udev ルール、sysctl ルール、rsyslog 構成、dhcp 構成などのシステム構成
  • インスタンスの起動時に実行される bash スクリプト
  • 2024 年 10 月に導入された gce-resolved.conf ファイル。これにより、.local Cloud DNS ドメインのドメイン ルックアップがメタデータ サーバーにルーティングされます。このファイルがない場合、ドメイン ルックアップは systemd-resolved を介してルーティングされるものの、失敗するケースが頻繁に起こります。

    環境で .local ドメインを使用していない場合は、既存の構成と競合する gce-resolved.conf ファイルがあれば削除してください。

次のパッケージと連携してインスタンスを構成します。
  • google-guest-agent
  • google-compute-engine-oslogin
guest-configs
google-compute-engine-oslogin OS Login を使用してインスタンス アクセスを管理するために必要なバイナリ、モジュール、スクリプトが含まれています。OS Login を使用すると、IAM ロールを使用してインスタンスへのアクセスを管理できます。OS Login の詳細については、OS Login をご覧ください。

このパッケージには次のものが含まれています。

  • 承認済み鍵コマンド: 公開 SSH 認証鍵を使用してログイン時にユーザーを認証するコマンド。
  • Name Service Switch(NSS)モジュール: OS Login のユーザーとグループ情報をシステムに提供するサービス。
  • Pluggable Authentication Modules(PAM): 認可サポート(2 要素認証サポートが有効になっている場合は認証サポートを含む)を提供するモジュール。このモジュールにより、システムは Cloud de Confiance by S3NSIAM 権限を使用して、システムがインスタンスにログインできるかどうか、または root としてオペレーションを実行できるかどうか(sudo を使用)を制御できます。
  • google_oslogin_nss_cache: ローカル ユーザーとグループ キャッシュを更新するためのユーティリティ。
  • selinux: OS Login をサポートするように SELinux を構成するための SELinux ポリシー定義ファイルと、コンパイル済みのポリシー パッケージを含むパッケージ。
  • VM メタデータからデータを読み取り、データを書き込む
  • シリアルポートと Cloud Logging(必要な場合)にログを送信する
guest-oslogin
gce-disk-expand ブートディスクのサイズ変更に必要なコンポーネントが含まれています。 シリアルポートにログを送信する gce-disk-expand
google-osconfig-agent VM Manager が OS インベントリ、パッチ、ポリシーの管理に使用する OS Config エージェントが含まれています。OS Config エージェントの詳細については、VM Manager をご覧ください。

VM メタデータからデータを読み取り、データを書き込む

デフォルトでは、OS Config エージェントを有効にするまで、OS Config エージェントは情報を収集または送信しません。エージェントを有効にすると、エージェントは OS Config API サービスと通信します。エージェントによって完了したオペレーションを確認するには、VM Manager の監査ロギングをご覧ください。

guest-osconfig

Windows コンポーネント

Google 提供の Windows OS イメージはすべて、GooGet ツールと Cloud de Confiance リポジトリを使用してあらかじめ構成されています。GooGet は、Windows インスタンスのゲスト環境をインストールして維持します。GooGet をインストールしてリポジトリを設定する必要がある場合は、compute-image-windows GitHub リポジトリのパッケージングとパッケージの配布をご覧ください。Windows インスタンスにインストールされているパッケージのリストを表示するには、インスタンスに接続して googet installed を実行します。

Windows ゲスト環境には、次の主要なパッケージが含まれています。

パッケージ名 説明 主な操作 GitHub のソースコードへのリンク
google-compute-engine-windows

このパッケージは、Windows 環境用のゲスト エージェントです。

Windows ゲスト エージェントには、Compute Engine の機能をサポートするためにゲスト OS で実行されるスクリプトが含まれています。ゲスト エージェントの機能、アーキテクチャ、エージェントの管理方法など、ゲスト エージェントの詳細については、ゲスト エージェントをご覧ください。

  • VM メタデータからデータを読み取り、データを書き込む
  • Windows アプリケーション イベントログ、シリアルポート、Cloud Logging にログを送信する
guest-agent
google-compute-engine-sysprep OS イメージの作成前に Windows インスタンスを一般化するためのスクリプトが含まれています。また、新しいインスタンスを構成する際に最初に起動する instance_setup.ps1 スクリプトも含まれています。
  • VM メタデータからデータを読み取り、データを書き込む
  • Windows アプリケーション イベントログとシリアルポートにログを送信する
sysprep
google-compute-engine-metadata-scripts

sysprep-specializestartupshutdown の各スクリプトを実行するスクリプトとバイナリが含まれています。

  • VM メタデータからデータを読み取り、データを書き込む
  • sysprep-specialize-script-urlwindows-startup-script-url が使用された場合に Cloud Storage のロケーションからデータを読み取る
  • Windows アプリケーション イベントログ、シリアルポート、Cloud Logging にログを送信する
google_metadata_script_runner
google-compute-engine-powershell PowerShell モジュールが含まれています。このモジュールは、他の Windows ゲスト環境スクリプトの PowerShell スクリプトが使用する共通の関数を提供します。 Windows アプリケーション イベントログとシリアルポートにログを送信する PowerShell
google-compute-engine-auto-updater

Compute Engine パッケージを毎日更新するスクリプトが含まれています。

このパッケージはデフォルトではインストールされません。このアプローチでは、更新プロセスを制御することで、環境の安定性を維持できます。環境で中断のない更新が許容される場合は、このパッケージをインストールして、ゲスト環境パッケージが自動的に更新されるようにします。

このパッケージをインストールするには、次のコマンドを使用します。 googet -noconfirm install google-compute-engine-auto-updater

  • VM メタデータからデータを読み取る
  • Windows アプリケーション イベントログとコンソールにログを送信するために GooGet エージェントを呼び出す
auto_updater
google-compute-engine-diagnostics インスタンスから診断情報を収集し、その情報を Cloud Storage バケットに保存するバイナリが含まれています。Windows ゲスト エージェントがバイナリを実行します。 Cloud Storage バケットにデータを保存する 診断
certgen インスタンスに証明書を作成するバイナリが含まれています。 certgen
GooGet Windows インスタンスのゲスト環境をインストールして維持するバイナリが含まれています。 packages.cloud.google.com にある Cloud de Confiance リポジトリからデータを読み取ります。 GooGet
google-compute-engine-vss Microsoft の Volume Shadow Copy Service(VSS)を使用して、永続ディスクのスナップショットを取得する Compute Engine VSS エージェントとプロバイダをインストールします。 Cloud de Confiance by S3NS スナップショット サービスと通信する vss
google-osconfig-agent VM Manager が OS インベントリ、パッチ、ポリシーの管理に使用する OS Config エージェントが含まれています。OS Config エージェントの詳細については、VM Manager をご覧ください。

VM メタデータからデータを読み取り、データを書き込む

デフォルトでは、OS Config エージェントを有効にするまで、OS Config エージェントは情報を収集または送信しません。エージェントを有効にすると、エージェントは OS Config API サービスと通信します。エージェントが完了したオペレーションを確認するには、VM Manager の監査ロギングをご覧ください。

guest-osconfig
Compute Engine の Windows 用ドライバ

インスタンスの適切な機能とパフォーマンスを確保するためのドライバがいくつか含まれています。GooGet パッケージ マネージャーは、これらのドライバを管理し、 Cloud de Confiance by S3NS リポジトリに公開します。

次の Compute Engine ドライバが Windows OS イメージ用に維持されています。

ドライバのタイプ ドライバ パッケージ名
イーサネット アダプタ google-compute-engine-driver-netkvm
SCSI ディスク google-compute-engine-driver-vioscsi
ディスプレイ アダプター google-compute-engine-driver-gga
クラッシュ ハンドラ google-compute-engine-driver-pvpanic
Virtio メモリバルーン ドライバ google-compute-engine-driver-balloon
Google 仮想 NIC google-compute-engine-driver-gvnic

特定のドライバをインストールまたはアップグレードするには、次のコマンドを実行します。

        googet install DRIVER_PACKAGE_NAME
        
compute-windows-drivers

次のステップ