このドキュメントでは、Compute Engine を使用して次の操作を行う方法について説明します。
予約済みの仮想マシン(VM)インスタンスを使用する。
予約の消費を確認する。
予約使用状況レポートを表示する。
VM を使用する他の Google Cloud プロダクトで予約を使用する方法については、次のプロダクトの予約に関するドキュメントをご覧ください。
仮想マシン(VM)インスタンスが予約を使用しないようにするには、コンピューティング インスタンスが予約を使用しないようにするをご覧ください。
始める前に
- 予約に関する要件と制限事項を確認します。
-
まだ設定していない場合は、認証を設定します。認証とは、 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.
-
予約を作成する権限: プロジェクトに対する
compute.reservations.create
-
VM を作成する権限:
- プロジェクトに対する
compute.instances.create
- カスタム イメージを使用して VM を作成する: イメージに対する
compute.images.useReadOnly
- スナップショットを使用して VM を作成する: スナップショットに対する
compute.snapshots.useReadOnly
- インスタンス テンプレートを使用して VM を作成する: インスタンス テンプレートに対する
compute.instanceTemplates.useReadOnly
- レガシー ネットワークを VM に割り当てる: プロジェクトに対する
compute.networks.use
- VM の静的 IP アドレスを指定する: プロジェクトに対する
compute.addresses.use
- レガシー ネットワークの使用時に VM に外部 IP アドレスを割り当てる: プロジェクトに対する
compute.networks.useExternalIp
- VM のサブネットを指定する: プロジェクトまたは選択したサブネットに対する
compute.subnetworks.use
- VPC ネットワークの使用時に VM に外部 IP アドレスを割り当てる: プロジェクトまたは選択したサブネットに対する
compute.subnetworks.useExternalIp
- VM の VM インスタンス メタデータを設定する: プロジェクトに対する
compute.instances.setMetadata
- VM にタグを設定する: VM に対する
compute.instances.setTags
- VM にラベルを設定する: VM に対する
compute.instances.setLabels
- VM が使用するサービス アカウントを設定する: VM に対する
compute.instances.setServiceAccount
- VM に新しいディスクを作成する: プロジェクトに対する
compute.disks.create
- 既存のディスクを読み取り専用モードまたは読み取り / 書き込みモードでアタッチする: ディスクに対する
compute.disks.use
- 既存のディスクを読み取り専用モードでアタッチする: ディスクに対する
compute.disks.useReadOnly
- プロジェクトに対する
-
インスタンス テンプレートを作成する: プロジェクトに対する
compute.instanceTemplates.create
一致する任意の予約を使用する - VM は、プロパティが一致するすべての予約を自動的に使用できます(デフォルト)。
このオプションは、大量の VM の作成または削除を行い、可能な場合には常に予約を使用する必要がある場合に便利です。このシナリオでは、プロパティが予約と一致するかどうかにかかわらず、VM を作成できます。一致する場合、VM は予約の使用順序に応じて予約の使用を開始します。
特定の予約を使用する - VM は特定の予約のみを使用できます。予約は自動的に使用できません。
このオプションは、特別なイベント用のバックアップとして特定の容量を確保する場合に便利です。このシナリオでは、VM のプロパティと特定の予約のプロパティが一致している場合にのみ、VM を作成できます。
任意の予約を消費するように構成した予約アフィニティ プロパティがある VM によって使用されるリソース(デフォルト)を使用して予約を作成するには、次の操作を行います。
作成するフィールドのタイプを選択します。
スタンドアロン予約を作成するには、次の操作を行います。
Google Cloud コンソールの [予約] ページに移動します。
[オンデマンド予約] タブ(デフォルト)で、[
予約を作成] をクリックします。[予約の作成] ページが開きます。
コミットメントに関連付けられた予約を作成するには、次の操作を行います。
Google Cloud コンソールで [確約利用割引] ページに移動します。
[コミットメント リスト] ページが開きます。
[コミットメントを購入] をクリックします。
[確約利用割引の購入] ページが表示されます。
コミットメントのプロパティを指定します。次に、[予約] セクションで [項目を追加] をクリックします。
[新しい予約を追加] セクションが表示されます。
予約が関連付けられたコミットメントを購入する方法については、予約が関連付けられているコミットメントを購入するをご覧ください。
[名前] フィールドに、予約の名前を入力します。この例では、「
reservation-01
」と入力します。リソースを予約するリージョンとゾーンを選択します。この例では、リージョンとして
us-central1
、ゾーンとしてus-central1-a
を選択します。希望する共有タイプを選択します。
- 単一プロジェクトの予約を作成するには、[ローカル] を選択します。
- 複数のプロジェクト間で共有予約を作成するには、[共有] を選択します。この予約を他のプロジェクトと共有するには、 [プロジェクトを追加] をクリックして、現在のプロジェクトの組織から目的のプロジェクトを選択します。
[VM インスタンスでの使用] セクションで、[予約を自動的に使用する] を選択して、一致するすべての VM でこの予約を自動的に使用できるようにします。
[VM インスタンスの数] フィールドに、予約する VM の数を入力します。この例では、「
2
」と入力します。VM ごとに予約するリソースを指定します。
- 既存のインスタンス テンプレートと一致する VM を予約する場合は、[インスタンス テンプレートを使用する] を選択し、リストからインスタンス テンプレートを選択します。
- それ以外の場合は、[マシンタイプを指定する] を選択し、次のように指定します。
- [マシン ファミリー]、[シリーズ]、[マシンタイプ] の各フィールドで、マシン ファミリー、シリーズ、マシンタイプを選択します。
- 省略可: 最小 CPU プラットフォームや GPU を指定します。
- [CPU プラットフォームと GPU] セクションを展開するには、 展開矢印をクリックします。
- 省略可: 最小 CPU プラットフォームを指定するには、[CPU プラットフォーム] リストでオプションを選択します。
- 省略可: GPU を追加するには、 [GPU を追加する] をクリックします。次に、[GPU タイプ] フィールドと [GPU の数] フィールドで、各 VM の GPU のタイプと数を選択します。
- 省略可: ローカル SSD を追加します。
- [ディスクの数] フィールドで、各 VM のローカル SSD の数を選択します。
- [インターフェース タイプ] フィールドで、ローカル SSD のインターフェースを選択します。
この例では、[マシンタイプを指定] を選択します。次に、
General-purpose
マシン ファミリーとN2
シリーズにn2-standard-32
マシンタイプを選択し、最小 CPU プラットフォームIntel Cascade Lake
を選択します。予約の作成を完了します。
スタンドアロンの予約を作成する場合は、[作成] をクリックします。
コミットメントに関連付けられた予約を作成する場合:
- この予約のプロパティの指定を完了するには、[完了] をクリックします。
- コミットメントと関連付けられた予約の作成を完了するには、[購入] をクリックします。
予約が共有されているプロジェクトまたは予約と同じプロジェクトで、有効な予約を対象とする VM を作成します。
VM のプロパティが
reservation-01
内の VM プロパティ(ゾーン、マシンタイプ(マシン ファミリー、vCPU、メモリ)、最小 CPU プラットフォーム、GPU の量とタイプ、ローカル SSD インターフェースとサイズなど)と一致していることを確認します。VM の作成方法の詳細については、VM を作成して起動するをご覧ください。
Google Cloud コンソールで、[インスタンスの作成] ページに移動します。
[インスタンスの作成] ページが開きます。
VM の名前を指定します。
以降のセクションでは、予約のすべてのプロパティ(オプションのプロパティを含む)と完全に一致する構成を選択します。この例では、次の VM プロパティを
reservation-01
と一致させる必要があります。- リージョン:
us-central1
- ゾーン:
us-central1-a
- マシンタイプ:
n2-standard-32
- 最小 CPU プラットフォーム:
Intel Cascade Lake
- GPU: なし
- ローカル SSD: なし
- リージョン:
[詳細オプション] セクションを開き、[管理] セクションを開きます。[予約] リストで、[作成済みの予約を自動的に使用する] を選択します。
VM を作成するには、[作成] をクリックします。
reservation-01
という予約を作成します。gcloud compute reservations create reservation-01 \ --vm-count=2 \ --machine-type=n2-standard-32 \ --min-cpu-platform="Intel Cascade Lake" \ --zone=us-central1-a
利用可能な予約を対象とし、
reservation-01
の VM プロパティに一致する VM を作成します。これには、ゾーン、マシンタイプ(マシン ファミリー、vCPU、メモリ)、最小 CPU プラットフォーム、GPU の量とタイプ、ローカル SSD の量とインターフェースなどが含まれます。gcloud compute instances create instance-1 \ --machine-type=n2-standard-32 \ --min-cpu-platform="Intel Cascade Lake" \ --zone=us-central1-a \ --reservation-affinity=any
reservation-01
という予約を作成します。POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations { "name": "reservation-01", "specificReservation": { "count": "2", "instanceProperties": { "machineType": "n2-standard-32", "minCpuPlatform": "Intel Cascade Lake", } } }
利用可能な予約を対象とし、
reservation-01
の VM プロパティに一致する VM を作成します。これには、ゾーン、マシンタイプ(マシン ファミリー、vCPU、メモリ)、最小 CPU プラットフォーム、GPU の量とタイプ、ローカル SSD の量とインターフェースなどが含まれます。POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances { "name": "instance-1", "machineType": "zones/us-central1-a/machineTypes/n2-standard-32", "minCpuPlatform": "Intel Cascade Lake", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-12" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "reservationAffinity": { "consumeReservationType": "ANY_RESERVATION" } }
- Google Cloud コンソールで、[特定の予約を選択する] チェックボックスをオンにします。
- gcloud CLI で、
--require-specific-reservation
フラグを含めます。 - Compute Engine API で、
specificReservationRequired
フィールドをtrue
に設定します。 - Terraform で、
specific_reservation_required
フィールドをtrue
に設定します。 この予約の対象となる VM でのみ使用されるリソースの予約を作成するには、次の操作を行います。
次のオプションのいずれかを選択します。
スタンドアロン予約を作成するには、次の操作を行います。
Google Cloud コンソールの [予約] ページに移動します。
[オンデマンド予約] タブ(デフォルト)で、[
予約を作成] をクリックします。[予約の作成] ページが開きます。
コミットメントに関連付けられた予約を作成するには、次の操作を行います。
Google Cloud コンソールで [確約利用割引] ページに移動します。
[コミットメントを購入] をクリックします。
[確約利用割引の購入] ページが表示されます。
コミットメントのプロパティを指定します。次に、[予約] セクションで [項目を追加] をクリックします。
[新しい予約を追加] セクションが表示されます。
予約が関連付けられたコミットメントを購入する方法については、予約が関連付けられているコミットメントを購入するをご覧ください。
[名前] フィールドに、予約の名前を入力します。この例では、「
reservation-02
」と入力します。リソースを予約するリージョンとゾーンを選択します。この例では、リージョンとして
us-central1
、ゾーンとしてus-central1-a
を選択します。予約が単一プロジェクトの予約であることを指定するには、[共有タイプ] として [ローカル] を選択します。
[VM インスタンスでの使用] セクションで、[特定の予約を選択する] を選択にして、この予約名を対象とする VM だけがこの予約を使用できるようにします。
[VM インスタンスの数] フィールドに、予約する VM の数を入力します。この例では、「
10
」と入力します。VM ごとに予約するリソースを指定します。
- 既存のインスタンス テンプレートと一致する VM を予約する場合は、[インスタンス テンプレートを使用する] を選択し、リストからインスタンス テンプレートを選択します。
- それ以外の場合は、[マシンタイプを指定する] を選択し、次のように指定します。
- [マシン ファミリー]、[シリーズ]、[マシンタイプ] の各フィールドで、マシン ファミリー、シリーズ、マシンタイプを選択します。
- 省略可: 最小 CPU プラットフォームや GPU を指定します。
- [CPU プラットフォームと GPU] セクションを展開するには、 展開矢印をクリックします。
- 省略可: 最小 CPU プラットフォームを指定するには、[CPU プラットフォーム] リストでオプションを選択します。
- 省略可: GPU を追加するには、 [GPU を追加する] をクリックします。次に、[GPU タイプ] フィールドと [GPU の数] フィールドで、各 VM の GPU のタイプと数を選択します。
- 省略可: ローカル SSD を追加します。
- [ディスクの数] フィールドで、各 VM のローカル SSD の数を選択します。
- [インターフェース タイプ] フィールドで、ローカル SSD のインターフェースを選択します。
この例では、[マシンタイプを指定] を選択します。次に、
General-purpose
マシン ファミリーとN2
シリーズにn2-standard-32
マシンタイプを選択し、最小 CPU プラットフォームIntel Cascade Lake
を選択します。予約の作成を完了します。
スタンドアロンの予約を作成する場合は、[作成] をクリックします。
コミットメントに関連付けられた予約を作成する場合:
- この予約のプロパティの指定を完了するには、[完了] をクリックします。
- コミットメントと関連付けられた予約の作成を完了するには、[購入] をクリックします。
同じプロジェクトで、名前を使用して特定の予約を対象とする VM を作成します。
VM のプロパティが、特定の予約の VM プロパティ(ゾーン、マシンタイプ(マシン ファミリー、vCPU、メモリ)、最小 CPU プラットフォーム、GPU の量とタイプ、ローカル SSD インターフェースとサイズなど)と一致していることを確認します。
VM の作成方法の詳細については、VM を作成して起動するをご覧ください。
Google Cloud コンソールで、[インスタンスの作成] ページに移動します。
[名前] フィールドに、VM の名前を入力します。
以降のセクションでは、予約のすべてのプロパティ(オプションのプロパティを含む)と完全に一致する構成を選択します。この例では、次の VM プロパティを
reservation-02
と一致させる必要があります。- リージョン:
us-central1
- ゾーン:
us-central1-a
- マシンタイプ:
n2-standard-32
- 最小 CPU プラットフォーム:
Intel Cascade Lake
- GPU: なし
- ローカル SSD: なし
- リージョン:
[詳細オプション] セクションを開き、次の操作を行います。
[管理] セクションを開きます。
[予約] セクションの [アプリケーション ポリシー] リストで、[特定の予約を選択する] を選択します。
VM で使用する VM プロパティに一致する予約を選択します。この例では、
reservation-02
を選択します。
VM を作成するには、[作成] をクリックします。
--require-specific-reservation
フラグのあるreservation-02
という名前の予約を作成します。これらの予約済みリソースは、この予約名を対象とする VM でのみ使用できます。gcloud compute reservations create reservation-02 \ --machine-type=n2-standard-32 \ --min-cpu-platform="Intel Cascade Lake" \ --vm-count=10 \ --zone=us-central1-a \ --require-specific-reservation
--reservation-affinity
と--reservation
フラグを使用してreservation-02
の名前を対象とする VM を作成します。VM のプロパティが、予約の VM プロパティ(ゾーン、マシンタイプ(マシン ファミリー、vCPU、メモリ)、最小 CPU プラットフォーム、GPU の量とタイプ、ローカル SSD インターフェースとサイズなど)と一致していることを確認します。
gcloud compute instances create instance-2 \ --machine-type=n2-standard-32 \ --min-cpu-platform="Intel Cascade Lake" \ --zone=us-central1-a \ --reservation-affinity=specific \ --reservation=reservation-02
specificReservationRequired
をtrue
に設定したreservation-02
という名前の予約を作成します。POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations { "name":"reservation-02", "specificReservation":{ "count":"10", "instanceProperties":{ "machineType":"n2-standard-32", "minCpuPlatform": "Intel Cascade Lake", } }, "specificReservationRequired": true }
reservationAffinity
を使用して、reservation-02
という名前を対象とする VM を作成します。VM のプロパティが、予約の VM プロパティ(ゾーン、マシンタイプ(マシン ファミリー、vCPU、メモリ)、最小 CPU プラットフォーム、GPU の量とタイプ、ローカル SSD インターフェースとサイズなど)と一致していることを確認します。
POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances { "name": "instance-2", "machineType": "zones/us-central1-a/machineTypes/n2-standard-32", "minCpuPlatform": "Intel Cascade Lake", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/debian-clouid/global/images/family/debian-12" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "reservationAffinity": { "consumeReservationType": "SPECIFIC_RESERVATION", "key": "compute.googleapis.com/reservation-name", "values": [ "reservation-02" ] } }
この予約の対象となる VM でのみ使用されるリソースの共有予約を作成するには、次の操作を行います。
次のオプションのいずれかを選択します。
スタンドアロン予約を作成するには、次の操作を行います。
Google Cloud コンソールの [予約] ページに移動します。
[オンデマンド予約] タブ(デフォルト)で、[
予約を作成] をクリックします。[予約の作成] ページが開きます。
コミットメントに関連付けられた予約を作成するには、次の操作を行います。
Google Cloud コンソールで [確約利用割引] ページに移動します。
[コミットメントを購入] をクリックします。
[確約利用割引の購入] ページが表示されます。
コミットメントのプロパティを指定します。次に、[予約] セクションで [項目を追加] をクリックします。
[新しい予約を追加] セクションが表示されます。
予約が関連付けられたコミットメントを購入する方法については、予約が関連付けられているコミットメントを購入するをご覧ください。
[名前] フィールドに、予約の名前を入力します。この例では、「
reservation-02
」と入力します。リソースを予約するリージョンとゾーンを選択します。この例では、リージョンとして
us-central1
、ゾーンとしてus-central1-a
を選択します。予約が共有予約であることを指定するには、[共有タイプ] として [共有] を選択します。
[プロジェクトを追加] をクリックし、予約を共有する現在のプロジェクトの組織からプロジェクトを選択します。
[VM インスタンスでの使用] セクションで、[特定の予約を選択する] を選択にして、この予約名を対象とする VM だけがこの予約を使用できるようにします。
[VM インスタンスの数] フィールドに、予約する VM の数を入力します。この例では、「
10
」と入力します。VM ごとに予約するリソースを指定します。
- 既存のインスタンス テンプレートと一致する VM を予約する場合は、[インスタンス テンプレートを使用する] を選択し、リストからインスタンス テンプレートを選択します。
- それ以外の場合は、[マシンタイプを指定する] を選択し、次のように指定します。
- [マシン ファミリー]、[シリーズ]、[マシンタイプ] の各フィールドで、マシン ファミリー、シリーズ、マシンタイプを選択します。
- 省略可: 最小 CPU プラットフォームや GPU を指定します。
- [CPU プラットフォームと GPU] セクションを展開するには、 展開矢印をクリックします。
- 省略可: 最小 CPU プラットフォームを指定するには、[CPU プラットフォーム] リストでオプションを選択します。
- 省略可: GPU を追加するには、 [GPU を追加する] をクリックします。次に、[GPU タイプ] フィールドと [GPU の数] フィールドで、各 VM の GPU のタイプと数を選択します。
- 省略可: ローカル SSD を追加します。
- [ディスクの数] フィールドで、各 VM のローカル SSD の数を選択します。
- [インターフェース タイプ] フィールドで、ローカル SSD のインターフェースを選択します。
この例では、[マシンタイプを指定] を選択します。次に、
General-purpose
マシン ファミリーとN2
シリーズにn2-standard-32
マシンタイプを選択し、最小 CPU プラットフォームIntel Cascade Lake
を選択します。1. 予約の作成を完了します。スタンドアロンの予約を作成する場合は、[作成] をクリックします。
コミットメントに関連付けられた予約を作成する場合:
- この予約のプロパティの指定を完了するには、[完了] をクリックします。
- コミットメントと関連付けられた予約の作成を完了するには、[購入] をクリックします。
同じプロジェクト、または予約が共有されているプロジェクトで、名前を使用して特定の予約を対象とする VM を作成します。
VM のプロパティが、特定の予約の VM プロパティ(ゾーン、マシンタイプ(マシン ファミリー、vCPU、メモリ)、最小 CPU プラットフォーム、GPU の量とタイプ、ローカル SSD インターフェースとサイズなど)と一致していることを確認します。
Google Cloud コンソールで、[インスタンスの作成] ページに移動します。
[インスタンスの作成] ページが開きます。
VM の名前を指定します。
以降のセクションでは、予約のすべてのプロパティ(オプションのプロパティを含む)と完全に一致する構成を選択します。この例では、次の VM プロパティを
reservation-02
と一致させる必要があります。- リージョン:
us-central1
- ゾーン:
us-central1-a
- マシンタイプ:
n2-standard-32
- 最小 CPU プラットフォーム:
Intel Cascade Lake
- GPU: なし
- ローカル SSD: なし
- リージョン:
[詳細オプション] セクションを開き、[管理] セクションを開きます。[予約] リストで [特定の予約を選択する] を選択し、次の操作を行います。
- 現在のプロジェクトと共有されている予約がある [予約プロジェクト] を選択します。この例では、
reservation-02
の作成に使用したプロジェクトを選択します。 - この VM で消費する共有予約の [予約名] を選択します。この例では、「
reservation-02
」を選択します。
- 現在のプロジェクトと共有されている予約がある [予約プロジェクト] を選択します。この例では、
VM を作成するには、[作成] をクリックします。
--require-specific-reservation
フラグのあるreservation-02
という名前の予約を作成します。これらの予約済みリソースは、この予約名を対象とする VM でのみ使用できます。gcloud compute reservations create reservation-02 \ --machine-type=n2-standard-32 \ --min-cpu-platform="Intel Cascade Lake" \ --vm-count=10 \ --zone=us-central1-a \ --project=my-owner-project \ --share-setting=projects \ --share-with=project-1,project-2 \ --require-specific-reservation
--reservation-affinity
と--reservation
フラグを使用してreservation-02
の名前を対象とする VM を作成します。この予約が共有されているユーザー プロジェクトからこの予約を消費するには、予約を作成したプロジェクト、my-owner-project
も指定する必要があります。VM のプロパティが、予約の VM プロパティ(ゾーン、マシンタイプ(マシン ファミリー、vCPU、メモリ)、最小 CPU プラットフォーム、GPU の量とタイプ、ローカル SSD インターフェースとサイズなど)と一致していることを確認します。
gcloud compute instances create instance-2 \ --machine-type=n2-standard-32 \ --min-cpu-platform="Intel Cascade Lake" \ --zone=us-central1-a \ --reservation-affinity=specific \ --reservation=projects/my-owner-project/reservations/reservation-02
specificReservationRequired
をtrue
に設定したreservation-02
という名前の予約を作成します。POST https://compute.googleapis.com/compute/v1/projects/my-owner-project/zones/us-central1-a/reservations { "name":"reservation-02", "specificReservation":{ "count":"10", "instanceProperties":{ "machineType":"n2-standard-32", "minCpuPlatform": "Intel Cascade Lake" } }, "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "project-1": { "projectId": "project-1" }, "project-2": { "projectId": "project-2" } } }, "specificReservationRequired": true }
reservationAffinity
を使用して、reservation-02
という名前を対象とする VM を作成します。この予約が共有されているコンシューマ プロジェクトからこの予約を使用するには、予約のオーナー プロジェクト、my-owner-project
も指定する必要があります。VM のプロパティが、予約の VM プロパティ(ゾーン、マシンタイプ(マシン ファミリー、vCPU、メモリ)、最小 CPU プラットフォーム、GPU の量とタイプ、ローカル SSD インターフェースとサイズなど)と一致していることを確認します。
POST https://compute.googleapis.com/compute/v1/projects/project-2/zones/us-central1-a/instances { "name": "instance-2", "machineType": "zones/us-central1-a/machineTypes/n2-standard-32", "minCpuPlatform": "Intel Cascade Lake", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/debian-clouid/global/images/family/debian-12" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "reservationAffinity": { "consumeReservationType": "SPECIFIC_RESERVATION", "key": "compute.googleapis.com/reservation-name", "values": [ "projects/my-owner-project/reservations/reservation-02" ] } }
-
VM の作成または更新後に予約を使用する VM の数が 1 つ増加した場合、そのアクションによって VM が予約の使用を開始した可能性があります。これは、予約が使用されているかどうかを最も迅速に確認する方法です。ただし、予約をどの VM が使用しているかを正確に確認することはできません。
-
特定の予約を対象とする VM を正常に作成できた場合、その VM は予約を使用しています。これは、特定の VM が予約を使用していることと、VM プロパティが予約のプロパティと一致していることを確認する最も信頼性の高い方法です。
-
Cloud Monitoring を使用すると、現在のプロジェクトで作成された予約の使用に関連する情報にアクセスして表示できます。Monitoring は、予約の使用量データを少なくとも 30 分ごとに更新します。この方法は、プロジェクトの 1 つ以上の予約の使用傾向を確認し、十分に活用されていないか未使用の予約の通知を受け取るのに役立ちます。
-
キャパシティ プランナー(プレビュー版)を使用すると、予約の作成から削除までの使用状況履歴にアクセスして確認できます。キャパシティ プランナーは、予約使用量データを 24 時間ごとに更新します。この方法は、プロジェクト、フォルダ、組織内の予約の過去の使用量を確認することや、将来の容量ニーズを計画するために役立ちます。
- 使用中の予約済みリソース。通常の vCPU、メモリ、GPU、ローカル SSD リソースが表示されます。
- 未使用の予約済みリソース。通常の SKU 名と予約リソースの URI が表示されます。
- 予約済みリソースの合計。予約の SKU 名と予約リソースの URI が表示されます。これらのエントリに対して、費用は一切かかりません。これらのエントリから、使用している予約の量を計算します。
- 1 行目は、現在使用中の予約済み RAM を示しています。行の
ResourceId
は、この RAM がmy-instance
という VM によって使用されていることを示しています。 - 2 行目は、使用されていない予約済み RAM を示しています。行の
ResourceId
は、この予約済みの RAM がmy-reservation
によって保持され、どの VM でも使用されていないことを示します。 - 3 行目は、予約済み RAM の合計を示しています。
- 予約の使用量をモニタリングする方法を確認する。
- 予約の変更方法を学習する。
- 予約の削除方法を学習する。
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 を使用して認証するをご覧ください。
必要なロール
予約を使用するために必要な権限を取得するには、プロジェクトに対する Compute インスタンス管理者(v1)(
roles/compute.instanceAdmin.v1
)の IAM ロールを付与するよう管理者に依頼します。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。この事前定義ロールには、予約の使用に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
予約を使用するには、次の権限が必要です。
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
予約済み VM を消費する
VM を作成すると、VM と予約の両方のプロパティが一致している場合にのみ、VM による予約の消費が開始されます。また、VM の予約アフィニティ プロパティは次のいずれかのオプションに設定する必要があります。
一致する任意の予約から VM を使用する
この消費モデルでは、プロパティが予約で指定された VM プロパティと一致すると、既存の VM と新しい VM が予約を自動的に消費します。
この使用量モデルを使用する場合、共有予約を使用する前に、現在のプロジェクトの VM は、すべての単一プロジェクト予約を最初に使用します。予約が自動的に使用されるようにする方法の詳細については、使用順序をご覧ください。
予約の作成時に、特定の予約が必要であることを示すフラグやオプションを使用しない限り、これがデフォルト諸費モデルになります。
コンソール
gcloud
Go
Java
Node.js
Python
REST
特定の予約から VM を使用する
この消費モデルでは、特定の予約名を対象としている新しい VM だけがその予約を消費し、予約が自動的に消費されることはありません。
予約を作成するときは、次のいずれかの方法を使用して、特定の予約をターゲットにするために VM が必要であることを指定します。
次に、その予約を対象とする VM を作成します。特定の予約を対象とする VM は、VM のプロパティと予約のプロパティが一致している場合にのみ作成できます。それ以外の場合、VM の作成に失敗します。
インスタンス テンプレートを使用してリージョン マネージド インスタンス グループに VM を作成する場合は、該当する各ゾーンに同じ名前で同一の予約を作成します。次に、グループのインスタンス テンプレートの名前を使用して、予約を対象にします。
たとえば、
reservation-02
という名前の予約を作成して、この予約を対象とし、予約の VM プロパティに一致する VM を作成します。使用する VM のタイプに応じて、特定の単一プロジェクト予約を消費する、または、特定の共有予約を消費するの手順で操作します。
特定の単一プロジェクト予約を使用する
特定の単一プロジェクトの予約を使用するには、次のいずれかのオプションを選択します。
コンソール
gcloud
Go
Java
Node.js
Python
REST
特定の共有予約を消費する
特定の共有予約を使用するには、次のいずれかのオプションを選択します。
コンソール
gcloud
Go
Java
Python
REST
VM のプロパティが予約と一致することをテストする
VM が予約を自動的に使用できるかどうかをテストするには、予約のコピーを特定の予約として作成し、作成する予定の VM がその予約を使用できるかどうかを確認します。VM を正常に作成できた場合は、VM が一致する予約を正しく使用できることを確認できたことになります。それ以外の場合は、 プロパティが一致しない か、 使用可能な予約済みリソースがない ため、VM の作成に失敗します。テスト後に、次のうち 1 つ以上の操作を実施できます。
予約の使用を確認する
VM が予約を効果的に使用していることを確認するには、次の方法で使用状況を確認します。
VM の予約アフィニティが予約を使用できること、予約を使い切っていないこと、VM と予約のプロパティが一致していることを確認した後に、VM が予約を使用していない場合は、リソースの可用性をご覧ください。
予約使用状況レポートを表示する
エクスポート機能を使用すると、Compute Engine の使用状況レポートを Cloud Storage バケットにエクスポートできます。手順については、使用状況レポートの表示をご覧ください。
使用状況レポートには、次の情報が表示されます。
測定対象 MeasurementId
形式Resource URI
形式使用中の予約済みリソース com.google.cloud/services/compute-engine/SKU_NAME
https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/RESOURCE_TYPE/RESOURCE_NAME
.
例:https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/my-instance
未使用の予約済みリソース com.google.cloud/services/compute-engine/SKU_NAME
https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME
.
例:https://compute.googleapis.com/compute/v1/projects/my-project/zones/europe-west1-b/reservations/my-reservation
予約済みリソースの合計 com.google.cloud/services/compute-engine/ReservationSKU_NAME
https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME
.
例:https://compute.googleapis.com/compute/v1/projects/my-project/zones/europe-west1-b/reservations/my-reservation
たとえば、
my-reservation
という予約の使用状況レポートを見てみましょう。Report Date,MeasurementId,Quantity,Unit,Resource URI,ResourceId,Location 2019-06-06,com.google.cloud/services/compute-engine/VmimageN2StandardRam,166970074857472,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/instances/my-instance,1775485842510981624,us-central2-a 2019-06-06,com.google.cloud/services/compute-engine/VmimageN2StandardRam,166970074857472,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/reservations/my-reservation,7.58809E+17,us-central2-a 2019-06-06,com.google.cloud/services/compute-engine/ReservationN2StandardRam,333940149714944,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/reservations/my-reservation,7.58809E+17,us-central2-a ...
トラブルシューティング
予約の使用に関する問題をトラブルシューティングする方法を学習する。
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-03-25 UTC。
-