ソースディスク、イメージ、スナップショット、Cloud Storage に保存されているイメージからカスタム イメージを作成し、そのイメージを使用して仮想マシン(VM)インスタンスを作成できます。カスタム イメージは、永続ブートディスクまたは特定のイメージを作成して特定の状態に変更した後、VM の作成用にその状態を保存する方法として理想的です。
あるいは、仮想ディスク インポート ツールを使用して既存のシステムのブートディスク イメージを Compute Engine にインポートし、そのイメージをカスタム イメージリストに追加することもできます。
始める前に
- イメージに関するドキュメントを確認します。
-
まだ設定していない場合は、認証を設定します。認証とは、 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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
IMAGE_NAME: イメージの名前。
PROJECT_ID: イメージが属するプロジェクト ID。
VM を停止してシャットダウンできるようにし、永続ディスクへのデータの書き込みを停止します。
イメージを作成する前に VM を停止できない場合は、ディスクへの書き込み量を最小限に抑え、ファイル システムを同期してください。永続ディスクへの書き込みを最小限に抑えるには、次の手順を行います。
- 永続ディスクにデータを書き込むアプリやオペレーティング システムのプロセスを一時停止します。
- 必要に応じて、アプリでディスクへのフラッシュを実行します。たとえば、MySQL では
FLUSH
ステートメントを使用します。他のアプリにも同様のプロセスがある場合があります。 - アプリの永続ディスクへの書き込みを停止します。
sudo sync
を実行します。
Google Cloud コンソールで [VM インスタンス] ページに移動します。
イメージの作成元として使用する VM の名前をクリックします。
[VM インスタンスの詳細] ページが表示されます。
[編集] をクリックします。
[ブートディスク] セクションの [削除ルール] で、[ディスクを維持] オプションが選択されていることを確認します。
[保存] をクリックします。
VM_NAME
: VM インスタンスの名前。SOURCE_DISK
: イメージの作成元として使用するディスクの名前。PROJECT_ID
: ソース VM が属するプロジェクト ID。ZONE
: ソース VM が配置されているゾーン。VM_NAME
: ソース VM の名前。SOURCE_DISK
: イメージの作成元として使用するディスクのデバイス名。- 永続ディスク(ディスクが VM にアタッチされている場合も含む)
- 永続ディスクのスナップショット
- プロジェクトの別のイメージ
- 別のプロジェクトで共有されているイメージ
- Cloud Storage 内の圧縮された RAW イメージ
Google Cloud Console で、[イメージの作成] ページに移動します。
イメージの [名前] を指定します。
イメージ作成元の [ソース] を指定します。永続ディスク、スナップショット、別のイメージまたは Cloud Storage 内の disk.raw ファイルが指定できます
実行中の VM にアタッチされたディスクからイメージを作成する場合、[インスタンスを実行し続ける] をオンにして、VM の実行中にイメージを作成することを確認します。イメージを作成する前に VM を準備できます。
[ソースディスクのロケーションに基づく(デフォルト)] プルダウン リストで、イメージを保存するロケーションを指定します。たとえば、イメージを
us
マルチリージョンに保存するにはus
を指定し、us-central1
リージョンに保存するにはus-central1
を指定します。選択しない場合は、イメージのソースのロケーションに最も近いマルチリージョンにイメージが保存されます。省略可: イメージのプロパティを指定します。
- ファミリー: この新しいイメージが属するイメージ ファミリー。
- 説明: カスタム イメージの説明。
- ラベル: リソースをグループ化するラベル。
暗号鍵を指定します。 Google-owned and Google-managed encryption key、Cloud Key Management Service(Cloud KMS)鍵、顧客指定の暗号鍵(CSEK)のいずれかを選択できます。暗号鍵が指定されていない場合、イメージは Google-owned and Google-managed encryption keyを使用して暗号化されます。
[作成] をクリックしてイメージを作成します。
IMAGE_NAME
: 新しいイメージの名前SOURCE_DISK
: イメージ作成元のディスクZONE
: ディスクが配置されているゾーンIMAGE_FAMILY
: 省略可。このイメージが属するイメージ ファミリーを指定するフラグ。LOCATION
: 省略可。イメージが格納されるリージョンまたはマルチリージョンを指定するフラグ。たとえば、イメージをus
マルチリージョンに保存するにはus
を指定し、us-central1
リージョンに保存するにはus-central1
を指定します。選択しない場合、Compute Engine はイメージのソースのロケーションに最も近いマルチリージョンにイメージを保存します。IMAGE_NAME
: 新しいイメージの名前。SOURCE_IMAGE
: 新しいイメージの作成元のイメージ。IMAGE_PROJECT
: 省略可。ソースイメージがあるプロジェクト。このパラメータは、別のプロジェクトからイメージをコピーする場合に使用します。IMAGE_FAMILY
: 省略可。この新しいイメージが属するイメージ ファミリー。LOCATION
: 省略可。イメージを保存するリージョンまたはマルチリージョンを指定できます。たとえば、イメージをus
マルチリージョンに保存するにはus
を指定し、us-central1
リージョンに保存するにはus-central1
を指定します。選択しない場合は、イメージのソースのロケーションに最も近いマルチリージョンにイメージが保存されます。IMAGE_NAME
: 新しいイメージの名前SOURCE_SNAPSHOT
: イメージ作成元のスナップショットLOCATION
: 省略可。イメージが格納されるリージョンまたはマルチリージョンを指定するフラグ。たとえば、イメージをus
マルチリージョンに保存するにはus
を指定し、us-central1
リージョンに保存するにはus-central1
を指定します。選択しない場合、Compute Engine はイメージのソースのロケーションに最も近いマルチリージョンにイメージを保存します。PROJECT_ID
: イメージが属するプロジェクト ID。IMAGE_NAME
: 作成する新しいイメージの名前。ZONE
: ソースディスクが配置されているゾーン。SOURCE_DISK
: イメージ作成元のディスク。LOCATION
: 省略可。イメージの保存場所。たとえば、イメージをus
マルチリージョンに保存するにはus
を指定し、us-central1
リージョンに保存するにはus-central1
を指定します。選択しない場合は、イメージのソースのロケーションに最も近いマルチリージョンにイメージが保存されます。PROJECT_ID
: イメージが属するプロジェクト。IMAGE_NAME
: 作成する新しいイメージの名前。SOURCE_IMAGE
: イメージの作成元のイメージ。LOCATION
: 省略可。イメージの保存場所。たとえば、イメージをus
マルチリージョンに保存するにはus
を指定し、us-central1
リージョンに保存するにはus-central1
を指定します。選択しない場合は、イメージのソースのロケーションに最も近いマルチリージョンにイメージが保存されます。PROJECT_ID
: イメージが属するプロジェクト。IMAGE_NAME
: 作成する新しいイメージの名前。SOURCE_PROJECT_ID
: 省略可。スナップショットが配置されているプロジェクト。プロジェクト内のスナップショット リソースにアクセスするための権限が必要です。SOURCE_SNAPSHOT
: イメージ作成元のスナップショット。LOCATION
: 省略可。イメージの保存場所。たとえば、イメージをus
マルチリージョンに保存するにはus
を指定し、us-central1
リージョンに保存するにはus-central1
を指定します。選択しない場合は、イメージのソースのロケーションに最も近いマルチリージョンにイメージが保存されます。IMAGE_NAME
: 新しいイメージの名前SOURCE_IMAGE
: 新しいイメージの基になるイメージIMAGE_PROJECT
: 省略可。ソースイメージを含むプロジェクトこのパラメータは、別のプロジェクトからイメージをコピーする場合に使用します。
FEATURES
: イメージから作成する VM の機能を有効にするゲスト OS タグ複数の値を追加する場合は、値をカンマで区切ります。次のいずれかの値に設定します。
-
VIRTIO_SCSI_MULTIQUEUE
。NVMe の代わりにローカル SSD デバイス上で使用します。SCSI に対応するイメージの詳細については、インターフェースの選択をご覧ください。Linux イメージの場合は、カーネル バージョン 3.17 以降のイメージで、ローカル SSD デバイスのマルチキュー SCSI を有効にできます。Windows イメージの場合は、Compute Engine Windows ドライバ バージョン 1.2 を使用するイメージで、ローカル SSD デバイスのマルチキュー SCSI を有効にできます。
WINDOWS
。Windows Server カスタム ブートイメージに Windows イメージのタグを付けます。-
MULTI_IP_SUBNET
。/32
以外のネットマスクのインターフェースを構成します。複数のネットワーク インターフェースとその仕組みの詳細については、複数のネットワーク インターフェースの概要と例をご覧ください。 -
UEFI_COMPATIBLE
。UEFI ファームウェアと以下の Shielded VM 機能を使用して起動します。- セキュアブート: デフォルトでは無効
- Virtual Trusted Platform Module(vTPM): デフォルトでは有効
- 整合性モニタリング: デフォルトでは有効
-
GVNIC
。50 Gbps~100 Gbps の速度を持つ高いネットワーク帯域幅に対応します。詳細については、Google Virtual NIC の使用をご覧ください。 -
IDPF
。Intel Infrastructure Data Path Function(IDPF)ネットワーク インターフェースに対応します。 -
SEV_CAPABLE
またはSEV_SNP_CAPABLE
。AMD Secure Encrypted Virtualization(SEV)または AMD Secure Encrypted Virtualization-Secure Nested Paging(SEV-SNP)に対応する Confidential VM インスタンスでイメージを使用する場合は、これらのタグを使用します。カーネルが AMD SEV または AMD SEV-SNP に対応しているかどうかを確認するには、Linux カーネルの詳細をご覧ください。 -
SEV_LIVE_MIGRATABLE_V2
。AMD SEV でライブ マイグレーションに対応する Confidential VM インスタンスでイメージを使用する場合は、このタグを使用します。カーネルがライブ マイグレーションに対応しているかどうかを確認するには、Linux カーネルの詳細をご覧ください。 -
TDX_CAPABLE
。このタグは、Intel Trust Domain Extensions(TDX)に対応する Confidential VM インスタンスでイメージを使用する場合に使用します。カーネルが Intel TDX に対応しているかどうかを確認するには、Linux カーネルの詳細をご覧ください。 -
SUSPEND_RESUME_COMPATIBLE
。VM を一時停止 / 再開できるようにします。詳細については、OS の互換性をご覧ください。
-
LOCATION
: 省略可。イメージを保存するリージョンまたはマルチリージョン。たとえば、イメージを
us
マルチリージョンに保存するにはus
を指定し、us-central1
リージョンに保存するにはus-central1
を指定します。選択しない場合は、イメージのソースのロケーションに最も近いマルチリージョンにイメージが保存されます。PROJECT_ID
: 新しいイメージを作成するプロジェクトの IDIMAGE_NAME
: 新しいイメージの名前IMAGE_PROJECT
: 省略可。ソースイメージを含むプロジェクトこのパラメータは、別のプロジェクトからイメージをコピーする場合に使用します。
SOURCE_IMAGE
: 新しいイメージの基になるイメージLOCATION
: 省略可。イメージを保存するリージョンまたはマルチリージョンたとえば、イメージを
us
マルチリージョンに保存するにはus
を指定し、us-central1
リージョンに保存するにはus-central1
を指定します。選択しない場合は、イメージのソースのロケーションに最も近いマルチリージョンにイメージが保存されます。FEATURES
: イメージから作成する VM の機能を有効にするゲスト OS タグ複数の値を追加する場合は、値をカンマで区切ります。次のいずれかの値に設定します。
-
VIRTIO_SCSI_MULTIQUEUE
。NVMe の代わりにローカル SSD デバイス上で使用します。SCSI に対応するイメージの詳細については、インターフェースの選択をご覧ください。Linux イメージの場合は、カーネル バージョン 3.17 以降のイメージで、ローカル SSD デバイスのマルチキュー SCSI を有効にできます。Windows イメージの場合は、Compute Engine Windows ドライバ バージョン 1.2 を使用するイメージで、ローカル SSD デバイスのマルチキュー SCSI を有効にできます。
WINDOWS
。Windows Server カスタム ブートイメージに Windows イメージのタグを付けます。-
MULTI_IP_SUBNET
。/32
以外のネットマスクのインターフェースを構成します。複数のネットワーク インターフェースとその仕組みの詳細については、複数のネットワーク インターフェースの概要と例をご覧ください。 -
UEFI_COMPATIBLE
。UEFI ファームウェアと以下の Shielded VM 機能を使用して起動します。- セキュアブート: デフォルトでは無効
- Virtual Trusted Platform Module(vTPM): デフォルトでは有効
- 整合性モニタリング: デフォルトでは有効
-
GVNIC
。50 Gbps~100 Gbps の速度を持つ高いネットワーク帯域幅に対応します。詳細については、Google Virtual NIC の使用をご覧ください。 -
IDPF
。Intel Infrastructure Data Path Function(IDPF)ネットワーク インターフェースに対応します。 -
SEV_CAPABLE
またはSEV_SNP_CAPABLE
。AMD Secure Encrypted Virtualization(SEV)または AMD Secure Encrypted Virtualization-Secure Nested Paging(SEV-SNP)に対応する Confidential VM インスタンスでイメージを使用する場合は、これらのタグを使用します。カーネルが AMD SEV または AMD SEV-SNP に対応しているかどうかを確認するには、Linux カーネルの詳細をご覧ください。 -
SEV_LIVE_MIGRATABLE_V2
。AMD SEV でライブ マイグレーションに対応する Confidential VM インスタンスでイメージを使用する場合は、このタグを使用します。カーネルがライブ マイグレーションに対応しているかどうかを確認するには、Linux カーネルの詳細をご覧ください。 -
TDX_CAPABLE
。このタグは、Intel Trust Domain Extensions(TDX)に対応する Confidential VM インスタンスでイメージを使用する場合に使用します。カーネルが Intel TDX に対応しているかどうかを確認するには、Linux カーネルの詳細をご覧ください。 -
SUSPEND_RESUME_COMPATIBLE
。VM を一時停止 / 再開できるようにします。詳細については、OS の互換性をご覧ください。
-
ARCHITECTURE_UNSPECIFIED
X86_64
ARM64
- 他のプロジェクトと非公開イメージを共有する。
- ディスク、イメージ、VM インスタンスをインポートする方法を学習する。
- Cloud Storage にイメージをエクスポートする方法を学習する。
- カスタム イメージから VM を開始する方法を学習する。
- イメージ ファミリーでイメージ バージョンを設定する方法を学びます。
- カスタム イメージを非推奨にする方法を学習する。
- カスタム イメージを削除する方法を学習する。
Go
ローカル開発環境でこのページの Go サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
Java
ローカル開発環境でこのページの Java サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
Node.js
ローカル開発環境でこのページの Node.js サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
Python
ローカル開発環境でこのページの Python サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
カスタム イメージの作成
このセクションでは、Linux VM のカスタム イメージを作成する方法について説明します。Windows イメージの作成については、Windows イメージを作成するをご覧ください。
イメージの保存ロケーションの選択
カスタム イメージを作成する場合、デュアルリージョンのロケーションを除く、イメージの Cloud Storage のロケーションを指定できます。イメージの保存ロケーションを指定すると、リージョン全体の冗長性を確保することで、データの局所性に関する規制およびコンプライアンスの要件と、高可用性のニーズを満たすことができます。Cloud Storage に保存されるイメージを作成、変更、削除するには、
roles/compute.storageAdmin
が必要です。保存ロケーション機能はオプションです。ロケーションを選択しない場合、Compute Engine はイメージソースに最も近いマルチリージョンにイメージを保存します。たとえば、
us-central1
にあるソースディスクからイメージを作成する場合、カスタム イメージのロケーションを指定しないと、Compute Engine はイメージをus
マルチリージョンに保存します。VM を作成しようとするリージョンでイメージを使用できない場合、Compute Engine は、VM の初回作成時に、そのリージョンのイメージをキャッシュに保存します。
イメージが保存されているロケーションを確認するには、
gcloud compute
からimages describe
コマンドを使用します。gcloud compute images describe IMAGE_NAME \ --project=PROJECT_ID
次のように置き換えます。
この機能のリリース前から存在するイメージはすべて元のロケーションに残っています。変わったのは、そのすべてのイメージが存在するロケーションを確認可能になったことです。既存のイメージを移動するには、新しいロケーションに再作成する必要があります。
イメージ用の VM の準備
実行中の VM にアタッチされている状態のディスクからでもイメージを作成できます。ただし、イメージをキャプチャしやすい状態に VM を調整することで、イメージの信頼性が向上します。このセクションでは、ブートディスクをイメージ用に準備する方法について説明します。
永続ディスクへのデータ書き込みを最小限に抑える
ディスクの書き込みを減らすには、次のいずれかの方法を使用します。
ディスクの自動削除オプションを無効にする
デフォルトでは、ブートディスクで自動削除オプションが有効になっています。VM の削除時にディスクが自動的に削除されないよう、ディスクからイメージを作成する前に自動削除を無効にしてください。ディスクの自動削除を無効にするには、次のいずれかの方法を使用します。
コンソール
gcloud
Google Cloud CLI で
gcloud compute instances set-disk-auto-delete
コマンドを使用して、ディスクの自動削除オプションを無効にします。gcloud compute instances set-disk-auto-delete VM_NAME \ --no-auto-delete \ --disk=SOURCE_DISK
次のように置き換えます。
Go
Go
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Go の設定手順に沿って操作します。詳細については、Compute Engine Go API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
Java
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Java の設定手順に沿って操作します。詳細については、Compute Engine Java API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
Node.js
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Node.js の設定手順に沿って操作します。詳細については、Compute Engine Node.js API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
Python
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Python の設定手順に沿って操作します。詳細については、Compute Engine Python API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
REST
ディスクの自動削除オプションを設定するには、
instances.setDiskAutoDelete
メソッドにPOST
リクエストを送信します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setDiskAutoDelete?autoDelete=false&deviceName=SOURCE_DISK
次のように置き換えます。
VM の準備が完了したら、イメージを作成します。
イメージの作成
次のソースからディスク イメージを作成できます。ディスク イメージは 10 分ごとに作成できます。ディスク イメージを作成するためのリクエストを大量に発行する場合、60 分で最大 6 件のリクエストを発行できます。詳細については、スナップショットの頻度の制限をご覧ください。
コンソール
gcloud
Google Cloud CLI では、
gcloud compute images create
コマンドを使用してカスタム イメージを作成します。ソースディスクからイメージを作成:
--force
フラグは、実行中のインスタンスからイメージを作成するためのフラグです。このフラグは省略可能です。デフォルトでは、実行中のインスタンスからイメージを作成することはできません。このフラグは、インスタンスの実行中にイメージを作成することを確実に意図している場合にのみ指定してください。gcloud compute images create IMAGE_NAME \ --source-disk=SOURCE_DISK \ --source-disk-zone=ZONE \ [--family=IMAGE_FAMILY] \ [--storage-location=LOCATION] \ [--force]
次のように置き換えます。
ソースイメージからイメージを作成する:
gcloud compute images create IMAGE_NAME \ --source-image=SOURCE_IMAGE \ [--source-image-project=IMAGE_PROJECT] \ [--family=IMAGE_FAMILY] \ [--storage-location=LOCATION]
次のように置き換えます。
スナップショットからイメージを作成:
gcloud compute images create IMAGE_NAME \ --source-snapshot=SOURCE_SNAPSHOT \ [--storage-location=LOCATION]
次のように置き換えます。
イメージのロケーションの表示
gcloud compute images describe
コマンドを使用して、イメージのロケーションを表示します。gcloud compute images describe IMAGE_NAME
IMAGE_NAME
は、確認するイメージの名前に置き換えます。Go
Go
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Go の設定手順に沿って操作します。詳細については、Compute Engine Go API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
Java
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Java の設定手順に沿って操作します。詳細については、Compute Engine Java API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
Python
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Python の設定手順に沿って操作します。詳細については、Compute Engine Python API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
REST
images().insert
メソッドに対してPOST
リクエストを実行します。リクエストの本文内の URL で、イメージの作成元となるソース オブジェクトをポイントします。独自のプロジェクト ID とイメージ名を使用して、リソースへの URL を指定します。永続ディスクからイメージを作成:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images { "name": "IMAGE_NAME", "sourceDisk": "/zones/ZONE/disks/SOURCE_DISK", ("storageLocations": "LOCATION",) ("forceCreate": "TRUE") }
次のように置き換えます。
オプションの
forceCreate
パラメータを使用すると、実行中の VM からイメージを作成できます。実行中の VM からイメージを作成することを確実に意図している場合にのみ、TRUE
を指定します。forceCreate
のデフォルトの設定はFALSE
です。別のイメージからイメージを作成:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images { "name": "IMAGE_NAME", "sourceImage": "/global/images/SOURCE_IMAGE", ("storageLocations": "LOCATION") }
次のように置き換えます。
スナップショットからイメージを作成:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images { "name": "IMAGE_NAME", "sourceSnapshot": "(/SOURCE_PROJECT_ID)/global/snapshots/SOURCE_SNAPSHOT", ("storageLocations": "LOCATION") }
次のように置き換えます。
イメージの追加に関する詳細については、images のリファレンスをご覧ください。
イメージの共有
カスタム イメージの作成後、プロジェクト間で共有できます。別のプロジェクトのユーザーにカスタム イメージの使用を許可すると、そのユーザーはリクエストでイメージ プロジェクトを指定することでイメージにアクセスできます。
ゲスト オペレーティング システムの機能を有効にする
ゲスト オペレーティング システム(OS)の機能を使用すると、カスタム イメージで以下のネットワーキング、セキュリティ、ストレージ、OS オペレーティング システムの各オプションを構成できます。これらの構成を持つカスタム イメージは、ブートディスクとして使用されます。
gcloud
既存のカスタム イメージから新しいカスタム イメージを作成するには、
--guest-os-features
フラグを付けてgcloud compute images create
コマンドを使用します。gcloud compute images create IMAGE_NAME \ --source-image=SOURCE_IMAGE \ [--source-image-project=IMAGE_PROJECT] \ --guest-os-features="FEATURES,..." \ [--storage-location=LOCATION]
次のように置き換えます。
REST
既存のカスタム イメージから新しいカスタム イメージを作成するには、
guestOsFeatures
フラグを付けてimages().insert
メソッドを使用します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images { "name": "IMAGE_NAME", "sourceImage": "(projects/IMAGE_PROJECT)/global/images/SOURCE_IMAGE", ("storageLocations": "LOCATION",) "guestOsFeatures": [ { "type": "FEATURES" } ] }
次のように置き換えます。
UEFI 変数に機密情報を含めない
Unified Extensible Firmware Interface(UEFI)変数は、UEFI ファームウェアが起動時に VM のオペレーティング システムを起動するために使用する Key-Value ペア変数です。UEFI 変数がハードウェア チップに保存される物理マシンとは異なり、Compute Engine では UEFI 変数は仮想ストレージに保存されます。そのため、多くのオペレーティング システムでは、すべてのアプリケーションとユーザーが UEFI 変数にアクセスして情報を取得できます。
このため、パスワードや秘密鍵などの機密情報や個人情報を UEFI 変数に書き込んだり保存したりしないことを強くおすすめします。
Arm イメージに関する考慮事項
Google は、Arm CPU プラットフォームで動作する C4A と Tau T2A マシンシリーズを提供しています。お客様はこれらのマシンシリーズを使用して VM を開始し、そのソース VM を使用して Arm イメージを作成できます。カスタム Arm イメージを作成するプロセスは、x86 イメージを作成するプロセスと同じです。
ユーザーが Arm イメージと x86 イメージを区別できるように、Arm イメージでは
architecture
フィールドがARM64
に設定されます。このフィールドで有効な値は次のとおりです。イメージのユーザーはこのフィールドを使ってフィルタすることで、x86 または Arm ベースのイメージを見つけることができます。
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-03-27 UTC。
-