Google が提供する公開イメージを使用して仮想マシン(VM)インスタンスを起動すると、ゲスト環境が自動的に VM インスタンスにインストールされます。ゲスト環境は、Compute Engine で VM を適切に実行するために、メタデータ サーバーのコンテンツを読み取る一連のスクリプト、デーモン、バイナリから構成されます。メタデータ サーバーは、クライアントからゲスト オペレーティング システムに情報を転送する通信チャネルです。
このドキュメントでは、ゲスト環境のコンポーネント、サポートされているオペレーティング システムの概要について説明します。また、ゲスト環境のインストールまたは更新を手動で行う方法についても説明します。
ゲスト環境を手動でインストールまたは更新する状況
Google が提供する公開イメージを使用して作成された VM インスタンスには、デフォルトでインストールされるゲスト環境が含まれています。
ゲスト環境がインスタンスで実行されているかどうかを確認するには、ゲスト環境を検証するをご覧ください。
インストールされたゲスト環境が古くなっている場合があります。インスタンスで使用できるゲスト環境が古くなっている場合は、ゲスト環境を更新します。
それ以外の場合は、次の状況でゲスト環境の手動インストールが必要になることがあります。
カスタム イメージまたは仮想ディスクを Compute Engine プラットフォームにインポートし、ゲスト環境の自動インストールを許可していない。
仮想ディスクまたはカスタム イメージをインポートするときに、Compute Engine でゲスト環境のインストールを許可することもできます。ただし、インポート プロセスでゲスト環境をインストールしない場合、ゲスト環境を手動でインストールする必要があります。
Migrate to Virtual Machines を使用して VM を Compute Engine に移行している。
ローカル SSD のゲスト環境の最適化を行わないイメージを使用している。
v20141218
より前のイメージを使用しているインスタンスがある。
ゲスト環境を手動でインストールする必要がある場合は、ゲスト環境のインストールをご覧ください。
サポートされているオペレーティング システム
Compute Engine で利用可能なサポート対象のオペレーティング システムごとに、固有のゲスト環境パッケージが必要です。こうしたパッケージは、Google またはオペレーティング システムの所有者のいずれかがビルドします。ゲスト環境のパッケージをビルドするユーザーの詳細については、オペレーティング システムの詳細ドキュメントで「標準的なイメージとの大きな違い」のセクションをご覧ください。
Linux ゲスト環境
Linux ゲスト環境がビルドしたのが Google かオペレーティング システムのオーナーかにかかわらず、すべてのビルドに適用される重要なコンポーネントがいくつかあります。
Linux ゲスト環境の基本コンポーネントは、サポートされているディストリビューションに適した構成で作成される deb
パッケージまたは rpm
パッケージとして提供されます。
Linux ゲスト環境でパッケージ化された主なスクリプト、デーモン、パッケージの概要は次のとおりです。
google-compute-engine
パッケージには、次のコンポーネントが含まれています。systemd
のシステム初期化スクリプト。- ホスト名の設定に使用される
udev
ルール、sysctl
ルール、rsyslog
構成、dhcp
構成などのシステム構成。 - インスタンスの起動時に実行される bash スクリプト。
このパッケージは、
google-guest-agent
パッケージとgoogle-compute-engine-oslogin
パッケージに依存します。このパッケージのソースコードを確認するには、GitHub の guest-configs をご覧ください。
google-guest-agent
パッケージには、Compute Engine の機能をサポートするためにゲスト OS で実行されるゲスト エージェントとメタデータ スクリプトの実行可能ファイルが含まれています。たとえば、アカウント管理、OS Login の統合、クロック スキュー、ネットワーク インターフェース管理、インスタンスの設定などの機能があります。Linux ゲスト エージェントは、次のように Compute Engine サービスと通信します。
- VM メタデータからデータを読み取り、データを書き込む
- シリアルポートと Cloud Logging(必要な場合)にログを送信する
このパッケージのソースコードを確認するには、GitHub のゲスト エージェントをご覧ください。
google-compute-engine-oslogin
パッケージには、OS Login のバイナリ、モジュール、スクリプトが含まれています。OS Login を使用し、Identity and Access Management(IAM)ロールを使用して VM インスタンスへのアクセスを管理できます。パッケージには次のものが含まれます。
- authorized_keys コマンド。ログイン時にユーザーを認証するため、ユーザーの OS Login プロファイルから sshd に SSH 認証鍵を提供します。
- Name Service Switch(NSS)モジュール。OS Login のユーザーとグループ情報をシステムで使用可能にするためのサポートを提供します。
- Pluggable Authentication Modules(PAM)。システムが Google Cloud IAM 権限を使用して、インスタンスへのログインを制御したり、root 権限(sudo 経由)で操作できるように、認可サポート(2 要素認証サポートが有効になっている場合は認証サポートを含む)を提供します。
google_oslogin_nss_cache
。ローカル ユーザーとグループ キャッシュを更新するためのユーティリティ。google_oslogin_control
。OS Login 機能を有効または無効にするシェル スクリプト。selinux
。OS Login をサポートするように SELinux を構成するための SELinux ポリシー定義ファイルと、コンパイル済みのポリシー パッケージが含まれています。
OS Login のコンポーネントは、次のように Compute Engine サービスと通信します。
- VM メタデータからデータを読み取り、データを書き込む
- シリアルポートと Cloud Logging(必要な場合)にログを送信する
このパッケージのソースコードを確認するには、GitHub の guest-oslogin をご覧ください。
gce-disk-expand
コンポーネントは、次のように Compute Engine サービスと通信します。- シリアルポートにログを送信する
このパッケージのソースコードを確認するには、GitHub の guest-diskexpand をご覧ください。
google-osconfig-agent
パッケージには、OS Inventory Management、OS Patch Management、VM Manager を使用した OS Configuration Management で使用される OS Config エージェントが含まれています。スクリプトは、次のように Compute Engine サービスと通信します。
- VM メタデータからデータを読み取り、データを書き込む
- デフォルトでは、OS Config エージェントは OS Config エージェントが有効になるまで情報を収集または送信しません。エージェントを有効にすると、エージェントは OS Config API サービスと通信します。エージェントによって完了したオペレーションを確認するには、VM Manager 監査ログの表示をご覧ください。
このエージェントのソースコードを確認するには、GitHub の osconfig をご覧ください。
Windows ゲスト環境
次のリストは、Windows ゲスト環境の一部であるパッケージをまとめたものです。
google-compute-engine-windows
パッケージには、ローカル ユーザー アカウントの作成とパスワードの設定 / リセット、ネットワーク インターフェースの構成、Windows フェイルオーバー クラスタのサポートの提供に使用される Windows ゲスト エージェントが含まれています。Windows ゲスト エージェントは、次のように Compute Engine サービスと通信します。
- VM メタデータからデータを読み取り、データを書き込む
- Windows アプリケーション イベントログ、シリアルポート、Cloud Logging にログを送信する
このエージェントのソースコードを確認するには、GitHub のゲスト エージェントをご覧ください。
google-compute-engine-sysprep
パッケージには、イメージの作成前に Windows インスタンスを一般化するためのスクリプトが含まれています。また、新しいインスタンスを構成する際に最初に起動するinstance_setup.ps1
スクリプトも含まれています。スクリプトは、次のように Compute Engine サービスと通信します。
- VM メタデータからデータを読み取り、データを書き込む
- Windows アプリケーション イベントログとシリアルポートにログを送信する
このエージェントのソースコードを確認するには、GitHub の compute-image-windows をご覧ください。
google-compute-engine-metadata-scripts
パッケージには、Compute Engine、sysprep-specialize、startup、shutdown の実行に使用されるスクリプトとバイナリが含まれています。スクリプトは、次のように Compute Engine サービスと通信します。
- VM メタデータからデータを読み取り、データを書き込む
sysprep-specialize-script-url
とwindows-startup-script-url
が使用された場合に Cloud Storage のロケーションから読み取る- Windows アプリケーション イベントログ、シリアルポート、Cloud Logging にログを送信する
このエージェントのソースコードを確認するには、GitHub の compute-image-windows をご覧ください。
google-compute-engine-powershell
パッケージには、PowerShell モジュールが含まれています。このモジュールには、PowerShell スクリプトが他の Windows ゲスト環境スクリプトで使用する共通の関数が含まれています。スクリプトは、次の Compute Engine サービスと通信します。
- デフォルトでは、PowerShell モジュールのロギング関数は Windows アプリケーション イベントログとシリアルポートにログを送信します。
このエージェントのソースコードを確認するには、GitHub の compute-image-windows をご覧ください。
google-compute-engine-auto-updater
パッケージには、Compute Engine パッケージを毎日更新するスクリプトが含まれています。このパッケージはデフォルトでインストールされなくなりました。スクリプトは、次のように Compute Engine サービスと通信します。
- VM メタデータからデータを読み取る
- Windows アプリケーション イベントログとコンソールにログを送信するために Googet エージェントを呼び出す
このエージェントのソースコードを確認するには、GitHub の compute-image-windows をご覧ください。
google-compute-engine-diagnostics
パッケージには、インスタンスから診断情報を取得し、その情報を Cloud Storage バケットに保存するバイナリが含まれています。このバイナリは Windows ゲスト エージェントによって実行されます。スクリプトは、次のように Compute Engine サービスと通信します。
- Cloud Storage バケットにデータを保存する
このエージェントのソースコードを確認するには、GitHub の compute-image-tools をご覧ください。
certgen
パッケージには、インスタンスに証明書を作成するバイナリが含まれています。このエージェントのソースコードを確認するには、GitHub の compute-image-windows をご覧ください。
googet
パッケージには、ゲスト環境のインストールとメンテナンスに使用されるパッケージ マネージャーのバイナリが含まれています。スクリプトは、次のように Compute Engine サービスと通信します。
- Google Cloud リポジトリからデータを読み取る
このエージェントのソースコードを確認するには、GitHub の googet をご覧ください。
google-compute-engine-vss
パッケージは、Microsoft の Volume Shadow Copy Service(VSS)を使用して、永続ディスクのスナップショットの取得に使用する Compute Engine VSS エージェントとプロバイダをインストールします。スクリプトは、次のように Compute Engine サービスと通信します。
- Google Cloud スナップショット サービスと通信する
このエージェントのソースコードを確認するには、GitHub の compute-image-windows をご覧ください。
google-osconfig-agent
パッケージには、OS Inventory Management、OS Patch Management、VM Manager を使用した OS Configuration Management で使用される OS Config エージェントが含まれています。スクリプトは、次のように Compute Engine サービスと通信します。
- VM メタデータからデータを読み取り、データを書き込む
- デフォルトでは、OS Config エージェントは OS Config エージェントが有効になるまで情報を収集または送信しません。エージェントを有効にすると、エージェントは OS Config API サービスと通信します。エージェントによって完了したオペレーションを確認するには、VM Manager 監査ログの表示をご覧ください。
このエージェントのソースコードを確認するには、GitHub の osconfig をご覧ください。
Compute Engine の Windows 用ドライバ
次の Compute Engine のドライバが Windows イメージ用に維持されています。
ドライバのタイプ | パッケージ名 |
---|---|
イーサネット アダプタ | google-compute-engine-driver-netkvm |
SCSI ディスク | google-compute-engine-driver-vioscsi |
ディスプレイ アダプタ | google-compute-engine-driver-gga |
クラッシュ ハンドラ | google-compute-engine-driver-pvpanic |
各ドライバは GooGet を使用してパッケージ化され、Cloud Repository に公開されます。ドライバのソースコードは、GitHub の compute-windows-drivers にあります。すべての Google Cloud Windows イメージは、GooGet ツールと Cloud Repository を使用してあらかじめ構成されています。GooGet をインストールしてリポジトリを自分で設定する必要がある場合は、パッケージングとパッケージの配布をご覧ください。
特定のドライバをインストールまたはアップグレードするには、次のコマンドを実行します。
googet install DRIVER_PACKAGE_NAME
次のステップ
ゲスト環境のインストールで、ゲスト環境のインストール手順を確認する。