このドキュメントでは、単一プロジェクトの将来の予約リクエストを作成する方法について説明します。
Google Cloud が単一プロジェクトの将来の予約リクエストを承認すると、リクエストで指定された開始時間に Compute Engine が予約を自動的に作成します。この予約は、同じプロジェクトに作成された仮想マシン(VM)インスタンスのみが使用できます。
始める前に
- 将来の予約の仕組みをまだ確認していない場合は確認します。
- 割り当てを確認して、予約するリソースに十分な割り当てがあることを確認します。
-
まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。
このページのサンプルをどのように使うかに応じて、タブを選択してください。
コンソール
Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- デフォルトのリージョンとゾーンを設定します。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
必要なロール
単一プロジェクトの将来の予約リクエストを作成するのに必要な権限を取得するには、プロジェクトに対する Compute の将来の予約ユーザー(roles/compute.futureReservationUser
)IAM ロールを付与するよう管理者に依頼します。ロールの付与の詳細については、アクセス権の管理をご覧ください。
この事前定義ロールには、単一プロジェクトの将来の予約リクエストを作成するのに必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
単一プロジェクトの将来の予約リクエストを作成するには、次の権限が必要です。
-
将来の予約リクエストを作成する: プロジェクトに対する
compute.futureReservations.create
権限 -
Compute Engine で予約を自動作成できるようにする: プロジェクトに対する
compute.reservations.create
権限 -
インスタンス テンプレートを指定する: インスタンス テンプレートに対する
compute.instanceTemplates.useReadOnly
権限
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
単一プロジェクトの将来の予約リクエストを作成する
このセクションでは、単一プロジェクトの将来の予約リクエストを作成する方法について説明します。
自動作成された予約を将来の予約に使用するには、VM と予約のプロパティが正確に一致している必要があります。将来の予約リクエストを作成して予約をリクエストする VM のプロパティを指定するには、次のいずれかの方法を選択します。
-
このセクションでは、既存のインスタンス テンプレートを使用して将来の予約リクエストのプロパティを定義する方法について説明します。インスタンス テンプレートを使用すると、将来の予約のプロパティと、同じ場所で自動作成された予約を使用できる VM のプロパティを定義できます。
-
このセクションでは、将来の予約リクエストのプロパティを直接定義する方法について説明します。この方法では、VM のプロパティと自動作成された予約のプロパティが正確に一致することを手動で確認する必要があります。一致しないプロパティは使用できません。
将来の予約用に自動作成された予約は、プロパティが一致する VM で自動的に使用されます。VM が自動生成された予約を使用しないようにするには、予約を使用せずに VM を作成する方法をご覧ください。
インスタンス テンプレートを指定する
Google Cloud コンソール、gcloud CLI、REST を使用して既存のインスタンス テンプレートを指定することで、単一プロジェクトの将来の予約を作成できます。
コンソール
インスタンス テンプレートを指定して単一プロジェクトの将来の予約リクエストを作成する手順は、次のとおりです。
Google Cloud コンソールの [予約] ページに移動します。
[将来の予約] タブをクリックします。
[
将来の予約を作成] をクリックします。[将来の予約を作成] ページが開きます。
[名前] フィールドに、将来の予約リクエストの名前を入力します。
[接頭辞] フィールドに、名前の接頭辞を入力します。将来の予約リクエストから自動作成された各予約の名前は、この接頭辞で始まります。
この将来の予約リクエスト用に自動作成された予約を特定しやすくするために、一意の名前の接頭辞を指定することをおすすめします。
オプション: [説明] フィールドに、将来の予約リクエストの説明を入力します。
[リージョン] フィールドで、リソースを予約するリージョンを選択します。
[ゾーン] フィールドで、リソースを予約するゾーンを選択します。
[開始時間] フィールドに、予約期間の開始時間を入力します。開始時間は、審査を受けるために将来の予約リクエストを送信した日時から 1 年以内にしてください。
必ず開始時間の推奨値を指定して、将来の予約がロック時間になるまでに十分な時間を確保できるようにしてください。
[終了時間] フィールドに、予約期間の終了時間を入力します。予約期間は 24 時間以上にする必要があります。
[Duration summary] セクションで、予約期間の長さを確認できます。審査を受けるために送信した将来の予約リクエストが Google Cloud で承認される可能性を高めるために、必ず予約期間の推奨値を指定します。
[共有タイプ] セクションで [ローカル](デフォルト)を選択します。
[VM インスタンスの数] フィールドに、将来の予約リクエストで指定された期間、VM 構成、プロジェクトに予約する VM の合計数を入力します。
開始時間の直前に、承認された将来の予約リクエストに対して作成する新しい予約の数を計算すると、Compute Engine はこの合計からリクエストに一致する既存の予約を差し引きます。詳細については、Compute Engine での予約済みリソースのカウントとプロビジョニングの方法をご覧ください。
[マシンの構成] セクションで、次の手順を実施します。
既存のインスタンス テンプレートを使用して VM のプロパティを指定するには、[インスタンス テンプレートを使用] を選択します。
[インスタンス テンプレート] フィールドで、任意のインスタンス テンプレートを選択します。リージョン インスタンス テンプレートを選択した場合は、インスタンス テンプレートが配置されているリージョン内のリソースのみを予約できます。
[自動生成された予約の自動削除日時] セクションで、次のいずれかを行います。
将来の予約リクエスト用に自動作成された予約を Compute Engine が自動的に削除できるようにするには、次の手順を実施します。
[自動削除を有効にする] をクリックしてオン(デフォルト)にします。
オプション: [自動削除日時] フィールドに、自動作成された予約を削除する新しい日時を入力します。日時は予約期間の終了日より後にする必要があります。このフィールドを空のままにすると、自動作成された予約は予約期間の終了時間から 2 時間以内に削除されます。
自動削除しない場合は、[自動削除を有効にする] をクリックしてオフにします。
次のいずれかを行います。
将来の予約リクエストを作成して審査を受けるために Google Cloud に送信するには、[送信] をクリックします。
将来の予約リクエストの下書きを作成するには、[下書きを保存] をクリックします。
保存せずに終了する場合は、[キャンセル] をクリックします。
[予約] ページが開きます。将来の予約リクエストの作成が完了するまでに 1 分ほどかかることがあります。
gcloud
インスタンス テンプレートを指定して単一プロジェクトの将来の予約リクエストを作成するには、--source-instance-template
フラグを指定して gcloud beta compute future-reservations create
コマンドを使用します。
gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
--auto-delete-auto-created-reservations \
--description="DESCRIPTION" \
--name-prefix=NAME_PREFIX \
--planning-status=PLANNING_STATUS \
--project=PROJECT_ID \
--source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \
--start-time=START_TIME \
--end-time=END_TIME \
--total-count=TOTAL_COUNT \
--zone=ZONE
次のように置き換えます。
FUTURE_RESERVATION_NAME
: 作成する将来の予約リクエストの名前。
DESCRIPTION
: 省略可。将来の予約リクエストの説明。
NAME_PREFIX
: 将来の予約リクエストの名前の接頭辞。将来の予約リクエスト用に自動作成される各予約の名前は、名前の接頭辞で始まります。将来の予約リクエスト用に自動的に作成された予約を特定しやすくするために、一意の名前の接頭辞を指定することをおすすめします。PLANNING_STATUS
: 省略可。将来の予約リクエストの計画ステータスは次のいずれかにする必要があります。将来の予約リクエストの下書きを作成するには、
DRAFT
を指定します。将来の予約リクエストを作成して承認のために Google Cloud に送信するには、
SUBMITTED
を指定します。
--planning-status
フラグを省略すると、値はDRAFT
に設定されます。PROJECT_ID
: リソースを予約するプロジェクトとインスタンス テンプレートが配置されているプロジェクトの ID。
LOCATION
: インスタンス テンプレートのロケーション。次のいずれかの値を指定します。グローバル インスタンス テンプレートの場合:
global
リージョン インスタンス テンプレートの場合:
regions/REGION
REGION
は、インスタンス テンプレートが配置されているリージョンに置き換えます。リージョン インスタンス テンプレートを指定した場合、インスタンス テンプレートが配置されているリージョン内でのみ VM を予約できます。
INSTANCE_TEMPLATE_NAME
: 既存のインスタンス テンプレートの名前。インスタンス テンプレートを指定した場合、将来の予約リクエストの作成時にプロパティをオーバーライドすることはできません。そうでない場合は、エラーが発生します。
START_TIME
: RFC 3339 タイムスタンプとしてフォーマットされた予約期間の開始時間。次のようにする必要があります。YYYY-MM-DDTHH:MM:SSOFFSET
次のように置き換えます。
YYYY-MM-DD
: 4 桁の年、2 桁の月、その月の 2 桁の日をハイフン(-
)で区切った日付。HH:MM:SS
: 24 時間制の 2 桁の時間、2 桁の分、2 桁の秒をコロン(:
)で区切った時刻。OFFSET
: 協定世界時(UTC)のオフセット形式で示されるタイムゾーン。たとえば、太平洋標準時(PST)を使用する場合は-08:00
を指定します。オフセットを使用しない場合は、Z
を指定します。
開始時間は、審査を受けるために将来の予約リクエストを送信した日時から 1 年以内にしてください。将来の予約リクエストが承認された後またはロック時間になるまでに、キャンセル、削除、変更するために十分な時間を確保するには、開始時間の推奨値を指定してください。
END_TIME
: 予約期間の終了日時(RFC 3339 タイムスタンプの形式)。予約期間は 24 時間以上にする必要があります。または、--end-time
フラグを--duration=END_DURATION
フラグに置き換えることもできます。ここで、END_DURATION
は予約期間(秒単位)です。たとえば、1,209,600 秒(14 日)の場合は1209600
を指定します。審査を受けるために送信した将来の予約リクエストが Google Cloud で承認される可能性を高めるために、必ず予約期間の推奨値のいずれかを指定します。
TOTAL_COUNT
: この将来の予約リクエストで指定された期間、VM 構成、プロジェクトに対して予約する VM の合計数。承認された将来の予約のために作成する予約の数を計算するとき、Compute Engine はまず既存の予約を確認します。承認された将来の予約に一致する既存の予約がある場合は、リクエストで要求された予約の合計数から既存の予約数が差し引かれ、Compute Engine が作成する新しい予約の数が決定されます。詳細については、Compute Engine での予約済みリソースのカウントとプロビジョニングの方法をご覧ください。
ZONE
: リソースを予約するゾーン。
--auto-delete-auto-created-reservations
フラグを指定すると、Compute Engine は将来の予約リクエスト用に自動作成された予約を自動的に削除します。デフォルトでは、削除時間は予約期間の終了時間から 2 時間以内です。必要に応じて、次のいずれかの方法でこの時間を変更できます。
自動作成された予約を予約期間の終了時間後に削除するには、次のいずれかの方法を選択します。
自動作成された予約を予約期間の終了時間後の特定の時間に削除するには、
--auto-delete-auto-created-reservations
フラグと--auto-created-reservations-delete-time
フラグを指定します。gcloud beta compute future-reservations create example-future-reservation \ --auto-delete-auto-created-reservations \ --auto-created-reservations-delete-time=AUTO_CREATED_RESERVATIONS_DELETE_TIME \ ...
AUTO_CREATED_RESERVATIONS_DELETE_TIME
は、RFC 3339 タイムスタンプ形式の日時に置き換えます。自動作成された予約を予約期間の終了時間から特定の時間が経過した後に削除するには、
--auto-delete-auto-created-reservations
フラグと--auto-created-reservations-duration
フラグを指定します。gcloud beta compute future-reservations create example-future-reservation \ --auto-delete-auto-created-reservations \ --auto-created-reservations-duration=DURATION_BEFORE_DELETE \ ...
DURATION_BEFORE_DELETE
は、期間(日、時間、分、秒)に置き換えます。たとえば、30 分の場合は30m
を指定し、1 日、2 時間、3 分、4 秒の場合は1d2h3m4s
を指定します。
Compute Engine で自動作成された予約が自動的に削除されないようにするには、
--no-auto-delete-auto-created-reservations
フラグを指定します。自動作成された予約をコミットメントに関連付ける場合は、自動削除オプションを無効にする必要があります。gcloud beta compute future-reservations create example-future-reservation \ --no-auto-delete-auto-created-reservations \ ...
たとえば、次のコマンドでは 80 台の VM の example-template
グローバル インスタンス テンプレートを使用して、将来の予約リクエストのドラフトを作成します。予約期間は 2023 年 11 月 10 日(UTC)の深夜 0 時から 2023 年 12 月 10 日(UTC)の深夜 0 時までです。将来の予約用に自動作成される予約はゾーン us-central1-a
で作成され、名前は fr-01-reservation
で始まります。自動作成される予約は 2023 年 12 月 13 日(UTC)の深夜に自動的に削除されます。
gcloud beta compute future-reservations create fr-01 \
--auto-delete-auto-created-reservations \
--auto-created-reservations-delete-time=2023-12-13T00:00:00Z \
--name-prefix=fr-01-reservation \
--planning-status=DRAFT \
--project=example-project \
--source-instance-template=projects/example-project/global/instanceTemplates/example-template \
--start-time=2023-11-10T00:00:00Z \
--end-time=2023-12-10T00:00:00Z \
--total-count=80 \
--zone=us-central1-a
REST
インスタンス テンプレートを指定して単一プロジェクトの将来の予約リクエストを作成するには、beta.futureReservations.insert
メソッドに POST
リクエストを送信します。
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations
{
"autoDeleteAutoCreatedReservations": "AUTO_DELETE_AUTO_CREATED_RESERVATIONS",
"description": "DESCRIPTION",
"name": "FUTURE_RESERVATION_NAME",
"namePrefix": "NAME_PREFIX",
"planningStatus": "PLANNING_STATUS",
"specificSkuProperties": {
"sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME",
"totalCount": "TOTAL_COUNT"
},
"timeWindow": {
"startTime": "START_TIME",
"endTime": "END_TIME"
}
}
次のように置き換えます。
PROJECT_ID
: リソースを予約するプロジェクトとインスタンス テンプレートが配置されているプロジェクトの ID。ZONE
: リソースを予約するゾーン。AUTO_DELETE_AUTO_CREATED_RESERVATIONS
: このフィールドをtrue
に設定すると、将来の予約リクエスト用に自動作成された予約は、完全に使用されたかどうかに関係なく Compute Engine によって自動的に削除されます。自動作成の予約をコミットメントに関連付ける場合は、このフィールドをfalse
に設定します。デフォルトでは、削除時間は予約期間の終了時間から 2 時間以内です。これを変更するには、次のいずれかの操作を行います。
自動作成された予約を予約期間の終了後の特定の時間に削除するには、
autoDeleteAutoCreatedReservations
をtrue
に設定し、autoCreatedReservationsDeleteTime
フィールドを指定します。POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations { "autoDeleteAutoCreatedReservations": "true", "autoCreatedReservationsDeleteTime": "DELETE_TIME", ... }
DELETE_TIME
を、自動作成された予約が Compute Engine によって削除される日時に置き換えます。日時は、RFC 3339 タイムスタンプの形式で指定する必要があります。次のように指定します。YYYY-MM-DDTHH:MM:SSOFFSET
次のように置き換えます。
YYYY-MM-DD
: 4 桁の年、2 桁の月、その月の 2 桁の日をハイフン(-
)で区切った日付。HH:MM:SS
: 24 時間制の 2 桁の時間、2 桁の分、2 桁の秒をコロン(:
)で区切った時間。OFFSET
: 協定世界時(UTC)タイムゾーンのオフセット形式で示されるタイムゾーン。たとえば、太平洋標準時(PST)のタイムゾーンを使用する場合は-08:00
を指定します。オフセットを使用しない場合は、Z
を指定します。
自動作成された予約を予約期間の開始時間から特定の時間が経過した後に削除するには、
autoDeleteAutoCreatedReservations
をtrue
に設定し、autoCreatedReservationsDuration
フィールドを指定します。POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations { "autoDeleteAutoCreatedReservations": "true", "autoCreatedReservationsDuration": { "seconds": "DURATION_BEFORE_DELETE" }, ... }
DURATION_BEFORE_DELETE
は期間(秒単位)に置き換えます。たとえば、604,800 秒(7 日)の場合は604800
を指定します。
DESCRIPTION
: 省略可。将来の予約リクエストの説明。FUTURE_RESERVATION_NAME
: 作成する将来の予約リクエストの名前。NAME_PREFIX
: 将来の予約リクエストの名前の接頭辞。将来の予約リクエスト用に自動作成される各予約の名前は、名前の接頭辞で始まります。将来の予約リクエスト用に自動的に作成された予約を特定しやすくするために、一意の名前の接頭辞を指定することをおすすめします。
PLANNING_STATUS
: 省略可。将来の予約リクエストの計画ステータスは次のいずれかにする必要があります。将来の予約リクエストの下書きを作成するには、
DRAFT
を指定します。将来の予約リクエストを作成して承認のために Google Cloud に送信するには、
SUBMITTED
を指定します。
planningStatus
フィールドを省略すると、値はDRAFT
に設定されます。
LOCATION
: インスタンス テンプレートのロケーション。次のいずれかの値を指定します。グローバル インスタンス テンプレートの場合:
global
リージョン インスタンス テンプレートの場合:
regions/REGION
REGION
は、インスタンス テンプレートが配置されているリージョンに置き換えます。リージョン インスタンス テンプレートを指定した場合、インスタンス テンプレートが配置されているリージョン内でのみ VM を予約できます。
INSTANCE_TEMPLATE_NAME
: 既存のインスタンス テンプレートの名前。インスタンス テンプレートを指定した場合、将来の予約リクエストの作成時にプロパティをオーバーライドすることはできません。そうでない場合は、エラーが発生します。
TOTAL_COUNT
: この将来の予約リクエストで指定された期間、VM 構成、プロジェクトに対して予約する VM の合計数。承認された将来の予約のために作成する予約の数を計算するとき、Compute Engine はまず既存の予約を確認します。承認された将来の予約に一致する既存の予約がある場合は、リクエストで要求された予約の合計数から既存の予約数が差し引かれ、Compute Engine が作成する新しい予約の数が決定されます。詳細については、Compute Engine での予約済みリソースのカウントとプロビジョニングの方法をご覧ください。
START_TIME
: 予約期間の開始時間(RFC 3339 タイムスタンプの形式)。開始時間は、審査を受けるために将来の予約リクエストを送信した日時から 1 年以内にしてください。または、必ず開始時間の推奨値を指定して、将来の予約がロック時間になるまでに十分な時間を確保できるようにしてください。END_TIME
: 予約期間の終了日時(RFC 3339 タイムスタンプの形式)。予約期間は 24 時間以上にする必要があります。または、endTime
フィールドをduration
フィールドに置き換えて、予約期間の開始時間から特定の期間を指定することもできます。"duration": { "seconds": "END_DURATION" }
END_DURATION
を期間(秒単位)に置き換えます。たとえば、1,209,600 秒(14 日)の場合は1209600
を指定します。審査を受けるために送信した将来の予約リクエストが Google Cloud で承認される可能性を高めるために、必ず予約期間の推奨値のいずれかを指定します。
たとえば、次のコマンドでは 80 台の VM の example-template
グローバル インスタンス テンプレートを使用して、将来の予約リクエストのドラフトを作成します。予約期間は 2023 年 11 月 10 日(UTC)の深夜 0 時から 2023 年 12 月 10 日(UTC)の深夜 0 時までです。将来の予約用に自動作成される予約はゾーン us-central1-a
で作成され、名前は fr-01-reservation
で始まります。自動作成される予約は 2023 年 12 月 13 日(UTC)の深夜に自動的に削除されます。
POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations
{
"autoDeleteAutoCreatedReservations": "true",
"autoCreatedReservationsDeleteTime": "2023-12-13T00:00:00Z",
"name": "fr-01",
"namePrefix": "fr-01-reservation",
"specificSkuProperties": {
"sourceInstanceTemplate": "projects/example-project/global/instanceTemplates/example-template",
"totalCount": "80"
},
"planningStatus": "DRAFT",
"timeWindow": {
"startTime": "2023-11-10T00:00:00Z",
"endTime": "2023-12-10T00:00:00Z"
}
}
VM のプロパティを直接指定する
Google Cloud コンソール、gcloud CLI、REST を使用してプロパティを直接指定することで、単一プロジェクトの将来の予約を作成できます。
コンソール
プロパティを直接指定して単一プロジェクトの将来の予約リクエストを作成する手順は、次のとおりです。
Google Cloud コンソールの [予約] ページに移動します。
[将来の予約] タブをクリックします。
[
将来の予約を作成] をクリックします。[将来の予約を作成] ページが開きます。
[名前] フィールドに、将来の予約リクエストの名前を入力します。
[接頭辞] フィールドに、名前の接頭辞を入力します。将来の予約リクエストから自動作成された各予約の名前は、この接頭辞で始まります。
この将来の予約リクエスト用に自動作成された予約を特定しやすくするために、一意の名前の接頭辞を指定することをおすすめします。
オプション: [説明] フィールドに、将来の予約リクエストの説明を入力します。
[リージョン] フィールドで、リソースを予約するリージョンを選択します。
[ゾーン] フィールドで、リソースを予約するゾーンを選択します。
[開始時間] フィールドに、予約期間の開始時間を入力します。開始時間は、審査を受けるために将来の予約リクエストを送信した日時から 1 年以内にしてください。
必ず開始時間の推奨値を指定して、将来の予約がロック時間になるまでに十分な時間を確保できるようにしてください。
[終了時間] フィールドに、予約期間の終了時間を入力します。予約期間は 24 時間以上にする必要があります。
[Duration summary] セクションで、予約期間の長さを確認できます。審査を受けるために送信した将来の予約リクエストが Google Cloud で承認される可能性を高めるために、必ず予約期間の推奨値を指定します。
[共有タイプ] セクションで [ローカル](デフォルト)を選択します。
[VM インスタンスの数] フィールドに、将来の予約リクエストで指定された期間、VM 構成、プロジェクトに予約する VM の合計数を入力します。
開始時間の直前に、承認された将来の予約リクエストに対して作成する新しい予約の数を計算すると、Compute Engine はこの合計からリクエストに一致する既存の予約を差し引きます。詳細については、Compute Engine での予約済みリソースのカウントとプロビジョニングの方法をご覧ください。
[マシンの構成] セクションで、次の手順を実施します。
[マシンタイプを指定] を選択します(デフォルト)。
次のオプションのいずれかを選択します。
一般的なワークロードの場合は、[汎用] タブをクリックします(デフォルト)。
高いパフォーマンスが要求されるワークロードの場合は、[コンピューティング最適化] タブをクリックします。
メモリ対 vCPU 比が高いワークロードの場合は、[メモリ最適化] タブをクリックします。
画像処理装置(GPU)を使用するワークロードの場合は、[GPU] タブをクリックします。
次のいずれかを行います。
前の手順で [汎用]、[コンピューティング最適化]、または [メモリ最適化] を指定した場合、次の手順を実施します。
[シリーズ] リストで、[マシンシリーズ] を選択します。
[マシンタイプ] リストで、マシンタイプを選択します。
省略可: 予約をリクエストする VM のマシンをさらにカスタマイズするには、[高度な構成] を開き、画面上の手順に沿って操作します。
前の手順で [GPU] を指定した場合は、次の手順を実施します。
[GPU のタイプ] メニューで、GPU のタイプを選択します。
[GPU の数] メニューで、GPU の数を選択します。
オプション: GPU のタイプで許可されていて、予約済みのリソースを使用してグラフィックを多用するワークロードを実行する場合は、[仮想ワークステーション(NVIDIA GRID)を有効にする] チェックボックスをオンにします。
[マシンタイプ] リストで、マシンタイプを選択します。
[CPU プラットフォーム] リストで、予約する VM の CPU プラットフォームを選択します。
オプション: マシンタイプで許可されていて、ローカル SSD を追加する場合は、次の手順を実施します。
[ディスク数] フィールドで、ローカル SSD のディスク数を選択します。
[インターフェース タイプ] セクションで、次のいずれかのインターフェースを選択します。
SCSI(デフォルト)
NVMe
[自動生成された予約の自動削除日時] セクションで、次のいずれかを行います。
将来の予約リクエスト用に自動作成された予約を Compute Engine が自動的に削除できるようにするには、次の手順を実施します。
[自動削除を有効にする] をクリックしてオン(デフォルト)にします。
オプション: [自動削除日時] フィールドに、自動作成された予約を削除する新しい日時を入力します。日時は予約期間の終了日より後にする必要があります。このフィールドを空のままにすると、自動作成された予約は予約期間の終了時間から 2 時間以内に削除されます。
自動削除しない場合は、[自動削除を有効にする] をクリックしてオフにします。
次のいずれかを行います。
将来の予約リクエストを作成して審査を受けるために Google Cloud に送信するには、[送信] をクリックします。
将来の予約リクエストの下書きを作成するには、[下書きを保存] をクリックします。
保存せずに終了する場合は、[キャンセル] をクリックします。
[予約] ページが開きます。将来の予約リクエストの作成が完了するまでに 1 分ほどかかることがあります。
gcloud
プロパティを直接指定して単一プロジェクトの将来の予約リクエストを作成するには、gcloud beta compute future-reservations create
コマンドを使用します。
gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
--accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE \
--auto-delete-auto-created-reservations \
--description="DESCRIPTION" \
--local-ssd=size=375,interface=INTERFACE_1 \
--local-ssd=size=375,interface=INTERFACE_2 \
--machine-type=MACHINE_TYPE \
--min-cpu-platform=MIN_CPU_PLATFORM \
--name-prefix=NAME_PREFIX \
--planning-status=PLANNING_STATUS \
--project=PROJECT_ID \
--start-time=START_TIME \
--end-time=END_TIME \
--total-count=TOTAL_COUNT \
--zone=ZONE
次のように置き換えます。
FUTURE_RESERVATION_NAME
: 作成する将来の予約リクエストの名前。
オプション: 予約された各 VM に画像処理装置(GPU)を追加するには、以下を指定します。
NUMBER_OF_ACCELERATORS
: 予約済みの VM 1 台あたりに追加する GPU の数。ACCELERATOR_TYPE
: 予約済みの VM に追加する GPU のタイプ。
将来の予約リクエストで指定したマシンタイプが、指定する GPU のタイプをサポートしていることと、リソースを予約するゾーンで GPU を使用できることを確認します。そうでない場合は、エラーが発生します。
DESCRIPTION
: 省略可。将来の予約リクエストの説明。
INTERFACE_1
、INTERFACE_2
: 省略可。各 VM のローカル SSD が使用するインターフェースのタイプ。値は次のいずれかにする必要があります。ブートディスク イメージに最適化された NVMe ドライバがある場合は、
nvme
を指定します。そうでない場合は、
scsi
を指定します。
各ローカル SSD は 375 GB です。追加するローカル SSD ごとに
--local-ssd
フラグを繰り返します。最大 24 個のローカル SSD を指定できます。MACHINE_TYPE
: 各 VM に使用するマシンタイプ。次のいずれかの値を指定します。事前定義されたマシンタイプの場合:
MACHINE_FAMILY-standard-CPUS
カスタム マシンタイプの場合:
MACHINE_FAMILY-custom-CPUS-MEMORY
カスタム マシンタイプを指定する前に、カスタム マシンタイプの VM の制限事項を確認してください。
次のように置き換えます。
MACHINE_FAMILY
: マシン ファミリー。CPUS
: vCPU の数。MEMORY
: 予約済み VM の合計メモリ。メモリは 256 MB の倍数で、MB 単位で指定する必要があります。
たとえば、4 つの vCPU と 5 GB(5,120 MB)のメモリで N2 カスタム マシンタイプを指定するには、
n2-custom-4-5120
を指定します。MINIMUM_CPU_PLATFORM
: 省略可。各 VM に使用する最小 CPU プラットフォーム。--min-cpu-platform
フラグを省略すると、その値はゾーンのデフォルトの CPU プラットフォームに設定されます。
NAME_PREFIX
: 将来の予約リクエストの名前の接頭辞。将来の予約リクエスト用に自動作成される各予約の名前は、名前の接頭辞で始まります。将来の予約リクエスト用に自動的に作成された予約を特定しやすくするために、一意の名前の接頭辞を指定することをおすすめします。PLANNING_STATUS
: 省略可。将来の予約リクエストの計画ステータスは次のいずれかにする必要があります。将来の予約リクエストの下書きを作成するには、
DRAFT
を指定します。将来の予約リクエストを作成して承認のために Google Cloud に送信するには、
SUBMITTED
を指定します。
--planning-status
フラグを省略すると、値はDRAFT
に設定されます。PROJECT_ID
: リソースを予約するプロジェクトの ID。
START_TIME
: RFC 3339 タイムスタンプとしてフォーマットされた予約期間の開始時間。次のようにする必要があります。YYYY-MM-DDTHH:MM:SSOFFSET
次のように置き換えます。
YYYY-MM-DD
: 4 桁の年、2 桁の月、その月の 2 桁の日をハイフン(-
)で区切った日付。HH:MM:SS
: 24 時間制の 2 桁の時間、2 桁の分、2 桁の秒をコロン(:
)で区切った時刻。OFFSET
: 協定世界時(UTC)のオフセット形式で示されるタイムゾーン。たとえば、太平洋標準時(PST)を使用する場合は-08:00
を指定します。オフセットを使用しない場合は、Z
を指定します。
開始時間は、審査を受けるために将来の予約リクエストを送信した日時から 1 年以内にしてください。将来の予約リクエストが承認された後またはロック時間になるまでに、キャンセル、削除、変更するために十分な時間を確保するには、開始時間の推奨値を指定してください。
END_TIME
: 予約期間の終了日時(RFC 3339 タイムスタンプの形式)。予約期間は 24 時間以上にする必要があります。または、--end-time
フラグを--duration=END_DURATION
フラグに置き換えることもできます。ここで、END_DURATION
は予約期間(秒単位)です。たとえば、1,209,600 秒(14 日)の場合は1209600
を指定します。審査を受けるために送信した将来の予約リクエストが Google Cloud で承認される可能性を高めるために、必ず予約期間の推奨値のいずれかを指定します。
TOTAL_COUNT
: この将来の予約リクエストで指定された期間、VM 構成、プロジェクトに対して予約する VM の合計数。承認された将来の予約のために作成する予約の数を計算するとき、Compute Engine はまず既存の予約を確認します。承認された将来の予約に一致する既存の予約がある場合は、リクエストで要求された予約の合計数から既存の予約数が差し引かれ、Compute Engine が作成する新しい予約の数が決定されます。詳細については、Compute Engine での予約済みリソースのカウントとプロビジョニングの方法をご覧ください。
ZONE
: リソースを予約するゾーン。
--auto-delete-auto-created-reservations
フラグを指定すると、Compute Engine は将来の予約リクエスト用に自動作成された予約を自動的に削除します。デフォルトでは、削除時間は予約期間の終了時間から 2 時間以内です。必要に応じて、次のいずれかの方法でこの時間を変更できます。
自動作成された予約を予約期間の終了時間後に削除するには、次のいずれかの方法を選択します。
自動作成された予約を予約期間の終了時間後の特定の時間に削除するには、
--auto-delete-auto-created-reservations
フラグと--auto-created-reservations-delete-time
フラグを指定します。gcloud beta compute future-reservations create example-future-reservation \ --auto-delete-auto-created-reservations \ --auto-created-reservations-delete-time=AUTO_CREATED_RESERVATIONS_DELETE_TIME \ ...
AUTO_CREATED_RESERVATIONS_DELETE_TIME
は、RFC 3339 タイムスタンプ形式の日時に置き換えます。自動作成された予約を予約期間の終了時間から特定の時間が経過した後に削除するには、
--auto-delete-auto-created-reservations
フラグと--auto-created-reservations-duration
フラグを指定します。gcloud beta compute future-reservations create example-future-reservation \ --auto-delete-auto-created-reservations \ --auto-created-reservations-duration=DURATION_BEFORE_DELETE \ ...
DURATION_BEFORE_DELETE
は、期間(日、時間、分、秒)に置き換えます。たとえば、30 分の場合は30m
を指定し、1 日、2 時間、3 分、4 秒の場合は1d2h3m4s
を指定します。
Compute Engine で自動作成された予約が自動的に削除されないようにするには、
--no-auto-delete-auto-created-reservations
フラグを指定します。自動作成された予約をコミットメントに関連付ける場合は、自動削除オプションを無効にする必要があります。gcloud beta compute future-reservations create example-future-reservation \ --no-auto-delete-auto-created-reservations \ ...
たとえば、次のコマンドでは 80 台の VM に対する将来の予約リクエストのドラフトが作成されます。予約期間は 2023 年 11 月 10 日(UTC)の深夜 0 時から 2023 年 12 月 10 日(UTC)の深夜 0 時までです。予約済みの VM は、マシンタイプ n2-standard-4
、最小 CPU プラットフォーム skylake
、scsi
インターフェースを備えた 1 つのローカル SSD(それぞれ 375 GB)を指定します。将来の予約用に自動作成される予約はゾーン us-central1-a
で作成され、名前は fr-01-reservation
で始まります。自動作成される予約は 2023 年 12 月 13 日(UTC)の深夜に自動的に削除されます。
gcloud beta compute future-reservations create fr-01 \
--auto-delete-auto-created-reservations \
--auto-created-reservations-delete-time=2023-12-13T00:00:00Z \
--local-ssd=size=375,interface=scsi \
--machine-type=n2-standard-4 \
--min-cpu-platform=skylake \
--name-prefix=fr-01-reservation \
--planning-status=DRAFT \
--project=example-project \
--start-time=2023-11-10T00:00:00Z \
--end-time=2023-12-10T00:00:00Z \
--total-count=80 \
--zone=us-central1-a
REST
プロパティを直接指定して単一プロジェクトの将来の予約リクエストを作成するには、beta.futureReservations.insert
メソッドに POST
リクエストを送信します。
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations
{
"autoDeleteAutoCreatedReservations": "AUTO_DELETE_AUTO_CREATED_RESERVATIONS",
"description": "DESCRIPTION",
"name": "FUTURE_RESERVATION_NAME",
"namePrefix": "NAME_PREFIX",
"planningStatus": "PLANNING_STATUS",
"specificSkuProperties": {
"instanceProperties": {
"guestAccelerators": [
{
"acceleratorCount": NUMBER_OF_ACCELERATORS,
"acceleratorType": "ACCELERATOR_TYPE"
}
],
"localSsds": [
{
"diskSizeGb": "375",
"interface": "INTERFACE_1"
},
{
"diskSizeGb": "375",
"interface": "INTERFACE_2"
}
],
"machineType": "MACHINE_TYPE",
"minCpuPlatform": "MINIMUM_CPU_PLATFORM"
},
"totalCount": "TOTAL_COUNT"
},
"timeWindow": {
"startTime": "START_TIME",
"endTime": "END_TIME"
}
}
次のように置き換えます。
PROJECT_ID
: リソースを予約するプロジェクトの ID。ZONE
: リソースを予約するゾーン。AUTO_DELETE_AUTO_CREATED_RESERVATIONS
: このフィールドをtrue
に設定すると、将来の予約リクエスト用に自動作成された予約は、完全に使用されたかどうかに関係なく Compute Engine によって自動的に削除されます。自動作成の予約をコミットメントに関連付ける場合は、このフィールドをfalse
に設定します。デフォルトでは、削除時間は予約期間の終了時間から 2 時間以内です。これを変更するには、次のいずれかの操作を行います。
自動作成された予約を予約期間の終了後の特定の時間に削除するには、
autoDeleteAutoCreatedReservations
をtrue
に設定し、autoCreatedReservationsDeleteTime
フィールドを指定します。POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations { "autoDeleteAutoCreatedReservations": "true", "autoCreatedReservationsDeleteTime": "DELETE_TIME", ... }
DELETE_TIME
を、自動作成された予約が Compute Engine によって削除される日時に置き換えます。日時は、RFC 3339 タイムスタンプの形式で指定する必要があります。次のように指定します。YYYY-MM-DDTHH:MM:SSOFFSET
次のように置き換えます。
YYYY-MM-DD
: 4 桁の年、2 桁の月、その月の 2 桁の日をハイフン(-
)で区切った日付。HH:MM:SS
: 24 時間制の 2 桁の時間、2 桁の分、2 桁の秒をコロン(:
)で区切った時間。OFFSET
: 協定世界時(UTC)タイムゾーンのオフセット形式で示されるタイムゾーン。たとえば、太平洋標準時(PST)のタイムゾーンを使用する場合は-08:00
を指定します。オフセットを使用しない場合は、Z
を指定します。
自動作成された予約を予約期間の開始時間から特定の時間が経過した後に削除するには、
autoDeleteAutoCreatedReservations
をtrue
に設定し、autoCreatedReservationsDuration
フィールドを指定します。POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations { "autoDeleteAutoCreatedReservations": "true", "autoCreatedReservationsDuration": { "seconds": "DURATION_BEFORE_DELETE" }, ... }
DURATION_BEFORE_DELETE
は期間(秒単位)に置き換えます。たとえば、604,800 秒(7 日)の場合は604800
を指定します。
DESCRIPTION
: 省略可。将来の予約リクエストの説明。FUTURE_RESERVATION_NAME
: 作成する将来の予約リクエストの名前。NAME_PREFIX
: 将来の予約リクエストの名前の接頭辞。将来の予約リクエスト用に自動作成される各予約の名前は、名前の接頭辞で始まります。将来の予約リクエスト用に自動的に作成された予約を特定しやすくするために、一意の名前の接頭辞を指定することをおすすめします。
PLANNING_STATUS
: 省略可。将来の予約リクエストの計画ステータスは次のいずれかにする必要があります。将来の予約リクエストの下書きを作成するには、
DRAFT
を指定します。将来の予約リクエストを作成して承認のために Google Cloud に送信するには、
SUBMITTED
を指定します。
planningStatus
フィールドを省略すると、値はDRAFT
に設定されます。
オプション: 予約された各 VM に画像処理装置(GPU)を追加するには、以下を指定します。
NUMBER_OF_ACCELERATORS
: 予約済みの VM 1 台あたりに追加する GPU の数。ACCELERATOR_TYPE
: 予約済みの VM に追加する GPU のタイプ。
将来の予約リクエストで指定したマシンタイプが、指定する GPU のタイプをサポートしていることと、リソースを予約するゾーンで GPU を使用できることを確認します。そうでない場合は、エラーが発生します。
INTERFACE_1
、INTERFACE_2
: 省略可。各 VM のローカル SSD が使用するインターフェースのタイプ。値は次のいずれかにする必要があります。ブートディスク イメージに最適化された NVMe ドライバがある場合は、
NVME
を指定します。そうでない場合は、
SCSI
を指定します。
各ローカル SSD は 375 GB です。追加するローカル SSD ごとに
--local-ssd
フラグを繰り返します。最大 24 個のローカル SSD を指定できます。MACHINE_TYPE
: 各 VM に使用するマシンタイプ。次のいずれかの値を指定します。事前定義されたマシンタイプの場合:
MACHINE_FAMILY-standard-CPUS
カスタム マシンタイプの場合:
MACHINE_FAMILY-custom-CPUS-MEMORY
カスタム マシンタイプを指定する前に、カスタム マシンタイプの VM の制限事項を確認してください。
次のように置き換えます。
MACHINE_FAMILY
: マシン ファミリー。CPUS
: vCPU の数。MEMORY
: 予約済み VM の合計メモリ。メモリは 256 MB の倍数で、MB 単位で指定する必要があります。
たとえば、4 つの vCPU と 5 GB(5,120 MB)のメモリで N2 カスタム マシンタイプを指定するには、
n2-custom-4-5120
を指定します。MINIMUM_CPU_PLATFORM
: 省略可。各 VM に使用する最小 CPU プラットフォーム。--min-cpu-platform
フラグを省略すると、その値はゾーンのデフォルトの CPU プラットフォームに設定されます。
TOTAL_COUNT
: この将来の予約リクエストで指定された期間、VM 構成、プロジェクトに対して予約する VM の合計数。承認された将来の予約のために作成する予約の数を計算するとき、Compute Engine はまず既存の予約を確認します。承認された将来の予約に一致する既存の予約がある場合は、リクエストで要求された予約の合計数から既存の予約数が差し引かれ、Compute Engine が作成する新しい予約の数が決定されます。詳細については、Compute Engine での予約済みリソースのカウントとプロビジョニングの方法をご覧ください。
START_TIME
: 予約期間の開始時間(RFC 3339 タイムスタンプの形式)。開始時間は、審査を受けるために将来の予約リクエストを送信した日時から 1 年以内にしてください。または、必ず開始時間の推奨値を指定して、将来の予約がロック時間になるまでに十分な時間を確保できるようにしてください。END_TIME
: 予約期間の終了日時(RFC 3339 タイムスタンプの形式)。予約期間は 24 時間以上にする必要があります。または、endTime
フィールドをduration
フィールドに置き換えて、予約期間の開始時間から特定の期間を指定することもできます。"duration": { "seconds": "END_DURATION" }
END_DURATION
を期間(秒単位)に置き換えます。たとえば、1,209,600 秒(14 日)の場合は1209600
を指定します。審査を受けるために送信した将来の予約リクエストが Google Cloud で承認される可能性を高めるために、必ず予約期間の推奨値のいずれかを指定します。
たとえば、次のコマンドでは 80 台の VM に対する将来の予約リクエストのドラフトが作成されます。予約期間は 2023 年 11 月 10 日(UTC)の深夜 0 時から 2023 年 12 月 10 日(UTC)の深夜 0 時までです。予約済みの VM は、マシンタイプ n2-standard-4
、最小 CPU プラットフォーム skylake
、SCSI
インターフェースを備えた 1 つのローカル SSD(それぞれ 375 GB)を指定します。将来の予約用に自動作成される予約はゾーン us-central1-a
で作成され、名前は fr-01-reservation
で始まります。自動作成される予約は 2023 年 12 月 13 日(UTC)の深夜に自動的に削除されます。
POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations
{
"autoDeleteAutoCreatedReservations": "true",
"autoCreatedReservationsDeleteTime": "2023-12-13T00:00:00Z",
"name": "fr-01",
"namePrefix": "fr-01-reservation",
"specificSkuProperties": {
"instanceProperties": {
"localSsds": [
{
"diskSizeGb": "375",
"interface": "SCSI"
}
],
"machineType": "n2-standard-4",
"minCpuPlatform": "Skylake"
},
"totalCount": "80"
},
"planningStatus": "DRAFT",
"timeWindow": {
"startTime": "2023-11-10T00:00:00Z",
"endTime": "2023-12-10T00:00:00Z"
}
}
審査を受けるために将来の予約リクエストの下書きを送信する
Google Cloud コンソール、gcloud CLI、REST を使用して、Google Cloud に将来の予約リクエストの下書きを送信できます。審査を受けるために将来の予約リクエストの下書きを送信するときに 1 つ以上のプロパティを変更する場合は、下書きまたは承認されなかった将来の予約リクエストを変更するをご覧ください。
コンソール
審査を受けるために将来の予約リクエストの下書きを送信するには、次の手順を実施します。
Google Cloud コンソールの [予約] ページに移動します。
[将来の予約] タブをクリックします。
[名前] 列で、調達ステータスが「ドラフト作成中」になっている将来の予約リクエストの名前をクリックします。
[将来の予約] ページが開き、将来の予約リクエストの詳細が表示されます。
[下書きを編集] をクリックします。
将来の予約リクエストの下書きの詳細ページが開きます。
審査を受けるために将来の予約リクエストの下書きを Google Cloud に送信するには、[送信] をクリックします。
[予約] ページが開きます。先ほど送信した将来の予約リクエストの [ステータス] 列で、調達ステータスが「承認待ち」に設定されます。
gcloud
審査を受けるために将来の予約リクエストの下書きを送信するには、--planning-status
フラグを SUBMITTED
に設定して gcloud beta compute future-reservations update
コマンドを使用します。
gcloud beta compute future-reservations update FUTURE_RESERVATION_NAME \
--planning-status=SUBMITTED \
--project=PROJECT_ID \
--zone=ZONE
次のように置き換えます。
FUTURE_RESERVATION_NAME
: 既存の将来の予約リクエストのドラフトの名前。PROJECT_ID
: 将来の予約リクエストが存在するプロジェクトの ID。ZONE
: 将来の予約リクエストが存在するゾーン。
REST
審査を受けるために将来の予約リクエストの下書きを送信するには、planningStatus
フィールドをSUBMITTED
に設定して beta.futureReservations.update
メソッドに PATCH
リクエストを送信します。
PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME?updateMask=planningStatus
{
"name": "FUTURE_RESERVATION_NAME",
"planningStatus": "SUBMITTED"
}
次のように置き換えます。
PROJECT_ID
: 将来の予約リクエストが存在するプロジェクトの ID。ZONE
: 将来の予約リクエストが存在するゾーン。FUTURE_RESERVATION_NAME
: 既存の将来の予約リクエストのドラフトの名前。
審査を受けるために将来の予約リクエストのドラフトを送信した後、次の操作を行うことができます。
リクエストの調達ステータスをモニタリングして、Google Cloud がリクエストを承認したか不承認としたかを確認するには、将来の予約リクエストの詳細を表示します。
Google Cloud によるリクエストの審査を停止し、Compute Engine がリクエストされた容量をプロビジョニングできないようにするには、将来の予約リクエストをキャンセルまたは削除します。
トラブルシューティング
将来の予約リクエストの作成時にエラーが発生した場合は、将来の予約リクエストのトラブルシューティングをご覧ください。
トラブルシューティングを行っても問題が解決しない場合は、テクニカル アカウント マネージャーまたはセールスチームにお問い合わせください。
次のステップ
将来の予約リクエストを表示する方法を学習する。
将来の予約リクエストを変更、キャンセル、削除する方法を学習する。
予約期間の開始時間になったら、自動作成された予約を使用する方法を学習する。