コンピューティング インスタンスを作成する際に、同時に追加の非ブートディスクを作成してインスタンスにアタッチできます。既存のディスクを選択して非ブートディスクとしてアタッチすることもできます。
マルチライター モードでディスクを作成する場合、インスタンスの作成と同時にディスクを作成することはできません。最初にディスクを作成してから、ディスクをインスタンスにアタッチする必要があります。
始める前に
-
まだ設定していない場合は、認証を設定します。認証とは、 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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- プロジェクトに対する
compute.instances.create
-
インスタンス用の新しいディスクを作成する: プロジェクトに対する
compute.disks.create
Google Cloud コンソールで [インスタンスの作成] ページに移動します。
プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
[インスタンスの作成] ページが表示され、[マシンの構成] ペインが表示されます。
[マシンの構成] ペインで、次の操作を行います。
- [名前] フィールドに、インスタンスの名前を指定します。詳細については、リソースの命名規則をご覧ください。
省略可: [ゾーン] フィールドで、このインスタンスのゾーンを選択します。
デフォルトでは [すべて] が選択されています。このデフォルトの選択を変更しない場合は、マシンタイプと可用性に基づいてゾーンが自動的に選択されます。
インスタンスのマシン ファミリーを選択します。選択したマシン ファミリーで使用可能なマシンシリーズが Google Cloud コンソールに表示されます。使用可能なマシン ファミリー オプションは次のとおりです。
- 汎用
- コンピューティング最適化
- メモリ最適化
- ストレージ最適化
- GPU
[シリーズ] 列で、インスタンスのマシンシリーズを選択します。
前の手順でマシン ファミリーとして [GPU] を選択した場合は、必要な [GPU のタイプ] を選択します。選択した GPU のタイプに対して、マシンシリーズが自動的に選択されます。
[マシンタイプ] セクションで、インスタンスのマシンタイプを選択します。
ナビゲーション メニューで [OS とストレージ] をクリックします。表示された [オペレーティング システムとストレージ] ペインで、次の操作を行います。
新しいディスクを追加する際に構成できるパラメータの詳細については、Persistent Disk についてと Google Cloud Hyperdisk についてをご覧ください。
ブートディスクを構成するには、[変更] をクリックします。[ブートディスク] ペインが表示され、[公開イメージ] タブが表示されます。
次のいずれかの方法で、ブートディスクのデータソースを構成します。
ブートディスクのデータソースとして公開イメージを選択するには、[公開イメージ] タブで次のように指定します。
- [オペレーティング システム] リストで、OS の種類を選択します。
- [バージョン] リストで OS のバージョンを選択します。
- [ブートディスクの種類] リストで、ブートディスクの種類を選択します。
- [サイズ(GB)] フィールドで、ブートディスクのサイズを指定します。
ブートディスクのデータソースとしてカスタム イメージを選択するには、[カスタム イメージ] をクリックし、表示された [カスタム イメージ] タブで次のように指定します。
- イメージ プロジェクトを選択するには、[変更] をクリックし、イメージを含むプロジェクトを選択します。
- [イメージ] リストで、インポートするイメージをクリックします。
- [ブートディスクの種類] リストで、ブートディスクの種類を選択します。
- [サイズ(GB)] フィールドで、ブートディスクのサイズを指定します。
ブートディスクのデータソースとして標準スナップショットを選択するには、[スナップショット] をクリックし、表示された [スナップショット] タブで次のように指定します。
- [スナップショット] リストで、スナップショットを選択します。
- [ブートディスクの種類] リストで、ブートディスクの種類を選択します。
- [サイズ(GB)] フィールドで、ブートディスクのサイズを指定します。
ブートディスクのデータソースとしてアーカイブ スナップショットを選択するには、[アーカイブ スナップショット] をクリックし、表示された [アーカイブ スナップショット] タブで次のように指定します。
- [アーカイブ スナップショット] リストで、アーカイブ スナップショットを選択します。
- [ブートディスクの種類] リストで、ブートディスクの種類を選択します。
- [サイズ(GB)] フィールドで、ブートディスクのサイズを指定します。
既存のディスクをブートディスクとして選択するには、[既存のディスク] をクリックします。次に、表示された [既存のディスク] タブで、[ディスク] リストから既存のリージョン Persistent Disk または Hyperdisk Balanced High Availability ボリュームを選択します。
省略可: 詳細な構成オプションについては、
[詳細設定を表示] セクションを開きます。ブートディスクのオプションを確認して [オペレーティング システムとストレージ] ペインに戻るには、[選択] をクリックします。
新しい非ブートディスクを作成してインスタンスにアタッチするには、[追加のストレージと VM のバックアップ] セクションで [新しいディスクを追加] をクリックします。
表示された [新しいディスクを追加] ペインで、次の操作を行います。
- [名前] フィールドに、非ブートディスクの名前を指定します。
- [ディスクソースのタイプ] リストで、非ブートディスクのソースタイプを選択します。
- [ディスクタイプ] リストで、非ブートディスクのタイプを選択します。
- [サイズ] フィールドに、非ブートディスクのサイズを指定します。
- [アタッチメントの設定] セクションで、次の操作を行います。
- [モード] フィールドで、ディスク アタッチメント モードを選択します。
- [削除ルール] フィールドで、インスタンスを削除する際にディスクに行う処理を指定するオプションを選択します。
作成してインスタンスにアタッチする非ブートディスクごとに、この手順を繰り返します。
ナビゲーション メニューで [データ保護] をクリックします。表示された [データ保護] ペインで、次の操作を行い、インスタンスのデータをバックアップして複製する方法を指定する。
- データのバックアップ方法を指定するには、[データをバックアップ] のオプションを選択します。
データのレプリケーション方法を指定するには、次の操作を行います。
- リージョン ディスク タイプを使用して、インスタンスの新しいディスクを 2 番目のゾーンに同期的に複製する場合は、[リージョン ディスク] チェックボックスをオンにします。
- Persistent Disk の非同期レプリケーションを使用してインスタンスのディスクを 2 番目のリージョンに複製する場合は、[非同期レプリケーション] チェックボックスをオンにします。
指定したデータ保護オプションを非ブートディスクでのみ使用する場合は、[ブートディスクを除外] チェックボックスをオンにします。
ナビゲーション メニューで、[ネットワーキング] をクリックします。表示された [ネットワーキング] ペインで、次の操作を行います。
- [ファイアウォール] セクションに移動します。
インスタンスへの HTTP または HTTPS トラフィックを許可するには、[HTTP トラフィックを許可する] または [HTTPS トラフィックを許可する] を選択します。
Compute Engine では、ネットワーク タグがインスタンスに追加されます。また、対応する上り(内向き)ファイアウォール ルールが作成され、
tcp:80
(HTTP)またはtcp:443
(HTTPS)で着信するすべてのトラフィックが許可されます。このファイアウォール ルールはネットワーク タグによってインスタンスに関連付けられます。詳細については、Cloud Next Generation Firewall のドキュメントでファイアウォール ルールの概要をご覧ください。
省略可: その他の構成オプションを指定します。詳細については、インスタンス作成時の構成オプションをご覧ください。
インスタンスを作成して起動するには、[作成] をクリックします。
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
gcloud compute instances create
コマンドを実行して、追加の非ブートディスクを含むインスタンスを作成します。インスタンスを作成する際は、最大 127 個の非ブートディスクを追加できます。作成する非ブートディスクごとに
--create-disk
フラグを指定します。公開イメージまたはストック イメージから非ブートディスクを作成するには、
--create-disk
フラグにimage
またはimage-family
プロパティと、image-project
プロパティを指定します。空のディスクを作成するには、これらのプロパティを指定しないでください。必要に応じて、次のプロパティを含めることができます。
- ディスクサイズ:
--size
プロパティを使用します。 - ディスクタイプ:
--type
プロパティを使用します。 - リージョン ディスク:
replica-zones
プロパティを含めます。
gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --image-project=IMAGE_PROJECT \ IMAGE_FLAG \ --create-disk DISK_IMAGE,image-project=DISK_IMAGE_PROJECT,size=SIZE_GB,type=DISK_TYPE \ --create-disk device-name=DISK_NAME,replica-zones=^:^ZONE:REMOTE-ZONE,boot=false
次のように置き換えます。
INSTANCE_NAME
: 新しいインスタンスの名前ZONE
: インスタンスの作成先とするゾーンIMAGE_PROJECT
: イメージを含むプロジェクトIMAGE_FLAG
: 次のいずれかを指定します。--image IMAGE_NAME
フラグを使用して、公開イメージまたはカスタム イメージの特定のバージョンを指定します。例:--image debian-12-bookworm-v20241112
。--image-family IMAGE_FAMILY_NAME
フラグを使用してイメージ ファミリーを指定します。これにより、イメージ ファミリーの非推奨ではない最新の OS イメージを使用するインスタンスが作成されます。たとえば、--image-family debian-12
を指定すると、Compute Engine はインスタンスの作成時に Debian 12 イメージ ファミリーの最新バージョンの OS イメージを使用します。
追加のディスクの場合は、次のように置き換えます。
DISK_IMAGE
: 次のいずれかを指定します。image=DISK_IMAGE_NAME
: 非ブートディスクの作成時に使用するイメージの名前image-family=DISK_IMAGE_FAMILY
>: 非ブートディスクの作成時に使用するイメージ ファミリー
DISK_IMAGE_PROJECT
: ディスク イメージが属するイメージ プロジェクトSIZE_GB
: 省略可。非ブートディスクのサイズDISK_TYPE
: 省略可。ディスクのタイプの完全な URL または部分的な URL例:
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced
。1 つ以上のゾーンで使用可能なディスクタイプを表示するには、gcloud compute disk-types list --zones=ZONE_LIST
コマンドを使用します。ZONE_LIST
は、ゾーンのカンマ区切りリストに置き換えます。DISK_NAME
: 省略可。インスタンスの作成後にゲスト OS に表示されるディスク名。REMOTE_ZONE
: ディスクの複製先となるゾーン
空のディスクの場合は、
image
、image-project
、image-family
のパラメータを指定しないでください。ゾーンディスクの場合は、ディスク プロパティ
replica-zones
を指定しないでください。
- ディスクサイズ:
- Google Cloud コンソールで、[VM インスタンス] ページに移動します。
- [インスタンスを作成] をクリックします。
- 必要なパラメータを指定します。
- ページの上部または下部で [同等のコード] をクリックし、[Terraform] タブをクリックして Terraform コードを表示します。
PROJECT_ID
: VM を作成するプロジェクトの IDZONE
: VM を作成するゾーンMACHINE_TYPE_ZONE
: 新しい VM に使用するマシンタイプを含むゾーンMACHINE_TYPE
: 新しい VM のマシンタイプ(事前定義またはカスタム)VM_NAME
: 新しい VM の名前IMAGE_PROJECT
: イメージを含むプロジェクト
たとえば、イメージ ファミリーとしてdebian-10
を指定する場合は、イメージ プロジェクトとしてdebian-cloud
を指定します。IMAGE
: 次のいずれかを指定します。IMAGE
: 公開イメージの特定のバージョン例:
"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
IMAGE_FAMILY
: イメージ ファミリーこれにより、非推奨ではない最新の OS イメージから VM が作成されます。たとえば、
"sourceImage": "projects/debian-cloud/global/images/family/debian-10"
を指定すると、Compute Engine はDebian 10
イメージ ファミリーの最新バージョンの OS イメージから VM を作成します。
-
追加のディスクの場合は、次のように置き換えます。
SIZE_GB
: ディスクサイズDISK_IMAGE
またはDISK_IMAGE_FAMILY
: 非ブートディスクのソースイメージまたはイメージ ファミリーを指定します。DISK_IMAGE
: 非ブートディスクとして使用するイメージの名前。例:"sourceImage": "projects/DISK_IMAGE_PROJECT/global/images/DISK_IMAGE"
。DISK_IMAGE_FAMILY
: 非ブートディスクとして使用するイメージ ファミリー。例:"sourceImage": "projects/DISK_IMAGE_PROJECT/global/images/family/DISK_IMAGE_FAMILY"
。
DISK_TYPE
: ディスクのタイプの完全な URL または部分的な URL。例:https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced
。DISK_NAME
: 省略可。VM の作成後にゲスト OS に表示されるディスク名。REMOTE_ZONE
: リージョン ディスクのレプリケーション先のゾーン
空のディスクの場合は、
sourceImage
プロパティを指定しないでください。ゾーンディスクの場合は、
replicaZones
プロパティを指定しないでください。 NETWORK_NAME
: VM に使用する VPC ネットワーク。default
を指定して、デフォルト ネットワークを使用できます。ENABLE_SECURE_BOOT
: 省略可。Shielded VM 機能をサポートしているイメージを選択した場合は、Compute Engine がデフォルトで仮想トラステッド プラットフォーム モジュール(vTPM)と整合性モニタリングを有効にします。Compute Engine は、デフォルトではセキュアブートを有効にしません。enableSecureBoot
にtrue
を指定すると、Compute Engine は 3 つの Shielded VM 機能をすべて有効にした VM を作成します。Compute Engine が VM を起動した後、Shielded VM のオプションを変更するには、VM を停止する必要があります。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
必要なロール
追加の非ブートディスクを含むインスタンスの作成に必要な権限を取得するには、プロジェクトに対する Compute インスタンス管理者(v1)(
roles/compute.instanceAdmin.v1
) IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。この事前定義ロールには、追加の非ブートディスクを含むインスタンスの作成に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
追加の非ブートディスクを含むインスタンスを作成するには、次の権限が必要です。
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
新しい追加の非ブートディスクを含むインスタンスを作成する
追加の非ブートディスクが作成され、アタッチされたインスタンスを作成するには、次の操作を行います。
コンソール
gcloud
Terraform
Terraform コードを生成するには、 Google Cloud コンソールの同等のコード コンポーネントを使用します。Go
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Go の設定手順に沿って操作します。詳細については、Compute Engine Go API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Java の設定手順に沿って操作します。詳細については、Compute Engine Java API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Node.js の設定手順に沿って操作します。詳細については、Compute Engine Node.js API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Python の設定手順に沿って操作します。詳細については、Compute Engine Python API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
REST
追加のディスクごとに
initializeParams
プロパティを使用すると、インスタンスの作成時に非ブートディスクを最大 127 個作成できます。公開イメージまたは非公開イメージを使用した追加のディスクを作成します。空のディスクを追加するには、sourceImage
値のないinitializeParams
エントリを定義します。 ゾーンディスクの代わりにリージョン ディスクを作成するには、ディスク プロパティreplicaZones
を含めます。POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType":"zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name":"VM_NAME
", "disks":[ { "initializeParams":{ "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot":true }, { "initializeParams":{ "diskSizeGb":"SIZE_GB", "sourceImage":"projects/DISK_IMAGE_PROJECT/global/images/DISK_IMAGE", "diskType":"DISK_TYPE" } }, { "initializeParams":{ "diskSizeGb":"SIZE_GB", "diskType":"DISK_TYPE" }, }, { "boot": false, "deviceName":"DISK_NAME", "initializeParams": { "diskType": "DISK_TYPE", "replicaZones": [ "projects/PROJECT_ID/zones/ZONE", "projects/PROJECT_ID/zones/REMOTE_ZONE" ] } } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME" } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT" } }次のように置き換えます。
ディスクを使用する前に、ディスクをフォーマットしてマウントします。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-07-09 UTC。
-