マシンイメージを使用すると、Compute Engine で実行される VM インスタンス用に、すべての構成、メタデータ、権限、データを複数のディスクから格納できます。マシンイメージを作成するために使用する VM インスタンスは、ソース VM インスタンスと呼ばれます。
マシンイメージを使用するタイミングと方法については、マシンイメージをご覧ください。
このドキュメントでは、ソース VM インスタンスからマシンイメージを作成する手順を説明します。
始める前に
-
まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
-
制限事項
- 特定のインスタンスのマシンイメージは、60 分ごとに最大 6 回作成できます。
- マシンイメージを保護するには、Cloud Key Management Service(Cloud KMS)または顧客指定の暗号鍵(CSEK)を使用します。暗号鍵はディスクの内容を保護します。ただし、メタデータは保護されません。
- CSEK でマシンイメージを保護する場合、マシンイメージの生成時にすべてのディスクデータの完全なコピーが保存されます。それ以外は、ディスクデータは差分コピーに保存されます。
次の条件を満たすソース VM からマシンイメージを作成することはできません。
- 200 TB を超えるディスクがアタッチされている。
- アタッチされたディスクがない。
- Hyperdisk Extreme ディスクがアタッチされている。
- C3D、H3、A3、Z3 マシンタイプを使用する。
インスタンスとディスクのプロパティがマシンイメージでサポートされていない。
VM インスタンスからマシンイメージを作成する場合、またはマシンイメージから VM インスタンスを作成する場合、次のインスタンスとディスクのプロパティは保持または復元されません。
disks.architecture
disks.description
disks.labels
disks.locked
disks.multiWriter
disks.onUpdateAction
disks.provisionedIops
disks.shieldedInstanceInitialState
disks.sourceImage
disks.sourceImageEncryptionKey
disks.sourceInstantSnapshot
disks.sourceSnapshot
disks.sourceSnapshotEncryptionKey
privateIpv6GoogleAccess
resourceManagerTags
resourcePolicies
secure_tag
shieldedInstanceConfig
VM からマシンイメージを作成する
このタスクに必要な権限
このタスクを行うには、次の権限が必要です。
- プロジェクトに対する
compute.machineImages.create
- ソース インスタンスに対する
compute.instances.useReadOnly
権限 - ディスクに対する
compute.disks.createSnapshot
マシンイメージは、Google Cloud コンソール、Google Cloud CLI、または REST を使用して作成できます。
マシンイメージを作成するには、次の情報が必要です。
- 作成するマシンイメージの名前。
- ソース VM インスタンスの名前。
- ソース VM インスタンスが配置されているゾーン。
- 説明(省略可)。
- オプションの
storageLocation
。ロケーションを指定しない場合は、ソース VM インスタンスのマルチリージョンの Cloud Storage ロケーションがデフォルトのストレージ ロケーションとなります。 - オプションの暗号鍵。Google が所有、管理する鍵、Cloud Key Management Service(Cloud KMS)鍵、顧客指定の暗号鍵(CSEK)のいずれかを選択できます。暗号鍵が指定されていない場合、マシンイメージは Google が所有、管理する鍵を使用して暗号化されます。
インスタンスのクローン作成とスナップショット作成にマシンイメージを使用する場合は、インスタンスからマシンイメージを生成する前に、そのインスタンスに固有の OS とアプリ情報を削除します。たとえば、Windows VM インスタンスの場合は、
GCESysprep
を使用してレプリケーション用にシステムを準備します。
Google Cloud コンソールで、[マシンイメージ] ページに移動します。
[マシンイメージを作成] をクリックします。
マシンイメージの [名前] を指定します。
(省略可)説明を指定します。
[ソース VM インスタンス] を選択します。
(省略可)マシンイメージを保存するロケーションを指定します。[マルチリージョン] または [リージョン] のいずれかのストレージを選択します。ロケーションの詳細については、マシンイメージの保存ロケーションをご覧ください。
(省略可)[暗号化] 方式を選択します。
[作成] をクリックします。
gcloud compute machine-images create
コマンドを使用して、インスタンスからマシンイメージを作成します。
gcloud compute machine-images createMACHINE_IMAGE_NAME \ --source-instance=SOURCE_VM_NAME
次のように置き換えます。
MACHINE_IMAGE_NAME
: 作成するマシンイメージの名前。SOURCE_VM_NAME
: イメージの作成元となるソース VM インスタンスの名前。
例
たとえば、次の gcloud
コマンドを使用して、my-instance
というソース インスタンスから my-machine-image
というマシンイメージを作成できます。
gcloud compute machine-images create my-machine-image \ --source-instance=my-instance
この処理には数分かかります。マシンイメージが作成されると、次のような出力が表示されます。
Created [https://www.googleapis.com/compute/v1/projects/project-12345/global/machineImages/my-machine-image]. NAME STATUS my-machine-image READY
API で、machineimages.insert
メソッドに対して POST
リクエストを作成します。リクエストの本文に次の POST
リクエストを指定します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /global/machineImages { "name": "MACHINE_IMAGE_NAME ", "sourceInstance": "SOURCE_INSTANCE_URL " }
次のように置き換えます。
PROJECT_ID
: プロジェクト ID。MACHINE_IMAGE_NAME
: 作成するマシンイメージの名前。SOURCE_INSTANCE_URL
: マシンイメージの作成に使用するソース VM インスタンスの完全な URL か URL の一部。たとえば、myProject
というプロジェクトにmy-instance
というソース インスタンスがあるとします。有効な URL は次のとおりです。https://www.googleapis.com/compute/v1/projects/myProject/global/instances/my-instance
projects/myProject/global/instances/my-instance
global/instances/my-instance
次のステップ
- マシンイメージの詳細を確認する
- マシンイメージから VM インスタンスを作成する