ソースディスク、イメージ、スナップショット、Cloud Storage に保存されているイメージからカスタム イメージを作成し、そのイメージを使用して仮想マシン(VM)インスタンスを作成できます。カスタム イメージは、永続ブートディスクまたは特定のイメージを作成して特定の状態に変更し、その状態を保存して VM を作成する場合に理想的です。
あるいは、仮想ディスク インポート ツールを使用して、既存のシステムから Compute Engine にブートディスク イメージをインポートし、それらのイメージをカスタム イメージリストに追加することもできます。
始める前に
- Images ドキュメントを確認します。
-
まだ設定していない場合は、認証を設定します。認証とは、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 Console で、[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 コンソールで、[イメージの作成] ページに移動します。
イメージの [名前] を指定します。
イメージ作成元の [ソース] を指定します。永続ディスク、スナップショット、別のイメージまたは Cloud Storage 内の disk.raw ファイルが指定できます
実行中の VM にアタッチされたディスクからイメージを作成する場合、[インスタンスを実行し続ける] をオンにして、VM の実行中にイメージを作成することを確認します。イメージを作成する前に VM を準備できます。
[ソースディスクのロケーションに基づく(デフォルト)] プルダウン リストで、イメージを保存するロケーションを指定します。たとえば、イメージを
us
マルチリージョンに保存するにはus
を指定し、us-central1
リージョンに保存するにはus-central1
を指定します。選択しない場合、Compute Engine はイメージのソースのロケーションに最も近いマルチリージョンにイメージを保存します。省略可: イメージのプロパティを指定します。
- ファミリー: この新しいイメージが属するイメージ ファミリー。
- 説明: カスタム イメージの説明。
- ラベル: リソースをグループ化するラベル。
暗号鍵を指定します。Google が所有、管理する鍵、Cloud Key Management Service(Cloud KMS)鍵、顧客指定の暗号鍵(CSEK)のいずれかを選択できます。暗号鍵が指定されていない場合、イメージは Google が所有、管理する鍵を使用して暗号化されます。
[作成] をクリックしてイメージを作成します。
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
を指定します。選択しない場合、Compute Engine はイメージのソースのロケーションに最も近いマルチリージョンにイメージを保存します。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
を指定します。選択しない場合、Compute Engine はイメージのソースのロケーションに最も近いマルチリージョンにイメージを保存します。PROJECT_ID
: イメージが属するプロジェクト。IMAGE_NAME
: 作成する新しいイメージの名前。SOURCE_IMAGE
: イメージの作成元のイメージ。LOCATION
: 省略可。イメージの保存場所。たとえば、イメージをus
マルチリージョンに保存するにはus
を指定し、us-central1
リージョンに保存するにはus-central1
を指定します。選択しない場合、Compute Engine はイメージのソースのロケーションに最も近いマルチリージョンにイメージを保存します。PROJECT_ID
: イメージが属するプロジェクト。IMAGE_NAME
: 作成する新しいイメージの名前。SOURCE_PROJECT_ID
: 省略可。スナップショットが配置されているプロジェクト。プロジェクト内のスナップショット リソースにアクセスするための権限が必要です。SOURCE_SNAPSHOT
: イメージ作成元のスナップショット。LOCATION
: 省略可。イメージの保存場所。たとえば、イメージをus
マルチリージョンに保存するにはus
を指定し、us-central1
リージョンに保存するにはus-central1
を指定します。選択しない場合、Compute Engine はイメージのソースのロケーションに最も近いマルチリージョンにイメージを保存します。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
インテル Trust Domain Extensions(TDX)をサポートする Confidential VM インスタンスでイメージを使用する場合は、このタグを使用します。カーネルが Intel TDX をサポートしているかどうかを確認するには、 Linux カーネルの詳細をご覧ください。 -
SUSPEND_RESUME_COMPATIBLE
。VM での一時停止と再開をサポートします。詳細については、OS の互換性をご覧ください。
-
LOCATION
: 省略可。イメージを保存するリージョンまたはマルチリージョン。たとえば、イメージを
us
マルチリージョンに保存するにはus
を指定し、us-central1
リージョンに保存するにはus-central1
を指定します。選択しない場合、Compute Engine はイメージのソースのロケーションに最も近いマルチリージョンにイメージを保存します。PROJECT_ID
: 新しいイメージを作成するプロジェクトの IDIMAGE_NAME
: 新しいイメージの名前IMAGE_PROJECT
: 省略可。ソースイメージを含むプロジェクトこのパラメータは、別のプロジェクトからイメージをコピーする場合に使用します。
SOURCE_IMAGE
: 新しいイメージの基になるイメージLOCATION
: 省略可。イメージを保存するリージョンまたはマルチリージョンたとえば、イメージを
us
マルチリージョンに保存するにはus
を指定し、us-central1
リージョンに保存するにはus-central1
を指定します。選択しない場合、Compute Engine はイメージのソースのロケーションに最も近いマルチリージョンにイメージを保存します。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
このタグは、インテル 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 件のリクエストを発行できます。詳細については、スナップショットの頻度の制限をご覧ください。
Console
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") }
次のように置き換えます。
イメージの追加に関する詳細については、イメージ参照をご覧ください。
イメージの共有
カスタム イメージの作成後、プロジェクト間で共有できます。別のプロジェクトのユーザーにカスタム イメージの使用を許可した場合、ユーザーがリクエストでイメージ プロジェクトを指定してこれらのイメージにアクセスできます。
ゲスト オペレーティング システムの機能を有効にする
ゲスト オペレーティング システム(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 ペア変数です。変数がハードウェア チップに保存される物理マシンとは異なり、Compute Engine ではこれらの変数のストレージが仮想化されます。そのため、多くのオペレーティング システムでは、すべてのアプリケーションとユーザーがこれらの変数にアクセスして情報を取得できます。
このため、パスワードや秘密鍵などの機密情報や個人を特定できる情報を 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 および関連会社の登録商標です。
最終更新日 2024-12-22 UTC。
-