このドキュメントでは、別のプロジェクトで共有されているカスタム イメージから Compute Engine インスタンスを作成する方法について説明します。 インスタンスには、ブートローダー、ブート ファイル システム、OS イメージが含まれています。ソースディスク、イメージ、スナップショット、Cloud Storage に保存されているイメージからカスタム イメージを作成し、そのイメージを使用してインスタンスを作成できます。デフォルトでは、カスタム イメージは作成場所だったプロジェクトにのみ属します。 別のユーザーとイメージを共有している場合は、そのイメージを使用してインスタンスを作成できます。
始める前に
- Google Cloud CLI または Compute Engine API を使用してイメージからインスタンスを作成する場合、1 秒あたり 20 インスタンスの上限があります。1 秒間にこれ以上のインスタンスを作成する必要がある場合は、イメージ リソースの割り当て調整をリクエストします。
-
まだ設定していない場合は、認証を設定します。認証とは、 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.images.useReadOnly
Google Cloud コンソールで [インスタンスの作成] ページに移動します。
プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
[インスタンスの作成] ページが表示され、[マシンの構成] ペインが表示されます。
[マシンの構成] ペインで、次の操作を行います。
- [名前] フィールドに、インスタンスの名前を指定します。詳細については、リソースの命名規則をご覧ください。
省略可: [ゾーン] フィールドで、このインスタンスのゾーンを選択します。
デフォルトでは [すべて] が選択されています。このデフォルトの選択を変更しない場合は、マシンタイプと可用性に基づいてゾーンが自動的に選択されます。
インスタンスのマシン ファミリーを選択します。選択したマシン ファミリーで使用可能なマシンシリーズが Google Cloud コンソールに表示されます。使用可能なマシン ファミリー オプションは次のとおりです。
- 汎用
- コンピューティング最適化
- メモリ最適化
- ストレージ最適化
- GPU
[シリーズ] 列で、インスタンスのマシンシリーズを選択します。
前の手順でマシン ファミリーとして [GPU] を選択した場合は、必要な [GPU のタイプ] を選択します。選択した GPU のタイプに対して、マシンシリーズが自動的に選択されます。
[マシンタイプ] セクションで、インスタンスのマシンタイプを選択します。
ナビゲーション メニューで [OS とストレージ] をクリックします。表示された [オペレーティング システムとストレージ] ペインで、次の操作によってブートディスクを構成します。
- [変更] をクリックします。[ブートディスク] ペインが表示され、[公開イメージ] タブが表示されます。
- [カスタム イメージ] をクリックします。[カスタム イメージ] タブが表示されます。
- イメージ プロジェクトを選択するには、[変更] をクリックし、イメージを含むプロジェクトを選択します。
- [イメージ] リストで、インポートするイメージをクリックします。
- [ブートディスクの種類] リストで、ブートディスクの種類を選択します。
- [サイズ(GB)] フィールドで、ブートディスクのサイズを指定します。
- 省略可: Hyperdisk Balanced ブートディスクの場合は、[プロビジョニングされた IOPS] フィールドと [プロビジョニングされたスループット] フィールドの値を指定します。
- 省略可: 詳細な構成オプションについては、[ 詳細設定を表示] セクションを開きます。
- ブートディスクのオプションを確認して [オペレーティング システムとストレージ] ペインに戻るには、[選択] をクリックします。
ナビゲーション メニューで、[ネットワーキング] をクリックします。表示された [ネットワーキング] ペインで、次の操作を行います。
- [ファイアウォール] セクションに移動します。
インスタンスへの 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 command
を使用してインスタンスを作成し、--image
フラグと--image-project
フラグを使用してイメージ名とそのイメージが属するプロジェクトを指定します。gcloud compute instances create INSTANCE_NAME \ --image=IMAGE \ --image-project=IMAGE_PROJECT
次のように置き換えます。
INSTANCE_NAME
: 新しいインスタンスの名前。IMAGE
: イメージの名前IMAGE_PROJECT
: イメージが属するプロジェクト
コマンドが成功すると、
gcloud
は次の例のように新しいインスタンスのプロパティを返します。Created [https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-b/instances/example-instance]. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS example-instance us-central1-b e2-standard-2 10.240.0.4 104.198.53.60 RUNNING
- Google Cloud コンソールで、[VM インスタンス] ページに移動します。
- [インスタンスを作成] をクリックします。
- 必要なパラメータを指定します。
- ページの上部または下部で [同等のコード] をクリックし、[Terraform] タブをクリックして Terraform コードを表示します。
PROJECT_ID
: VM を作成するプロジェクトの IDZONE
: VM を作成するゾーンMACHINE_TYPE_ZONE
: 新しい VM に使用するマシンタイプを含むゾーンMACHINE_TYPE
: 新しい VM のマシンタイプ(事前定義またはカスタム)VM_NAME
: 新しい VM の名前。IMAGE_PROJECT
: 共有イメージを含むプロジェクトの名前IMAGE
: 次のいずれかを指定します。IMAGE
: 共有イメージの名前。例:"sourceImage": "projects/finance-project-1234/global/images/finance-debian-image-v2"
IMAGE_FAMILY
: カスタム イメージ ファミリーの一部として共有イメージを作成する場合、そのカスタム イメージ ファミリーを指定します。これにより、カスタム イメージ ファミリー内の最新の非推奨ではない OS イメージから VM が作成されます。たとえば、
"sourceImage": "projects/finance-project-1234/global/images/family/finance-debian-family"
を指定すると、Compute Engine はカスタムfinance-debian-family
イメージ ファミリーの OS イメージの最新バージョンから VM を作成します。
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 で共有イメージを使用してインスタンスを作成するプロセスは、一般公開イメージを使用してインスタンスを作成する場合と同じです。
REST
API で共有イメージを使用してインスタンスを作成するプロセスは、一般公開イメージを使用してインスタンスを作成する場合と同じです。
共有イメージからインスタンスを作成するには、
instances.insert
メソッドを使用します。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 } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME" } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT" } }次のように置き換えます。
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-07-21 UTC。
-