コンピューティング インスタンスを作成するときに、同時に追加の非ブートディスクを作成してインスタンスにアタッチできます。ブートディスク以外のディスクとしてアタッチする既存のディスクを選択することもできます。
マルチライター モードでディスクを作成する場合、インスタンスの作成と同時にディスクを作成することはできません。最初にディスクを作成してから、ディスクをインスタンスにアタッチする必要があります。
始める前に
-
まだ設定していない場合は、認証を設定します。認証とは、 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.
- プロジェクトに対する
compute.instances.create
-
インスタンスに新しいディスクを作成する: プロジェクトに対する
compute.disks.create
Google Cloud コンソールで、[インスタンスを作成] ページに移動します。
プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
[インスタンスの作成] ページが表示され、[マシン構成] ペインが表示されます。
[マシンの構成] ペインで、次の操作を行います。
- [名前] フィールドに、インスタンスの名前を指定します。詳細については、リソースの命名規則をご覧ください。
省略可: [ゾーン] フィールドで、このインスタンスのゾーンを選択します。
デフォルトでは [すべて] が選択されています。このデフォルト選択を変更しない場合、マシンタイプと可用性に基づいてゾーンが自動的に選択されます。
インスタンスのマシン ファミリーを選択します。 Google Cloud コンソールに、選択したマシンファミリーで使用可能なマシンシリーズが表示されます。使用できるマシン ファミリー オプションは次のとおりです。
- 汎用
- コンピューティング最適化
- メモリ最適化
- ストレージ最適化
- GPU
[シリーズ] 列で、インスタンスのマシンシリーズを選択します。
前の手順でマシン ファミリーとして [GPU] を選択した場合は、必要な GPU タイプを選択します。選択した GPU タイプにマシンシリーズが自動的に選択されます。
[マシンタイプ] セクションで、インスタンスのマシンタイプを選択します。
ナビゲーション メニューで [OS とストレージ] をクリックします。表示された [オペレーティング システムとストレージ] ペインで、次の操作を行います。
ブートディスクを構成するには、[変更] をクリックします。[ブートディスク] ペインが表示され、[公開イメージ] タブが表示されます。
- 次のように、ブートディスク用の公開イメージまたはカスタム イメージを選択します。
公開イメージを選択するには、[公開イメージ] タブで、以下を指定します。
- [オペレーティング システム] リストで、OS のタイプを選択します。
- [バージョン] リストで、OS のバージョンを選択します。
- [ブートディスクの種類] リストで、ブートディスクの種類を選択します。
- [サイズ(GB)] フィールドに、ブートディスクのサイズを指定します。
カスタム イメージを選択するには、[カスタム イメージ] をクリックし、表示された [カスタム イメージ] タブで次のように指定します。
- イメージ プロジェクトを選択するには、[変更] をクリックし、イメージを含むプロジェクトを選択します。
- [イメージ] リストで、インポートするイメージを選択します。
- [ブートディスクの種類] リストで、ブートディスクの種類を選択します。
- [サイズ(GB)] フィールドに、ブートディスクのサイズを指定します。
- 省略可: 詳細な構成オプションについては、[ 詳細設定を表示] セクションを開きます。
- ブートディスクのオプションを確認して [オペレーティング システムとストレージ] ペインに戻るには、[選択] をクリックします。
新しい非ブートディスクを作成してインスタンスにアタッチするには、[追加のストレージと VM のバックアップ] セクションで [新しいディスクを追加] をクリックします。
表示された [新しいディスクを追加] ペインで、次の操作を行います。
- [名前] フィールドに、ブート以外のディスクの名前を指定します。
- [ディスクソースのタイプ] リストで、ブートディスク以外のディスクのソースタイプを選択します。
- [ディスクタイプ] リストで、ブートディスク以外のディスクのタイプを選択します。
- [サイズ] フィールドに、ブートディスク以外のディスクのサイズを指定します。
- [添付ファイルの設定] セクションで、次の操作を行います。
- [モード] フィールドで、ディスク アタッチメント モードを選択します。
- [削除ルール] フィールドで、インスタンスの削除時にディスクに対して行う処理を指定します。
新しいディスクの追加時に構成できるパラメータの詳細については、永続ディスクをインスタンスに追加するをご覧ください。
ナビゲーション メニューで [ネットワーキング] をクリックします。表示された [ネットワーキング] ペインで、次の操作を行います。
- [ファイアウォール] セクションに移動します。
インスタンスへの 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 は、デフォルトではセキュアブートを有効にしません。true
にenableSecureBoot
を指定すると、Compute Engine は 3 つの Shielded VM 機能をすべて有効にした VM を作成します。Compute Engine が VM を起動した後、Shielded VM のオプションを変更するには、VM を停止する必要があります。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、 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-01-31 UTC。
-