将来の予約リクエストの変更、キャンセル、削除


このドキュメントでは、将来の予約リクエストを管理する方法について説明します。具体的には、次の内容について説明します。

  • 下書きまたは送信済みの将来の予約リクエストを修正し、1 つ以上のプロパティを変更します。

  • 将来の予約リクエストをキャンセルして、Google Cloud による審査を停止するか、承認された将来の予約がロック時間に入らないようにします。

  • 必要なロック時間に入る前、または予約期間が終了した後に将来の予約を削除します。

予約期間の終了後に将来の予約に対して自動作成された予約を管理する場合は、以下をご覧ください。

始める前に

  • まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。

    このページのサンプルをどのように使うかに応じて、タブを選択してください。

    コンソール

    Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。

    gcloud

    1. Google Cloud CLI をインストールし、次のコマンドを実行して初期化します。

      gcloud init
    2. デフォルトのリージョンとゾーンを設定します

    REST

    このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

      Google Cloud CLI をインストールし、次のコマンドを実行して初期化します。

      gcloud init

必要なロール

将来の予約リクエストを変更、キャンセル、削除するために必要な権限を取得するには、プロジェクトに対する Compute 将来の予約管理者roles/compute.futureReservationAdmin)IAM ロールを付与するよう管理者に依頼してください。ロールの付与の詳細については、アクセス権の管理をご覧ください。

この事前定義ロールには、将来の予約リクエストを変更、キャンセル、削除するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

将来の予約リクエストを変更、キャンセル、削除するには、次の権限が必要です。

  • 将来の予約をキャンセルする場合: プロジェクトに対する compute.futureReservations.cancel
  • 将来の予約を削除する場合: プロジェクトに対する compute.futureReservations.delete
  • 将来の予約を変更する場合: プロジェクトに対する compute.futureReservations.update

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

制限事項

将来の予約リクエストの変更、キャンセル、削除を行うと、将来の予約に関する一般的な制限に加えて、次の制限が適用されます。

  • 将来の予約リクエストを変更、キャンセル、削除できるのは、将来の予約リクエストが作成されたプロジェクトからのみです。そのため、将来の予約リクエストを他のプロジェクトと共有することはできますが、他のプロジェクトの権限のみを持つユーザーはその将来の予約リクエストを変更できません。

  • 将来の予約リクエストを変更、キャンセル、削除できるのは、調達ステータスで許可されている場合に限られます。詳しくは、次の表をご覧ください。

    調達ステータス キャンセル 削除 変更
    ドラフト作成中(DRAFTING
    承認待ち(PENDING_APPROVAL
    承認済み(APPROVED
    不承認(DECLINED
    キャンセル済み(CANCELED
    調達中(PROCURING
    プロビジョニング中(PROVISIONING
    完了(FULFILLED *
    一部完了(FAILED_PARTIALLY_FULFILLED *
    失敗(FAILED *

    * 完了、一部完了、または失敗である将来の予約は、終了時間の後にのみ削除できます。

将来の予約リクエストを変更する

将来の予約リクエストは、調達ステータスがキャンセル済みと承認待ち以外で、プロビジョニング中(PROVISIONING)になる前であれば変更できます。将来の予約リクエストを変更する際に、次のプロパティは変更できません。

  • 将来の予約の場合:

    • 将来の予約の名前。

    • 将来の予約リクエストが作成されたプロジェクト。

    • 将来の予約リクエストが存在するゾーン。

  • インスタンス テンプレートを指定して作成された将来の予約リクエストの場合:

    • インスタンス テンプレートで指定された VM プロパティはオーバーライドできません。

    • 将来の予約リクエストの作成に使用されるインスタンス テンプレートを別のテンプレートに置き換えることはできません。

これらのプロパティを変更するには、必要な更新内容を使用して、将来の予約リクエストを新規に作成する必要があります。

他のプロパティを変更する場合は、次のいずれかの方法を選択します。

  • 下書きまたは不承認の将来の予約リクエストを変更する

    このセクションでは、調達ステータスがドラフト作成中(DRAFTING)または不承認(DECLINED)になっている将来の予約リクエストを変更する方法について説明します。

  • 承認済みまたは調達中の将来の予約を変更する

    このセクションでは、調達ステータスが承認済み(APPROVED)または調達中(PROCURING)になっている将来の予約を変更する方法について説明します。将来の予約の自動削除オプション、説明、名前の接頭辞の変更に審査はありません。他のプロパティを変更する場合は、Google Cloud の承認が必要です。

下書きまたは不承認の将来の予約リクエストを変更する

将来の予約リクエストの下書きを変更する場合は、変更を保存するか、更新した将来の予約リクエストを Google Cloud に送信して審査を受けることができます。不承認の将来の予約リクエストを変更する場合は、リクエストを送信して審査を受ける必要があります。

下書きまたは不承認の将来の予約リクエストのプロパティを変更するには、次のいずれかの方法を選択します。

インスタンス テンプレートを指定して下書きまたは不承認の将来の予約を変更する

インスタンス テンプレートを指定して作成され、調達ステータスがドラフト作成中(DRAFTING)または不承認(DECLINED)の将来の予約リクエストの場合、次のプロパティを変更できます。

  • 自動削除

  • 説明

  • 名前の接頭辞

  • 共有設定

  • 予約期間の開始時間と終了時間

  • 合計数(VM の数)

インスタンス テンプレートを指定して作成された下書きまたは不承認の将来の予約リクエストを変更するには、Google Cloud コンソール、gcloud CLI、REST を使用します。

コンソール

インスタンス テンプレートを指定して作成された下書きまたは不承認の将来の予約リクエストの変更を Google Cloud にリクエストするには、次の操作を行います。

  1. Google Cloud コンソールの [予約] ページに移動します。

    [予約] に移動

  2. [将来の予約] タブをクリックします。

  3. [名前] 列で、変更する将来の予約リクエストの名前をクリックします。

    選択した将来の予約リクエストの詳細ページが開きます。

  4. 将来の予約リクエストを変更するには、 [編集] または [下書きを編集] をクリックします。

    選択した将来の予約リクエストを編集するページが開きます。

  5. 次のいずれかを行います。

    • [接頭辞] フィールドに、新しい名前の接頭辞を入力します。

    • [説明] フィールドに新しい説明を入力します。

    • 将来の予約リクエストの開始時間または終了時間を変更します。以下のことを確認してください。

      • 開始時間は、審査を受けるために将来の予約リクエストを送信した日時から 1 年以内にしてください。

      • 将来の予約がロック時間に入る前に十分な時間を確保できるように、開始時間の推奨値を指定します。

      • 審査を受けるために送信したリクエストが Google Cloud で承認される可能性を高めるために、推奨の最小予約期間を指定します。

    • [共有タイプ] セクションで、[ローカル] または [共有] を選択できます。[共有] を選択すると、将来の予約のリクエストを共有するプロジェクトを追加または削除できます。

      最大 100 個のプロジェクトを選択できます。これらのプロジェクトは、将来の予約リクエストが作成されたプロジェクト(オーナー プロジェクト)と同じ組織に存在する必要があります。オーナー プロジェクトを指定しないでください。デフォルトでは、この将来の予約リクエストに自動作成された共有の予約の使用が許可されています。

    • [VM インスタンスの数] に、将来の予約リクエストで指定された期間、VM 構成、プロジェクトに予約する VM の合計数を入力します。

      承認された将来の予約のために作成する予約の数を計算するとき、Compute Engine はまず既存の予約を確認します。承認された将来の予約に一致する既存の予約がある場合は、リクエストで要求された予約の合計数から既存の予約数が差し引かれ、Compute Engine が作成する新しい予約の数が決定されます。詳細については、Compute Engine での予約済みリソースのカウントとプロビジョニングの方法をご覧ください。

    • [自動生成された予約の自動削除] セクションで、将来の予約のリクエストに対して自動作成された予約の自動削除を有効または無効にできます。

      省略可。自動削除オプションを有効にすると、自動作成された予約を Compute Engine が削除する日時を指定できます。日時は予約期間の終了日より後にする必要があります。このフィールドを空のままにすると、自動作成された予約は予約期間の終了時間から 2 時間以内に削除されます。

  6. 変更する将来の予約リクエストの調達ステータスに応じて、次のいずれかを行います。

    • 将来の予約リクエストが下書きの場合は、次のいずれかのオプションを選択します。

      • 変更を保存するには、[下書きを保存] をクリックします。

      • 将来の予約リクエストの下書きを Google Cloud に送信して審査を受けるには、[送信] をクリックします。

    • 不承認の将来の予約リクエストの場合は、[送信] をクリックするだけで審査に送信できます。

      リクエストを送信すると、[予約] ページが開きます。それ以外の場合は、将来の予約リクエストの詳細ページが開きます。

gcloud

インスタンス テンプレートを指定して作成された下書きまたは不承認の将来の予約リクエストの変更を Google Cloud にリクエストするには、gcloud beta compute future-reservations update コマンドを使用します。

gcloud beta compute future-reservations update FUTURE_RESERVATION_NAME \
    --description="DESCRIPTION" \
    --name-prefix=NAME_PREFIX \
    --planning-status=PLANNING_STATUS \
    --project=PROJECT_ID \
    --share-setting=SHARE_SETTING \
    --share-with=CONSUMER_PROJECT_IDS \
    --start-time=START_TIME \
    --end-time=END_TIME \
    --total-count=TOTAL_COUNT \
    --zone=ZONE

次のように置き換えます。

  • FUTURE_RESERVATION_NAME: 既存の下書きまたは将来の予約リクエストの名前。
  • DESCRIPTION: 省略可。将来の予約リクエストの新しい説明。
  • NAME_PREFIX: 省略可。将来の予約リクエストの新しい名前の接頭辞。この将来の予約リクエスト用に自動作成された各予約の名前は、名前の接頭辞で始まります。この将来の予約リクエストに自動作成された予約を区別しやすいように、一意の名前の接頭辞を指定することをおすすめします。
  • PLANNING_STATUS: 将来の予約リクエストの計画ステータス。指定できるのは SUBMITTED のみです。これにより、審査を受けるため将来の予約リクエストが Google Cloud に送信されます。

  • PROJECT_ID: 省略可。将来の予約リクエストが作成されたプロジェクトの ID。単一プロジェクトの将来の予約リクエストを共有の将来の予約リクエストに変更すると、このプロジェクトは将来の予約リクエストのオーナー プロジェクトになります。--project フラグを省略すると、値は現在のプロジェクトの ID に設定されます。
  • SHARE_SETTING: 省略可。この将来の予約リクエストのタイプを変更するには、次のいずれかの値を指定します。

    • 単一プロジェクトの将来の予約リクエストを共有の将来の予約リクエストに変更するには、projects を指定します。--share-with フラグを使用して、少なくとも 1 つのユーザー プロジェクトを指定してください。そうしないと、将来の予約の変更は失敗します。

    • それ以外の場合は、local を指定します。

  • CONSUMER_PROJECT_IDS: 省略可。この将来の予約リクエストを共有できるプロジェクトのプロジェクト ID のカンマ区切りリスト。たとえば、project-1,project-2 を指定します。最大 100 個のプロジェクトを指定できます。これらのプロジェクトは、この将来の予約リクエストが作成されたプロジェクト(オーナー プロジェクト)と同じ組織に存在する必要があります。オーナー プロジェクトを指定しないでください。デフォルトでは、この将来の予約リクエストに自動作成された共有の予約の使用が許可されています。

  • 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 での予約済みリソースのカウントとプロビジョニングの方法をご覧ください。

    注意: 予約をリクエストしているリソースに十分な割り当てがあることを確認してください。十分な割り当てがないと、Google Cloud は将来の予約リクエストを承認しません。

  • ZONE: 将来の予約リクエストが存在するゾーン。

次のいずれかの方法で、将来の予約リクエストに自動作成された予約を Compute Engine が自動的に削除するかどうかを変更することもできます。

  • 予約期間の終了時間の後に Compute Engine が自動作成された予約を自動的に削除するには、次のいずれかの方法を選択します。

    • デフォルトの設定どおり、終了時間から 2 時間以内に予約を削除するには、--auto-delete-auto-created-reservations フラグを指定します。

      gcloud beta compute future-reservations update example-future-reservation \
          --auto-delete-auto-created-reservations
      
    • 自動作成された予約を予約期間の終了時間後の特定の時間に削除するには、--auto-delete-auto-created-reservations フラグと --auto-created-reservations-delete-time フラグを指定します。

      gcloud beta compute future-reservations update 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 update 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 update example-future-reservation \
        --no-auto-delete-auto-created-reservations
    

たとえば、ゾーン us-central1-a に、fr-03 という共有の将来の予約リクエストの下書きがあるとします。この共有の将来の予約リクエストを次のように変更するとします。

  • 単一プロジェクトの将来の予約リクエストに変換します。

  • 自動削除オプションを無効にします。

  • 100 個の VM を予約します。

  • 承認を受けるため、将来の予約リクエストを Google Cloud に送信します。

fr-03 を変更するには、次のコマンドを実行します。

gcloud beta compute future-reservations update fr-03 \
    --clear-share-settings \
    --no-auto-delete-auto-created-reservations \
    --planning-status=SUBMITTED \
    --project=example-project \
    --total-count=100 \
    --zone=us-central1-a

REST

インスタンス テンプレートを指定して作成された下書きまたは不承認の将来の予約リクエストの変更を Google Cloud にリクエストするには、beta.futureReservations.update メソッドPATCH リクエストを送信します。updateMask クエリ パラメータで、更新する各フィールドを指定します。予約からオプション フィールドを削除する必要がある場合は、そのフィールドを updateMask クエリ パラメータに指定して、リクエストの本文からそのフィールドを除外します。

PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME?updateMask=UPDATE_FIELDS

{
  "autoDeleteAutoCreatedReservations": "AUTO_DELETE_AUTO_CREATED_RESERVATIONS",
  "description": "DESCRIPTION",
  "name": "FUTURE_RESERVATION_NAME",
  "namePrefix": "NAME_PREFIX",
  "planningStatus": "PLANNING_STATUS",
  "shareSettings": {
    "projects": [
      "CONSUMER_PROJECT_ID_1",
      "CONSUMER_PROJECT_ID_2"
    ],
    "shareType": "SHARE_TYPE"
  },
  "specificSkuProperties": { 
    "totalCount": "TOTAL_COUNT"
  },
  "timeWindow": {
    "endTime": "END_TIME",
    "startTime": "START_TIME"
  }
}

次のように置き換えます。

  • PROJECT_ID: 将来の予約リクエストが存在するプロジェクトの ID。

  • ZONE: 将来の予約リクエストが存在するゾーン。

  • FUTURE_RESERVATION_NAME: 既存の下書きまたは不承認の将来の予約リクエストの名前。将来の予約リクエストの名前は変更できません。

  • UPDATE_FIELDS: この PATCH リクエストで更新するフィールドのカンマ区切りのリスト。カンマは %2C としてエンコードする必要があります。たとえば、将来の予約リクエストで autoDeleteAutoCreatedReservationstotalCountendTime フィールドを更新する場合は、次の条件を満たす必要があります。

    autoDeleteAutoCreatedReservations%2CspecificSkuProperties.totalCount%2CtimeWindow.endTime
    
  • AUTO_DELETE_AUTO_CREATED_RESERVATIONS: 省略可。このフィールドを true に設定すると、この将来の予約リクエストに自動作成された予約は、Compute Engine によって自動的に削除されます。デフォルトでは、削除時間は予約期間の終了時間から 2 時間以内です。これを変更するには、次のいずれかの操作を行います。

    • 自動作成された予約を予約期間の終了後の特定の時間に削除するには、autoDeleteAutoCreatedReservationstrue に設定し、autoCreatedReservationsDeleteTime フィールドを指定します。

      PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/example-future-reservation?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDeleteTime
      
      {
        "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 を指定します。

    • 自動作成された予約を予約期間の開始時間から特定の時間が経過した後に削除するには、autoDeleteAutoCreatedReservationstrue に設定し、autoCreatedReservationsDuration フィールドを指定します。

      PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/example-future-reservation?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDuration
      
      {
        "autoDeleteAutoCreatedReservations": "true",
        "autoCreatedReservationsDuration": {
          "seconds": "DURATION_BEFORE_DELETE"
        }
      }
      

      DURATION_BEFORE_DELETE は期間(秒単位)に置き換えます。たとえば、604,800 秒(7 日)の場合は 604800 を指定します。

  • DESCRIPTION: 省略可。この将来の予約リクエストの説明を更新するには、次のいずれかを行います。

    • 説明を追加または更新するには、説明を指定します。

    • 説明を削除するには、リクエスト本文から description フィールドを削除し、UPDATE_FIELDS で指定します。

  • NAME_PREFIX: 省略可。将来の予約リクエストの新しい名前の接頭辞。この将来の予約リクエスト用に自動作成された各予約の名前は、名前の接頭辞で始まります。この将来の予約に自動作成された予約を区別しやすくするために、一意の名前の接頭辞を指定することをおすすめします。

  • PLANNING_STATUS: 将来の予約リクエストの計画ステータス。指定できるのは SUBMITTED のみです。これにより、審査を受けるため将来の予約リクエストが Google Cloud に送信されます。

  • SHARE_TYPE: 省略可。この将来の予約リクエストの共有タイプを変更するには、次のいずれかの値を指定します。

    • 単一プロジェクトの将来の予約リクエストを共有の将来の予約リクエストに変更するには、SPECIFIC_PROJECTS を指定します。また、projects フィールドには、ユーザー プロジェクトを少なくとも 1 つ指定する必要があります。そうしないと、将来の予約リクエストの変更は失敗します。

    • それ以外の場合は、LOCAL を指定します。また、リクエスト本文から projects フィールドを削除し、UPDATE_FIELDS で指定する必要があります。そうしないと、将来の予約リクエストの変更は失敗します。

  • CONSUMER_PROJECT_ID_1CONSUMER_PROJECT_ID_2: 省略可。共有の将来の予約リクエストを共有できるプロジェクトのプロジェクト ID。最大 100 個のプロジェクトを指定できます。これらのプロジェクトは、将来の予約リクエストが作成されたプロジェクト(オーナー プロジェクト)と同じ組織に存在する必要があります。オーナー プロジェクトを指定しないでください。デフォルトでは、この将来の予約リクエストに自動作成された共有の予約の使用が許可されています。

  • 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 で承認される可能性を高めるために、必ず予約期間の推奨値のいずれかを指定します。

たとえば、ゾーン us-central1-a に、fr-03 という共有の将来の予約リクエストの下書きがあるとします。この共有の将来の予約リクエストを次のように変更するとします。

  • 単一プロジェクトの将来の予約リクエストに変換します。

  • 自動削除オプションを無効にします。

  • 100 個の VM を予約します。

  • 承認を受けるため、将来の予約リクエストを Google Cloud に送信します。

fr-03 を変更するには、次の PATCH リクエストを行います。

PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/fr-03?updateMask=autoDeleteAutoCreatedReservations%2CplanningStatus%2CshareSettings.shareType%2CspecificSkuProperties.totalCount

{
  "autoDeleteAutoCreatedReservations": "false",
  "name": "fr-03",
  "planningStatus": "SUBMITTED",
  "shareSettings": {
    "shareType": "LOCAL"
  },
  "specificSkuProperties": {
    "totalCount": "100"
  }
}

審査のために将来の予約リクエストを Google Cloud に送信した後、詳細を表示して調達ステータスをモニタリングします。

プロパティを直接指定して下書きまたは不承認の将来の予約を変更する

プロパティで直接作成した将来の予約リクエストの調達ステータスがドラフト作成中(DRAFTING)または不承認(DECLINED)の場合は、次のプロパティを変更できます。

  • 自動削除

  • 説明

  • 名前の接頭辞

  • GPU

  • ローカル SSD とディスク インターフェース タイプ

  • マシンシリーズとマシンタイプ

  • 最小 CPU プラットフォーム

  • 共有設定

  • 予約期間の開始時間と終了時間

  • 合計数(VM の数)

プロパティを直接指定して作成された下書きまたは不承認の将来の予約リクエストを変更するには、Google Cloud コンソール、gcloud CLI、または REST を使用します。

コンソール

プロパティを直接指定して作成された下書きまたは不承認の将来の予約リクエストの変更を Google Cloud にリクエストするには、次の操作を行います。

  1. Google Cloud コンソールの [予約] ページに移動します。

    [予約] に移動

  2. [将来の予約] タブをクリックします。

  3. [名前] 列で、変更する将来の予約リクエストの名前をクリックします。

    選択した将来の予約リクエストの詳細ページが開きます。

  4. 将来の予約リクエストを変更するには、 [編集] または [下書きを編集] をクリックします。

    選択した将来の予約リクエストを編集するページが開きます。

  5. 次のいずれかを行います。

    • [接頭辞] フィールドに、新しい名前の接頭辞を入力します。

    • [説明] フィールドに新しい説明を入力します。

    • 将来の予約リクエストの開始時間または終了時間を変更します。以下のことを確認してください。

      • 開始時間は、審査を受けるために将来の予約リクエストを送信した日時から 1 年以内にしてください。

      • 将来の予約がロック時間に入る前に十分な時間を確保できるように、開始時間の推奨値を指定します。

      • 審査を受けるために送信したリクエストが Google Cloud で承認される可能性を高めるために、推奨の最小予約期間を指定します。

    • [共有タイプ] セクションで、[ローカル] または [共有] を選択できます。[共有] を選択すると、将来の予約のリクエストを共有するプロジェクトを追加または削除できます。

      最大 100 個のプロジェクトを選択できます。これらのプロジェクトは、将来の予約リクエストが作成されたプロジェクト(オーナー プロジェクト)と同じ組織に存在する必要があります。オーナー プロジェクトを指定しないでください。デフォルトでは、この将来の予約リクエストに自動作成された共有の予約の使用が許可されています。

    • [VM インスタンスの数] に、将来の予約リクエストで指定された期間、VM 構成、プロジェクトに予約する VM の合計数を入力します。

      承認された将来の予約のために作成する予約の数を計算するとき、Compute Engine はまず既存の予約を確認します。承認された将来の予約に一致する既存の予約がある場合は、リクエストで要求された予約の合計数から既存の予約数が差し引かれ、Compute Engine が作成する新しい予約の数が決定されます。詳細については、Compute Engine での予約済みリソースのカウントとプロビジョニングの方法をご覧ください。

    • [マシンの構成] セクションで、次の設定を変更できます。

      • 予約済み VM で使用されるマシンシリーズとマシンタイプ。

      • 予約済み VM に接続する GPU。

      • 予約済み VM のローカル SSD とディスク インターフェースのタイプ。

  6. 変更する将来の予約リクエストの調達ステータスに応じて、次のいずれかを行います。

    • 将来の予約リクエストが下書きの場合は、次のいずれかのオプションを選択します。

      • 変更を保存するには、[下書きを保存] をクリックします。

      • 将来の予約リクエストの下書きを Google Cloud に送信して審査を受けるには、[送信] をクリックします。

    • 不承認の将来の予約リクエストの場合は、[送信] をクリックするだけで審査に送信できます。

      リクエストを送信すると、[予約] ページが開きます。それ以外の場合は、将来の予約リクエストの詳細ページが開きます。

gcloud

プロパティを直接指定して作成された下書きまたは不承認の将来の予約リクエストの変更を Google Cloud にリクエストするには、gcloud beta compute future-reservations update コマンドを使用します。

gcloud beta compute future-reservations update FUTURE_RESERVATION_NAME \
    --accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE \
    --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 \
    --share-setting=SHARE_SETTING \
    --share-with=CONSUMER_PROJECT_IDS \
    --start-time=START_TIME \
    --end-time=END_TIME \
    --total-count=TOTAL_COUNT \
    --zone=ZONE

次のように置き換えます。

  • FUTURE_RESERVATION_NAME: 既存の下書きまたは将来の予約リクエストの名前。
  • 省略可。次のいずれかを行います。

    • 予約された各 VM に画像処理装置(GPU)を追加するには、以下を指定します。

      • NUMBER_OF_ACCELERATORS: 追加する GPU の数(予約済み VM あたり)。

      • ACCELERATOR_TYPE: 予約済みの VM に追加する GPU のタイプ。

      将来の予約リクエストで指定したマシンタイプが、指定した GPU のタイプをサポートしていることと、リソースを予約するゾーンで GPU を使用できることを確認します。そうしない場合、エラーが発生します。

    • この将来の予約リクエストからすべての GPU を削除するには、--accelerator フラグを --clear-accelerator フラグに置き換えます。

  • DESCRIPTION: 省略可。将来の予約リクエストの新しい説明。
  • 省略可。次のいずれかを行います。

    • 各 VM のローカル SSD に使用するインターフェースのタイプを変更または編集するには、INTERFACE_1INTERFACE_2 を置き換えます。値は次のいずれかにする必要があります。

      各ローカル SSD は 375 GB です。追加するローカル SSD ごとに --local-ssd フラグを繰り返します。最大 24 個のローカル SSD を指定できます。

    • この将来のリクエストの予約からすべてのローカル SSD を削除するには、すべての --local-ssd フラグを削除して、--clear-local-ssd フラグを指定します。

  • MACHINE_TYPE: 省略可。各 VM に使用する事前定義またはカスタムのマシンタイプ。カスタム マシンタイプを指定する前に、カスタム マシンタイプの VM の制限事項を確認してください。

  • MINIMUM_CPU_PLATFORM: 省略可。各 VM に使用する最小 CPU プラットフォーム--min-cpu-platform フラグを省略すると、その値はゾーンのデフォルトの CPU プラットフォームに設定されます。

  • NAME_PREFIX: 省略可。将来の予約リクエストの新しい名前の接頭辞。この将来の予約リクエスト用に自動作成された各予約の名前は、名前の接頭辞で始まります。この将来の予約リクエストに自動作成された予約を区別しやすいように、一意の名前の接頭辞を指定することをおすすめします。
  • PLANNING_STATUS: 将来の予約リクエストの計画ステータス。指定できるのは SUBMITTED のみです。これにより、審査を受けるため将来の予約リクエストが Google Cloud に送信されます。

  • PROJECT_ID: 省略可。将来の予約リクエストが作成されたプロジェクトの ID。単一プロジェクトの将来の予約リクエストを共有の将来の予約リクエストに変更すると、このプロジェクトは将来の予約リクエストのオーナー プロジェクトになります。--project フラグを省略すると、値は現在のプロジェクトの ID に設定されます。
  • SHARE_SETTING: 省略可。この将来の予約リクエストのタイプを変更するには、次のいずれかの値を指定します。

    • 単一プロジェクトの将来の予約リクエストを共有の将来の予約リクエストに変更するには、projects を指定します。--share-with フラグを使用して、少なくとも 1 つのユーザー プロジェクトを指定してください。そうしないと、将来の予約の変更は失敗します。

    • それ以外の場合は、local を指定します。

  • CONSUMER_PROJECT_IDS: 省略可。この将来の予約リクエストを共有できるプロジェクトのプロジェクト ID のカンマ区切りリスト。たとえば、project-1,project-2 を指定します。最大 100 個のプロジェクトを指定できます。これらのプロジェクトは、この将来の予約リクエストが作成されたプロジェクト(オーナー プロジェクト)と同じ組織に存在する必要があります。オーナー プロジェクトを指定しないでください。デフォルトでは、この将来の予約リクエストに自動作成された共有の予約の使用が許可されています。

  • 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 での予約済みリソースのカウントとプロビジョニングの方法をご覧ください。

    注意: 予約をリクエストしているリソースに十分な割り当てがあることを確認してください。十分な割り当てがないと、Google Cloud は将来の予約リクエストを承認しません。

  • ZONE: 将来の予約リクエストが存在するゾーン。

次のいずれかの方法で、将来の予約リクエストに自動作成された予約を Compute Engine が自動的に削除するかどうかを変更することもできます。

  • 予約期間の終了時間の後に Compute Engine が自動作成された予約を自動的に削除するには、次のいずれかの方法を選択します。

    • デフォルトの設定どおり、終了時間から 2 時間以内に予約を削除するには、--auto-delete-auto-created-reservations フラグを指定します。

      gcloud beta compute future-reservations update example-future-reservation \
          --auto-delete-auto-created-reservations
      
    • 自動作成された予約を予約期間の終了時間後の特定の時間に削除するには、--auto-delete-auto-created-reservations フラグと --auto-created-reservations-delete-time フラグを指定します。

      gcloud beta compute future-reservations update 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 update 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 update example-future-reservation \
        --no-auto-delete-auto-created-reservations
    

たとえば、ゾーン us-central1-a に、fr-03 という共有の将来の予約リクエストの下書きがあるとします。この共有の将来の予約リクエストを次のように変更するとします。

  • 単一プロジェクトの将来の予約リクエストに変換します。

  • 自動削除オプションを無効にします。

  • 100 個の VM を予約します。

  • 承認を受けるため、将来の予約リクエストを Google Cloud に送信します。

fr-03 を変更するには、次のコマンドを実行します。

gcloud beta compute future-reservations update fr-03 \
    --clear-share-settings \
    --no-auto-delete-auto-created-reservations \
    --planning-status=SUBMITTED \
    --project=example-project \
    --total-count=100 \
    --zone=us-central1-a

REST

プロパティを直接指定して作成された下書きまたは不承認の将来の予約リクエストの変更を Google Cloud にリクエストするには、beta.futureReservations.update メソッドPATCH リクエストを送信します。updateMask クエリ パラメータで、更新する各フィールドを指定します。予約からオプション フィールドを削除する必要がある場合は、そのフィールドを updateMask クエリ パラメータに指定して、リクエストの本文からそのフィールドを除外します。

PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME?updateMask=UPDATE_FIELDS

{
  "autoDeleteAutoCreatedReservations": "AUTO_DELETE_AUTO_CREATED_RESERVATIONS",
  "description": "DESCRIPTION",
  "name": "FUTURE_RESERVATION_NAME",
  "namePrefix": "NAME_PREFIX",
  "planningStatus": "PLANNING_STATUS",
  "shareSettings": {
    "projects": [
      "CONSUMER_PROJECT_ID_1",
      "CONSUMER_PROJECT_ID_2"
    ],
    "shareType": "SHARE_TYPE"
  },
  "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": {
    "endTime": "END_TIME",
    "startTime": "START_TIME"
  }
}

次のように置き換えます。

  • PROJECT_ID: 将来の予約リクエストが存在するプロジェクトの ID。

  • ZONE: 将来の予約リクエストが存在するゾーン。

  • FUTURE_RESERVATION_NAME: 既存の下書きまたは不承認の将来の予約リクエストの名前。将来の予約リクエストの名前は変更できません。

  • UPDATE_FIELDS: この PATCH リクエストで更新するフィールドのカンマ区切りのリスト。カンマは %2C としてエンコードする必要があります。たとえば、将来の予約リクエストで autoDeleteAutoCreatedReservationstotalCountendTime フィールドを更新する場合は、次の条件を満たす必要があります。

    autoDeleteAutoCreatedReservations%2CspecificSkuProperties.totalCount%2CtimeWindow.endTime
    
  • AUTO_DELETE_AUTO_CREATED_RESERVATIONS: 省略可。このフィールドを true に設定すると、この将来の予約リクエストに自動作成された予約は、Compute Engine によって自動的に削除されます。デフォルトでは、削除時間は予約期間の終了時間から 2 時間以内です。これを変更するには、次のいずれかの操作を行います。

    • 自動作成された予約を予約期間の終了後の特定の時間に削除するには、autoDeleteAutoCreatedReservationstrue に設定し、autoCreatedReservationsDeleteTime フィールドを指定します。

      PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/example-future-reservation?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDeleteTime
      
      {
        "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 を指定します。

    • 自動作成された予約を予約期間の開始時間から特定の時間が経過した後に削除するには、autoDeleteAutoCreatedReservationstrue に設定し、autoCreatedReservationsDuration フィールドを指定します。

      PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/example-future-reservation?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDuration
      
      {
        "autoDeleteAutoCreatedReservations": "true",
        "autoCreatedReservationsDuration": {
          "seconds": "DURATION_BEFORE_DELETE"
        }
      }
      

      DURATION_BEFORE_DELETE は期間(秒単位)に置き換えます。たとえば、604,800 秒(7 日)の場合は 604800 を指定します。

  • DESCRIPTION: 省略可。この将来の予約リクエストの説明を更新するには、次のいずれかを行います。

    • 説明を追加または更新するには、説明を指定します。

    • 説明を削除するには、リクエスト本文から description フィールドを削除し、UPDATE_FIELDS で指定します。

  • NAME_PREFIX: 省略可。将来の予約リクエストの新しい名前の接頭辞。この将来の予約リクエスト用に自動作成された各予約の名前は、名前の接頭辞で始まります。この将来の予約に自動作成された予約を区別しやすくするために、一意の名前の接頭辞を指定することをおすすめします。

  • PLANNING_STATUS: 将来の予約リクエストの計画ステータス。指定できるのは SUBMITTED のみです。これにより、審査を受けるため将来の予約リクエストが Google Cloud に送信されます。

  • SHARE_TYPE: 省略可。この将来の予約リクエストの共有タイプを変更するには、次のいずれかの値を指定します。

    • 単一プロジェクトの将来の予約リクエストを共有の将来の予約リクエストに変更するには、SPECIFIC_PROJECTS を指定します。また、projects フィールドには、ユーザー プロジェクトを少なくとも 1 つ指定する必要があります。そうしないと、将来の予約リクエストの変更は失敗します。

    • それ以外の場合は、LOCAL を指定します。また、リクエスト本文から projects フィールドを削除し、UPDATE_FIELDS で指定する必要があります。そうしないと、将来の予約リクエストの変更は失敗します。

  • CONSUMER_PROJECT_ID_1CONSUMER_PROJECT_ID_2: 省略可。共有の将来の予約リクエストを共有できるプロジェクトのプロジェクト ID。最大 100 個のプロジェクトを指定できます。これらのプロジェクトは、将来の予約リクエストが作成されたプロジェクト(オーナー プロジェクト)と同じ組織に存在する必要があります。オーナー プロジェクトを指定しないでください。デフォルトでは、この将来の予約リクエストに自動作成された共有の予約の使用が許可されています。

  • 省略可。予約済みの各 VM の画像処理装置(GPU)を更新するには、次のいずれかを行います。

    • GPU を追加または変更するには、次の項目を指定します。

      • NUMBER_OF_ACCELERATORS: 追加する GPU の数(予約済み VM あたり)。

      • ACCELERATOR_TYPE: 予約済みの VM に追加する GPU のタイプ。

      将来の予約リクエストで指定したマシンタイプが、指定した GPU のタイプをサポートしていることと、リソースを予約するゾーンで GPU を使用できることを確認します。そうしない場合、エラーが発生します。

    • この将来の予約リクエストからすべての GPU を削除するには、リクエスト本文から guestAccelerators フィールドを削除し、それを UPDATE_FIELDS に指定します。

  • 省略可。各予約済み VM にアタッチされているローカル SSD を更新するには、次のいずれかを行います。

    • 各 VM のローカル SSD に使用するインターフェースのタイプを変更または編集するには、INTERFACE_1INTERFACE_2 を置き換えます。値は次のいずれかにする必要があります。

      追加または更新するローカル SSD ごとに、diskSizeGb フィールドと interface フィールドを繰り返します。最大 24 個のローカル SSD を指定できます。

    • この将来の予約リクエストからすべてのローカル SSD を削除するには、リクエスト本文から localSsds フィールドを削除し、それを UPDATE_FIELDS に指定します。

  • MACHINE_TYPE: 省略可。各 VM に使用する事前定義またはカスタムのマシンタイプ。カスタム マシンタイプを指定する前に、カスタム マシンタイプの VM の制限事項を確認してください。

  • MINIMUM_CPU_PLATFORM: 省略可。各 VM に使用する最小 CPU プラットフォームを更新するには、次のいずれかを行います。

    • 最小 CPU プラットフォームを追加または更新するには、最小 CPU プラットフォームを指定します。

    • ゾーンのデフォルトの CPU プラットフォームに戻すには、リクエスト本文から minCpuPlatform フィールドを削除して、それを UPDATE_FIELDS に指定します。

  • 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 で承認される可能性を高めるために、必ず予約期間の推奨値のいずれかを指定します。

たとえば、ゾーン us-central1-a に、fr-03 という共有の将来の予約リクエストの下書きがあるとします。この共有の将来の予約リクエストを次のように変更するとします。

  • 単一プロジェクトの将来の予約リクエストに変換します。

  • 自動削除オプションを無効にします。

  • 100 個の VM を予約します。

  • 承認を受けるため、将来の予約リクエストを Google Cloud に送信します。

fr-03 を変更するには、次の PATCH リクエストを行います。

PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/fr-03?updateMask=autoDeleteAutoCreatedReservations%2CplanningStatus%2CshareSettings.shareType%2CspecificSkuProperties.totalCount

{
  "autoDeleteAutoCreatedReservations": "false",
  "name": "fr-03",
  "planningStatus": "SUBMITTED",
  "shareSettings": {
    "shareType": "LOCAL"
  },
  "specificSkuProperties": {
    "totalCount": "100"
  }
}

審査のために将来の予約リクエストを Google Cloud に送信した後、詳細を表示して調達ステータスをモニタリングします。

承認済みまたは調達中の将来の予約を変更する

承認済みまたは調達中の将来の予約のプロパティを変更するには、次のいずれかの方法を選択します。

  • 審査なしで承認済みまたは調達中の将来の予約を変更する

    このセクションでは、承認済みまたは調達中の将来の予約の自動削除オプション、説明、名前の接頭辞を審査なしで変更する方法について説明します。これらのプロパティの変更はすぐに行われ、Google Cloud が予約の作成を開始するまでの変更回数に制限はありません。

  • 承認済みまたは調達中の将来の予約を変更するリクエスト

    このセクションでは、承認済みまたは調達中の将来の予約の 1 つ以上のプロパティの変更を Google Cloud にリクエストする方法について説明します。調達ステータスが調達中(PROCURING)になっている将来の予約の変更リクエストを 1 つのみ送信できます。

審査なしで承認済みまたは調達中の将来の予約を変更する

調達ステータスが承認済み(APPROVED)または調達中(PROCURING)の将来の予約の場合、Google Cloud からの承認なしで次のフィールドを変更できます。

  • 自動削除

  • 説明

  • 名前の接頭辞

これらのプロパティの変更はすぐに行われます。将来の予約の予約期間の開始時間までは、これらのプロパティの変更回数に制限はありません。

承認済みまたは調達中の将来の予約を審査なしで変更するには、Google Cloud コンソール、gcloud CLI、REST を使用します。

コンソール

承認済みまたは調達中の将来の予約を審査なしで変更するには、次の操作を行います。

  1. Google Cloud コンソールの [予約] ページに移動します。

    [予約] に移動

  2. [将来の予約] タブをクリックします。

  3. [名前] 列で、変更する将来の予約の名前をクリックします。

    選択した将来の予約の詳細ページが開きます。

  4. 将来の予約の自動削除オプションと説明を変更する場合は、次のいずれかを行います。

    • [自動作成された予約の自動削除日時] 行で、[ 編集] をクリックし、次の操作を行います。

      1. 次のいずれかを行います。

        • 将来の予約リクエスト用に自動作成された予約を Compute Engine が自動的に削除できるようにするには、次の操作を行います。

          1. [自動削除を有効にする] をクリックしてオンにします。

          2. 省略可: [自動削除日時] フィールドに、自動作成された予約を削除する新しい日時を入力します。日時は予約期間の終了日より後にする必要があります。このフィールドを空のままにすると、自動作成された予約は予約期間の終了時間から 2 時間以内に削除されます。

        • 自動削除しない場合は、[自動削除を有効にする] をクリックしてオフにします。

      2. [送信] をクリックします。

    • [接頭辞] 行で [編集] をクリックして、次の操作を行います。

      1. [接頭辞] フィールドに、新しい名前の接頭辞を入力します。

      2. [送信] をクリックします。

    • [説明] 行で [ 編集] をクリックし、次の操作を行います。

      1. [説明] フィールドに新しい説明を入力します。

      2. [送信] をクリックします。

gcloud

承認済みまたは調達中の将来の予約を審査なしで変更するには、gcloud beta compute future-reservations update コマンドを使用します。

gcloud beta compute future-reservations update FUTURE_RESERVATION_NAME \
    --description="DESCRIPTION" \
    --name-prefix=NAME_PREFIX \
    --project=PROJECT_ID \
    --zone=ZONE

次のように置き換えます。

  • FUTURE_RESERVATION_NAME: 承認済みまたは調達中の既存の将来の予約の名前。
  • DESCRIPTION: 省略可。将来の予約の新しい説明。
  • NAME_PREFIX: 省略可。将来の予約の新しい名前の接頭辞。この将来の予約用に自動作成された各予約の名前は、名前の接頭辞で始まります。この将来の予約に自動作成された予約を区別しやすくするために、一意の名前の接頭辞を指定することをおすすめします。
  • PROJECT_ID: 省略可。将来の予約が作成されたプロジェクトの ID。
  • ZONE: 将来の予約が存在するゾーン。

次のいずれかの方法で、将来の予約に自動作成された予約を Compute Engine が自動的に削除するかどうかを変更することもできます。

  • 予約期間の終了時間の後に Compute Engine が自動作成された予約を自動的に削除するには、次のいずれかの方法を選択します。

    • デフォルトの設定どおり、終了時間から 2 時間以内に予約を削除するには、--auto-delete-auto-created-reservations フラグを指定します。

      gcloud beta compute future-reservations update example-future-reservation \
          --auto-delete-auto-created-reservations
      
    • 自動作成された予約を予約期間の終了時間後の特定の時間に削除するには、--auto-delete-auto-created-reservations フラグと --auto-created-reservations-delete-time フラグを指定します。

      gcloud beta compute future-reservations update 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 update 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 update example-future-reservation \
        --no-auto-delete-auto-created-reservations
    

たとえば、fr-04 という名前で、ゾーン us-central1-a にある承認済みの将来の予約について考えてみましょう。この将来の予約を次のように変更したいとします。

  • 自動削除オプションを有効にします。

  • 自動作成された予約を 864,000 秒(10 日)後に自動的に削除します。

  • 新しい名前の接頭辞を指定します。

fr-04 を変更するには、次のコマンドを実行します。

gcloud beta compute future-reservations update fr-04 \
    --auto-delete-auto-created-reservations \
    --auto-created-reservations-duration=864000 \
    --name-prefix=new-prefix \
    --project=example-project \
    --zone=us-central1-a

REST

承認済みまたは調達中の将来の予約を審査なしで変更するには、beta.futureReservations.updateメソッドPATCHリクエストを送信します。updateMask クエリ パラメータで、更新する各フィールドを指定します。予約からオプション フィールドを削除する必要がある場合は、そのフィールドを updateMask クエリ パラメータに指定して、リクエストの本文からそのフィールドを除外します。

PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME?updateMask=UPDATE_FIELDS

{
  "autoDeleteAutoCreatedReservations": "AUTO_DELETE_AUTO_CREATED_RESERVATIONS",
  "description": "DESCRIPTION",
  "name": "FUTURE_RESERVATION_NAME",
  "namePrefix": "NAME_PREFIX"
}

次のように置き換えます。

  • PROJECT_ID: 将来の予約が存在するプロジェクトの ID。

  • ZONE: 将来の予約が存在するゾーン。

  • FUTURE_RESERVATION_NAME: 既存の承認済みまたは調達中の将来の予約の名前。将来の予約の名前は変更できません。

  • UPDATE_FIELDS: この PATCH リクエストで更新するフィールドのカンマ区切りのリスト。カンマは %2C としてエンコードする必要があります。たとえば、将来の予約で description フィールドと namePrefix フィールドを更新する場合は、次のように指定します。

    description%2CnamePrefix
    

  • AUTO_DELETE_AUTO_CREATED_RESERVATIONS: 省略可。このフィールドを true に設定すると、この将来の予約に自動作成された予約は、Compute Engine によって自動的に削除されます。デフォルトでは、削除時間は予約期間の終了時間から 2 時間以内です。これを変更するには、次のいずれかの操作を行います。

    • 自動作成された予約を予約期間の終了後の特定の時間に削除するには、autoDeleteAutoCreatedReservationstrue に設定し、autoCreatedReservationsDeleteTime フィールドを指定します。

      PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/example-future-reservation?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDeleteTime
      
      {
        "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 を指定します。

    • 自動作成された予約を予約期間の開始時間から特定の時間が経過した後に削除するには、autoDeleteAutoCreatedReservationstrue に設定し、autoCreatedReservationsDuration フィールドを指定します。

      PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/example-future-reservation?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDuration
      
      {
        "autoDeleteAutoCreatedReservations": "true",
        "autoCreatedReservationsDuration": {
          "seconds": "DURATION_BEFORE_DELETE"
        }
      }
      

      DURATION_BEFORE_DELETE は期間(秒単位)に置き換えます。たとえば、604,800 秒(7 日)の場合は 604800 を指定します。

  • DESCRIPTION: 省略可。この将来の予約の説明を更新するには、次のいずれかを行います。

    • 説明を追加または更新するには、説明を指定します。

    • 説明を削除するには、リクエスト本文から description フィールドを削除し、UPDATE_FIELDS で指定します。

  • NAME_PREFIX: 省略可。将来の予約の新しい名前の接頭辞。この将来の予約用に自動作成された各予約の名前は、名前の接頭辞で始まります。この将来の予約に自動作成された予約を区別しやすくするために、一意の名前の接頭辞を指定することをおすすめします。

たとえば、fr-04 という名前で、ゾーン us-central1-a にある承認済みの将来の予約について考えてみましょう。この将来の予約を次のように変更したいとします。

  • 自動削除オプションを有効にします。

  • 自動作成された予約を 864,000 秒(10 日)後に自動的に削除します。

  • 新しい名前の接頭辞を指定します。

fr-04 を変更するには、次の PATCH リクエストを行います。

PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/fr-04?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDuration%2CnamePrefix

{
  "autoDeleteAutoCreatedReservations": "true",
  "autoCreatedReservationsDuration": {
    "seconds": "864000"
  },
  "name": "fr-04",
  "namePrefix": "new-prefix"
}

承認済みまたは調達中の将来の予約を変更するリクエスト

調達ステータスが承認済み(APPROVED)または調達中(PROCURING)になっている将来の予約の変更を Google Cloud にリクエストできます。具体的には、次のようになります。

  • 承認済みの将来の予約で変更をリクエストすると、Google Cloud は次のいずれかを行います。

    • リクエストを承認し、調達ステータスを承認済み(APPROVED)に設定します。予約期間の開始時間が 56 日(8 週間)以内の場合、Compute Engine は数分以内に調達ステータスを調達中(PROCURING)に設定します。

    • リクエストを承認せず、調達ステータスを不承認(DECLINED)に設定します。将来の予約の変更を再度希望する場合は、このドキュメントの下書きまたは不承認の将来の予約を変更するをご覧ください。

  • 調達中の将来の予約の変更をリクエストすると、Compute Engine は将来の予約に更新ステータスを作成し、更新承認待ち(AMENDMENT_PENDING_APPROVAL)に設定します。Google Cloud はリクエストを確認し、次のいずれかを行います。

    • リクエストを承認し、更新ステータスを更新承認済み(AMENDMENT_APPROVED)に設定します。

    • リクエストを承認せず、更新ステータスを更新不承認(AMENDMENT_DECLINED)に設定します。自動作成された予約には、以前に承認されたプロパティを引き続き使用します。

    調達中の将来の予約の変更リクエストの審査では、Google Cloud がリクエストを承認または不承認とするまでの間、プロパティを変更できません。通常は審査なしで変更可能なプロパティも、同様に変更できません。

承認済みまたは調達中になっている将来の予約のプロパティの変更を Google Cloud にリクエストするには、次のいずれかの方法を選択します。

インスタンス テンプレートを指定して作成された将来の予約を変更するリクエスト

インスタンス テンプレートを指定して作成され、調達ステータスが承認済み(APPROVED)または調達中(PROCURING)になっている将来の予約の場合、次のプロパティの変更をリクエストできます。

  • 自動削除

  • 説明

  • 名前の接頭辞

  • 共有設定

  • 予約期間の開始時間と終了時間

  • 合計数(VM の数)

将来の予約の開始時間から 14 日以内に合計数を大幅に増減するようリクエストした場合、Google Cloud はリクエストを不承認とする可能性があります。

インスタンス テンプレートを指定して作成された将来の予約の変更は、gcloud CLI と REST を使用して Google Cloud にリクエストできます。

コンソール

インスタンス テンプレートを指定して作成され、承認済みまたは調達中になっている将来の予約の変更を Google Cloud にリクエストするには、次の操作を行います。

  1. Google Cloud コンソールの [予約] ページに移動します。

    [予約] に移動

  2. [将来の予約] タブをクリックします。

  3. [名前] 列で、変更する将来の予約の名前をクリックします。

    選択した将来の予約の詳細ページが開きます。

  4. 将来の予約の自動削除オプションと説明を変更する場合は、次のいずれかを行います。

    • [自動作成された予約の自動削除日時] 行で、[ 編集] をクリックし、次の操作を行います。

      1. 次のいずれかを行います。

        • 将来の予約リクエスト用に自動作成された予約を Compute Engine が自動的に削除できるようにするには、次の操作を行います。

          1. [自動削除を有効にする] をクリックしてオンにします。

          2. 省略可: [自動削除日時] フィールドに、自動作成された予約を削除する新しい日時を入力します。日時は予約期間の終了日より後にする必要があります。このフィールドを空のままにすると、自動作成された予約は予約期間の終了時間から 2 時間以内に削除されます。

        • 自動削除しない場合は、[自動削除を有効にする] をクリックしてオフにします。

      2. [送信] をクリックします。

    • [接頭辞] 行で [編集] をクリックして、次の操作を行います。

      1. [接頭辞] フィールドに、新しい名前の接頭辞を入力します。

      2. [送信] をクリックします。

    • [説明] 行で [ 編集] をクリックし、次の操作を行います。

      1. [説明] フィールドに新しい説明を入力します。

      2. [送信] をクリックします。

  5. [ 編集] をクリックします。

    選択した将来の予約を編集するページが開きます。

  6. 他のプロパティを変更する場合は、次のいずれかを行います。

    • 将来の予約の開始時間または終了時間を変更します。以下のことを確認してください。

      • 開始時間は、審査を受けるために将来の予約を送信した日時から 1 年以内にしてください。

      • 将来の予約がロック時間に入る前に十分な時間を確保できるように、開始時間の推奨値を指定します。

      • 審査を受けるために送信したリクエストが Google Cloud で承認される可能性を高めるために、推奨の最小予約期間を指定します。

    • [共有タイプ] セクションで、[ローカル] または [共有] を選択できます。[共有] を選択すると、将来の予約を共有するプロジェクトを追加または削除できます。

      最大 100 個のプロジェクトを選択できます。これらのプロジェクトは、将来の予約が作成されたプロジェクト(オーナー プロジェクト)と同じ組織に存在する必要があります。オーナー プロジェクトを指定しないでください。デフォルトでは、この将来の予約用に自動作成された共有予約の使用がすでに許可されています。

    • [VM インスタンスの数] に、将来の予約で指定された期間、VM 構成、プロジェクトに予約する VM の合計数を入力します。

      承認された将来の予約のために作成する予約の数を計算するとき、Compute Engine はまず既存の予約を確認します。承認された将来の予約に一致する既存の予約がある場合は、リクエストで要求された予約の合計数から既存の予約数が差し引かれ、Compute Engine が作成する新しい予約の数が決定されます。詳細については、Compute Engine での予約済みリソースのカウントとプロビジョニングの方法をご覧ください。

  7. 審査のために変更リクエストを Google Cloud に送信するには、[送信] をクリックします。

    リクエストを送信すると、[予約] ページが開きます。それ以外の場合は、将来の予約の詳細ページが開きます。

gcloud

インスタンス テンプレートを指定して作成され、承認済みまたは調達中になっている将来の予約の変更を Google Cloud にリクエストするには、gcloud beta compute future-reservations update コマンドを使用します。

gcloud beta compute future-reservations update FUTURE_RESERVATION_NAME \
    --description="DESCRIPTION" \
    --name-prefix=NAME_PREFIX \
    --planning-status=PLANNING_STATUS \
    --project=PROJECT_ID \
    --share-setting=SHARE_SETTING \
    --share-with=CONSUMER_PROJECT_IDS \
    --start-time=START_TIME \
    --end-time=END_TIME \
    --total-count=TOTAL_COUNT \
    --zone=ZONE

次のように置き換えます。

  • FUTURE_RESERVATION_NAME: 承認済みまたは調達中の既存の将来の予約の名前。
  • DESCRIPTION: 省略可。将来の予約の新しい説明。
  • NAME_PREFIX: 省略可。将来の予約の新しい名前の接頭辞。この将来の予約用に自動作成された各予約の名前は、名前の接頭辞で始まります。この将来の予約に自動作成された予約を区別しやすくするために、一意の名前の接頭辞を指定することをおすすめします。
  • PLANNING_STATUS: 将来の予約の契約ステータス。指定できるのは SUBMITTED のみです。これにより、審査を受けるため将来の予約が Google Cloud に送信されます。

  • PROJECT_ID: 省略可。将来の予約が作成されたプロジェクトの ID。単一プロジェクトの将来の予約を共有の将来の予約に変更すると、このプロジェクトは将来の予約のオーナー プロジェクトになります。--project フラグを省略すると、値は現在のプロジェクトの ID に設定されます。
  • SHARE_SETTING: 省略可。この将来の予約のタイプを変更するには、次のいずれかの値を指定します。

    • 1 つのプロジェクトの将来の予約を共有の将来の予約に変更するには、projects を指定します。--share-with フラグを使用して、少なくとも 1 つのユーザー プロジェクトを指定してください。そうしないと、将来の予約リクエストの変更は失敗します。

    • それ以外の場合は、local を指定します。

  • CONSUMER_PROJECT_IDS: 省略可。この将来の予約を共有できるプロジェクトのプロジェクト ID のカンマ区切りリスト。たとえば、project-1,project-2 を指定します。最大 100 個のプロジェクトを指定できます。これらのプロジェクトは、この将来の予約が作成されたプロジェクト(オーナー プロジェクト)と同じ組織に存在する必要があります。オーナー プロジェクトを指定しないでください。デフォルトでは、この将来の予約用に自動作成された共有予約の使用がすでに許可されています。

  • 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 での予約済みリソースのカウントとプロビジョニングの方法をご覧ください。

    注意: 予約する VM の数を増やす場合は、予約をリクエストする追加のリソースに十分な割り当てがあることを確認してください。十分な割り当てがないと、Google Cloud で変更リクエストが承認されません。

  • ZONE: 将来の予約が存在するゾーン。

次のいずれかの方法で、将来の予約に自動作成された予約を Compute Engine が自動的に削除するかどうかを変更することもできます。

  • 予約期間の終了時間の後に Compute Engine が自動作成された予約を自動的に削除するには、次のいずれかの方法を選択します。

    • デフォルトの設定どおり、終了時間から 2 時間以内に予約を削除するには、--auto-delete-auto-created-reservations フラグを指定します。

      gcloud beta compute future-reservations update example-future-reservation \
          --auto-delete-auto-created-reservations
      
    • 自動作成された予約を予約期間の終了時間後の特定の時間に削除するには、--auto-delete-auto-created-reservations フラグと --auto-created-reservations-delete-time フラグを指定します。

      gcloud beta compute future-reservations update 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 update 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 update example-future-reservation \
        --no-auto-delete-auto-created-reservations
    

たとえば、fr-05 という名前で、ゾーン us-central1-a にある承認済みの将来の予約について考えてみましょう。この将来の予約を変更するため、Google Cloud で次の変更を行うとします。

  • 予約期間の終了時間を 2023 年 12 月 31 日午前 0 時(UTC)に変更します。

  • 10 個の VM を予約します。

  • 新しい名前の接頭辞を指定します。

Google Cloud に fr-05 の変更をリクエストするには、次のコマンドを実行します。

gcloud beta compute future-reservations update fr-05 \
    --end-time=2024-12-31T00:00:00Z \
    --name-prefix=new-prefix \
    --planning-status=SUBMITTED \
    --project=example-project \
    --total-count=10 \
    --zone=us-central1-a

REST

インスタンス テンプレートを指定して作成され、承認済みまたは調達中になっている将来の予約の変更を Google Cloud にリクエストするには、beta.futureReservations.update メソッドPATCH リクエストを送信します。updateMask クエリ パラメータで、更新する各フィールドを指定します。予約からオプション フィールドを削除する必要がある場合は、そのフィールドを updateMask クエリ パラメータに指定して、リクエストの本文からそのフィールドを除外します。

PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME?updateMask=UPDATE_FIELDS

{
  "autoDeleteAutoCreatedReservations": "AUTO_DELETE_AUTO_CREATED_RESERVATIONS",
  "description": "DESCRIPTION",
  "name": "FUTURE_RESERVATION_NAME",
  "namePrefix": "NAME_PREFIX",
  "planningStatus": "PLANNING_STATUS",
  "shareSettings": {
    "projects": [
      "CONSUMER_PROJECT_ID_1",
      "CONSUMER_PROJECT_ID_2"
    ],
    "shareType": "SHARE_TYPE"
  },
  "specificSkuProperties": { 
    "totalCount": "TOTAL_COUNT"
  },
  "timeWindow": {
    "endTime": "END_TIME",
    "startTime": "START_TIME"
  }
}

次のように置き換えます。

  • PROJECT_ID: 将来の予約が存在するプロジェクトの ID。

  • ZONE: 将来の予約が存在するゾーン。

  • FUTURE_RESERVATION_NAME: 既存の承認済みまたは調達中の将来の予約の名前。将来の予約の名前は変更できません。

  • UPDATE_FIELDS: この PATCH リクエストで更新するフィールドのカンマ区切りのリスト。カンマは %2C としてエンコードする必要があります。たとえば、将来の予約の autoDeleteAutoCreatedReservationstotalCountendTime フィールドを更新する場合は、次のように指定します。

    autoDeleteAutoCreatedReservations%2CspecificSkuProperties.totalCount%2CtimeWindow.endTime
    
  • AUTO_DELETE_AUTO_CREATED_RESERVATIONS: 省略可。このフィールドを true に設定すると、この将来の予約に自動作成された予約は、Compute Engine によって自動的に削除されます。デフォルトでは、削除時間は予約期間の終了時間から 2 時間以内です。これを変更するには、次のいずれかの操作を行います。

    • 自動作成された予約を予約期間の終了後の特定の時間に削除するには、autoDeleteAutoCreatedReservationstrue に設定し、autoCreatedReservationsDeleteTime フィールドを指定します。

      PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/example-future-reservation?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDeleteTime
      
      {
        "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 を指定します。

    • 自動作成された予約を予約期間の開始時間から特定の時間が経過した後に削除するには、autoDeleteAutoCreatedReservationstrue に設定し、autoCreatedReservationsDuration フィールドを指定します。

      PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/example-future-reservation?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDuration
      
      {
        "autoDeleteAutoCreatedReservations": "true",
        "autoCreatedReservationsDuration": {
          "seconds": "DURATION_BEFORE_DELETE"
        }
      }
      

      DURATION_BEFORE_DELETE は期間(秒単位)に置き換えます。たとえば、604,800 秒(7 日)の場合は 604800 を指定します。

  • DESCRIPTION: 省略可。この将来の予約の説明を更新するには、次のいずれかを行います。

    • 説明を追加または更新するには、説明を指定します。

    • 説明を削除するには、リクエスト本文から description フィールドを削除し、UPDATE_FIELDS で指定します。

  • NAME_PREFIX: 省略可。将来の予約の新しい名前の接頭辞。この将来の予約用に自動作成された各予約の名前は、名前の接頭辞で始まります。この将来の予約に自動作成された予約を区別しやすくするために、一意の名前の接頭辞を指定することをおすすめします。

  • PLANNING_STATUS: 将来の予約の契約ステータス。指定できるのは SUBMITTED のみです。これにより、審査を受けるため将来の予約が Google Cloud に送信されます。

  • SHARE_TYPE: 省略可。この将来の予約の共有タイプを変更するには、次のいずれかの値を指定します。

    • 1 つのプロジェクトの将来の予約を共有の将来の予約に変更するには、SPECIFIC_PROJECTS を指定します。また、projects フィールドには、ユーザー プロジェクトを少なくとも 1 つ指定する必要があります。そうしないと、将来の予約の変更は失敗します。

    • それ以外の場合は、LOCAL を指定します。また、リクエスト本文から projects フィールドを削除し、UPDATE_FIELDS で指定する必要があります。そうしないと、将来の予約の変更は失敗します。

  • CONSUMER_PROJECT_ID_1CONSUMER_PROJECT_ID_2: 省略可。共有の将来の予約を共有可能なプロジェクトのプロジェクト ID。最大 100 個のプロジェクトを指定できます。これらのプロジェクトは、将来の予約が作成されたプロジェクト(オーナー プロジェクト)と同じ組織に存在する必要があります。オーナー プロジェクトを指定しないでください。デフォルトでは、この将来の予約用に自動作成された共有予約の使用がすでに許可されています。

  • 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 で承認される可能性を高めるために、必ず予約期間の推奨値のいずれかを指定します。

たとえば、fr-05 という名前で、ゾーン us-central1-a にある承認済みの将来の予約について考えてみましょう。この将来の予約を変更するため、Google Cloud で次の変更を行うとします。

  • 予約期間の終了時間を 2023 年 12 月 31 日午前 0 時(UTC)に変更します。

  • 10 個の VM を予約します。

  • 新しい名前の接頭辞を指定します。

Google Cloud に fr-05 の変更をリクエストするには、次の PATCH リクエストを送信します。

PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/fr-05?updateMask=namePrefix%2CspecificSkuProperties.totalCount%2CtimeWindow.endTime

{
  "name": "fr-05",
  "namePrefix": "new-prefix",
  "planningStatus": "SUBMITTED",
  "specificSkuProperties": {
    "totalCount": "10"
  },
  "timeWindow": {
    "endTime": "2023-12-31T00:00:00Z"
  }
}

将来の予約の変更リクエストを Google Cloud に送信した後、将来の予約の詳細を表示してリクエストのステータスをモニタリングできます。

プロパティを直接指定して作成された将来の予約を変更するリクエスト

プロパティを直接指定して作成され、調達ステータスが承認済み(APPROVED)または調達中(Procuring)になっている将来の予約の場合、次のプロパティを変更できます。

  • 自動削除

  • 説明

  • 名前の接頭辞

  • GPU

  • ローカル SSD とディスク インターフェースのタイプ

  • マシンシリーズとマシンタイプ

  • 最小 CPU プラットフォーム

  • 共有設定

  • 予約期間の開始時間と終了時間

  • 合計数(VM の数)

将来の予約の開始時間から 14 日以内に、VM プロパティの変更、または合計数の大幅な増減をリクエストした場合、Google Cloud はリクエストを不承認とする可能性があります。

プロパティを直接指定して作成された将来の予約の変更を Google Cloud にリクエストするには、Google Cloud コンソール、gcloud CLI、REST を使用します。

コンソール

プロパティを直接指定して作成され、承認済みまたは調達中になっている将来の予約の変更を Google Cloud にリクエストするには、次の操作を行います。

  1. Google Cloud コンソールの [予約] ページに移動します。

    [予約] に移動

  2. [将来の予約] タブをクリックします。

  3. [名前] 列で、変更する将来の予約の名前をクリックします。

    選択した将来の予約の詳細ページが開きます。

  4. 将来の予約の自動削除オプションと説明を変更する場合は、次のいずれかを行います。

    • [自動作成された予約の自動削除日時] 行で、[ 編集] をクリックし、次の操作を行います。

      1. 次のいずれかを行います。

        • 将来の予約リクエスト用に自動作成された予約を Compute Engine が自動的に削除できるようにするには、次の操作を行います。

          1. [自動削除を有効にする] をクリックしてオンにします。

          2. 省略可: [自動削除日時] フィールドに、自動作成された予約を削除する新しい日時を入力します。日時は予約期間の終了日より後にする必要があります。このフィールドを空のままにすると、自動作成された予約は予約期間の終了時間から 2 時間以内に削除されます。

        • 自動削除しない場合は、[自動削除を有効にする] をクリックしてオフにします。

      2. [送信] をクリックします。

    • [接頭辞] 行で [編集] をクリックして、次の操作を行います。

      1. [接頭辞] フィールドに、新しい名前の接頭辞を入力します。

      2. [送信] をクリックします。

    • [説明] 行で [ 編集] をクリックし、次の操作を行います。

      1. [説明] フィールドに新しい説明を入力します。

      2. [送信] をクリックします。

  5. [ 編集] をクリックします。

    選択した将来の予約を編集するページが開きます。

  6. 他のプロパティを変更する場合は、次のいずれかを行います。

    • 将来の予約の開始時間または終了時間を変更します。以下のことを確認してください。

      • 開始時間は、審査を受けるために将来の予約を送信した日時から 1 年以内にしてください。

      • 将来の予約がロック時間に入る前に十分な時間を確保できるように、開始時間の推奨値を指定します。

      • 審査を受けるために送信したリクエストが Google Cloud で承認される可能性を高めるために、推奨の最小予約期間を指定します。

    • [共有タイプ] セクションで、[ローカル] または [共有] を選択できます。[共有] を選択すると、将来の予約を共有するプロジェクトを追加または削除できます。

      最大 100 個のプロジェクトを選択できます。これらのプロジェクトは、将来の予約が作成されたプロジェクト(オーナー プロジェクト)と同じ組織に存在する必要があります。オーナー プロジェクトを指定しないでください。デフォルトでは、この将来の予約用に自動作成された共有予約の使用がすでに許可されています。

    • [VM インスタンスの数] に、将来の予約で指定された期間、VM 構成、プロジェクトに予約する VM の合計数を入力します。

      承認された将来の予約のために作成する予約の数を計算するとき、Compute Engine はまず既存の予約を確認します。承認された将来の予約に一致する既存の予約がある場合は、リクエストで要求された予約の合計数から既存の予約数が差し引かれ、Compute Engine が作成する新しい予約の数が決定されます。詳細については、Compute Engine での予約済みリソースのカウントとプロビジョニングの方法をご覧ください。

    • [マシンの構成] セクションで、次の設定を変更できます。

      • 予約済み VM で使用されるマシンシリーズとマシンタイプ。

      • 予約済み VM に接続する GPU。

      • 予約済み VM のローカル SSD とディスク インターフェースのタイプ。

  7. 審査のために変更リクエストを Google Cloud に送信するには、[送信] をクリックします。

    リクエストを送信すると、[予約] ページが開きます。それ以外の場合は、将来の予約の詳細ページが開きます。

gcloud

プロパティを直接指定して作成され、承認済みまたは調達中の将来の予約の変更を Google Cloud にリクエストするには、gcloud beta compute future-reservations updateコマンドを使用します。

gcloud beta compute future-reservations update FUTURE_RESERVATION_NAME \
    --accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE \
    --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 \
    --share-setting=SHARE_SETTING \
    --share-with=CONSUMER_PROJECT_IDS \
    --start-time=START_TIME \
    --end-time=END_TIME \
    --total-count=TOTAL_COUNT \
    --zone=ZONE

次のように置き換えます。

  • FUTURE_RESERVATION_NAME: 承認済みまたは調達中の既存の将来の予約の名前。
  • 省略可。次のいずれかを行います。

    • 予約された各 VM に画像処理装置(GPU)を追加するには、以下を指定します。

      • NUMBER_OF_ACCELERATORS: 追加する GPU の数(予約済み VM あたり)。

      • ACCELERATOR_TYPE: 予約済みの VM に追加する GPU のタイプ。

      将来の予約で指定したマシンタイプが、指定した GPU のタイプをサポートしていることと、リソースを予約するゾーンで GPU を使用できることを確認します。そうしない場合、エラーが発生します。

    • この将来の予約リクエストからすべての GPU を削除するには、--accelerator フラグを --clear-accelerator フラグに置き換えます。

  • DESCRIPTION: 省略可。将来の予約の新しい説明。
  • 省略可。次のいずれかを行います。

    • 各 VM のローカル SSD に使用するインターフェースのタイプを変更または編集するには、INTERFACE_1INTERFACE_2 を置き換えます。値は次のいずれかにする必要があります。

      各ローカル SSD は 375 GB です。追加するローカル SSD ごとに --local-ssd フラグを繰り返します。最大 24 個のローカル SSD を指定できます。

    • この将来の予約からすべてのローカル SSD を削除するには、すべての --local-ssd フラグを削除して、--clear-local-ssd フラグを指定します。

  • MACHINE_TYPE: 省略可。各 VM に使用する事前定義またはカスタムのマシンタイプ。カスタム マシンタイプを指定する前に、カスタム マシンタイプの VM の制限事項を確認してください。

  • MINIMUM_CPU_PLATFORM: 省略可。各 VM に使用する最小 CPU プラットフォーム--min-cpu-platform フラグを省略すると、その値はゾーンのデフォルトの CPU プラットフォームに設定されます。

  • NAME_PREFIX: 省略可。将来の予約の新しい名前の接頭辞。この将来の予約用に自動作成された各予約の名前は、名前の接頭辞で始まります。この将来の予約に自動作成された予約を区別しやすくするために、一意の名前の接頭辞を指定することをおすすめします。
  • PLANNING_STATUS: 将来の予約の契約ステータス。指定できるのは SUBMITTED のみです。これにより、審査を受けるため将来の予約が Google Cloud に送信されます。

  • PROJECT_ID: 省略可。将来の予約が作成されたプロジェクトの ID。単一プロジェクトの将来の予約を共有の将来の予約に変更すると、このプロジェクトは将来の予約のオーナー プロジェクトになります。--project フラグを省略すると、値は現在のプロジェクトの ID に設定されます。
  • SHARE_SETTING: 省略可。この将来の予約のタイプを変更するには、次のいずれかの値を指定します。

    • 1 つのプロジェクトの将来の予約を共有の将来の予約に変更するには、projects を指定します。--share-with フラグを使用して、少なくとも 1 つのユーザー プロジェクトを指定してください。そうしないと、将来の予約リクエストの変更は失敗します。

    • それ以外の場合は、local を指定します。

  • CONSUMER_PROJECT_IDS: 省略可。この将来の予約を共有できるプロジェクトのプロジェクト ID のカンマ区切りリスト。たとえば、project-1,project-2 を指定します。最大 100 個のプロジェクトを指定できます。これらのプロジェクトは、この将来の予約が作成されたプロジェクト(オーナー プロジェクト)と同じ組織に存在する必要があります。オーナー プロジェクトを指定しないでください。デフォルトでは、この将来の予約用に自動作成された共有予約の使用がすでに許可されています。

  • 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 での予約済みリソースのカウントとプロビジョニングの方法をご覧ください。

    注意: 予約する VM の数を増やす場合は、予約をリクエストする追加のリソースに十分な割り当てがあることを確認してください。十分な割り当てがないと、Google Cloud で変更リクエストが承認されません。

  • ZONE: 将来の予約が存在するゾーン。

次のいずれかの方法で、将来の予約に自動作成された予約を Compute Engine が自動的に削除するかどうかを変更することもできます。

  • 予約期間の終了時間の後に Compute Engine が自動作成された予約を自動的に削除するには、次のいずれかの方法を選択します。

    • デフォルトの設定どおり、終了時間から 2 時間以内に予約を削除するには、--auto-delete-auto-created-reservations フラグを指定します。

      gcloud beta compute future-reservations update example-future-reservation \
          --auto-delete-auto-created-reservations
      
    • 自動作成された予約を予約期間の終了時間後の特定の時間に削除するには、--auto-delete-auto-created-reservations フラグと --auto-created-reservations-delete-time フラグを指定します。

      gcloud beta compute future-reservations update 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 update 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 update example-future-reservation \
        --no-auto-delete-auto-created-reservations
    

たとえば、fr-05 という名前で、ゾーン us-central1-a にある承認済みの将来の予約について考えてみましょう。この将来の予約を変更するため、Google Cloud で次の変更を行うとします。

  • 予約期間の終了時間を 2023 年 12 月 31 日午前 0 時(UTC)に変更します。

  • 10 個の VM を予約します。

  • 新しい名前の接頭辞を指定します。

Google Cloud に fr-05 の変更をリクエストするには、次のコマンドを実行します。

gcloud beta compute future-reservations update fr-05 \
    --end-time=2024-12-31T00:00:00Z \
    --name-prefix=new-prefix \
    --planning-status=SUBMITTED \
    --project=example-project \
    --total-count=10 \
    --zone=us-central1-a

REST

プロパティを直接指定して作成され、承認済みまたは調達中の将来の予約の変更を Google Cloud にリクエストするには、beta.futureReservations.updateメソッドPATCH リクエストを送信します。updateMask クエリ パラメータで、更新する各フィールドを指定します。予約からオプション フィールドを削除する必要がある場合は、そのフィールドを updateMask クエリ パラメータに指定して、リクエストの本文からそのフィールドを除外します。

PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME?updateMask=UPDATE_FIELDS

{
  "autoDeleteAutoCreatedReservations": "AUTO_DELETE_AUTO_CREATED_RESERVATIONS",
  "description": "DESCRIPTION",
  "name": "FUTURE_RESERVATION_NAME",
  "namePrefix": "NAME_PREFIX",
  "planningStatus": "PLANNING_STATUS",
  "shareSettings": {
    "projects": [
      "CONSUMER_PROJECT_ID_1",
      "CONSUMER_PROJECT_ID_2"
    ],
    "shareType": "SHARE_TYPE"
  },
  "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": {
    "endTime": "END_TIME",
    "startTime": "START_TIME"
  }
}

次のように置き換えます。

  • PROJECT_ID: 将来の予約が存在するプロジェクトの ID。

  • ZONE: 将来の予約が存在するゾーン。

  • FUTURE_RESERVATION_NAME: 既存の承認済みまたは調達中の将来の予約の名前。将来の予約の名前は変更できません。

  • UPDATE_FIELDS: この PATCH リクエストで更新するフィールドのカンマ区切りのリスト。カンマは %2C としてエンコードする必要があります。たとえば、将来の予約の autoDeleteAutoCreatedReservationstotalCountendTime フィールドを更新する場合は、次のように指定します。

    autoDeleteAutoCreatedReservations%2CspecificSkuProperties.totalCount%2CtimeWindow.endTime
    
  • AUTO_DELETE_AUTO_CREATED_RESERVATIONS: 省略可。このフィールドを true に設定すると、この将来の予約に自動作成された予約は、Compute Engine によって自動的に削除されます。デフォルトでは、削除時間は予約期間の終了時間から 2 時間以内です。これを変更するには、次のいずれかの操作を行います。

    • 自動作成された予約を予約期間の終了後の特定の時間に削除するには、autoDeleteAutoCreatedReservationstrue に設定し、autoCreatedReservationsDeleteTime フィールドを指定します。

      PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/example-future-reservation?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDeleteTime
      
      {
        "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 を指定します。

    • 自動作成された予約を予約期間の開始時間から特定の時間が経過した後に削除するには、autoDeleteAutoCreatedReservationstrue に設定し、autoCreatedReservationsDuration フィールドを指定します。

      PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/example-future-reservation?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDuration
      
      {
        "autoDeleteAutoCreatedReservations": "true",
        "autoCreatedReservationsDuration": {
          "seconds": "DURATION_BEFORE_DELETE"
        }
      }
      

      DURATION_BEFORE_DELETE は期間(秒単位)に置き換えます。たとえば、604,800 秒(7 日)の場合は 604800 を指定します。

  • DESCRIPTION: 省略可。この将来の予約の説明を更新するには、次のいずれかを行います。

    • 説明を追加または更新するには、説明を指定します。

    • 説明を削除するには、リクエスト本文から description フィールドを削除し、UPDATE_FIELDS で指定します。

  • NAME_PREFIX: 省略可。将来の予約の新しい名前の接頭辞。この将来の予約用に自動作成された各予約の名前は、名前の接頭辞で始まります。この将来の予約に自動作成された予約を区別しやすくするために、一意の名前の接頭辞を指定することをおすすめします。

  • PLANNING_STATUS: 将来の予約の契約ステータス。指定できるのは SUBMITTED のみです。これにより、審査を受けるため将来の予約が Google Cloud に送信されます。

  • SHARE_TYPE: 省略可。この将来の予約の共有タイプを変更するには、次のいずれかの値を指定します。

    • 1 つのプロジェクトの将来の予約を共有の将来の予約に変更するには、SPECIFIC_PROJECTS を指定します。また、projects フィールドには、ユーザー プロジェクトを少なくとも 1 つ指定する必要があります。そうしないと、将来の予約の変更は失敗します。

    • それ以外の場合は、LOCAL を指定します。また、リクエスト本文から projects フィールドを削除し、UPDATE_FIELDS で指定する必要があります。そうしないと、将来の予約の変更は失敗します。

  • CONSUMER_PROJECT_ID_1CONSUMER_PROJECT_ID_2: 省略可。共有の将来の予約を共有可能なプロジェクトのプロジェクト ID。最大 100 個のプロジェクトを指定できます。これらのプロジェクトは、将来の予約が作成されたプロジェクト(オーナー プロジェクト)と同じ組織に存在する必要があります。オーナー プロジェクトを指定しないでください。デフォルトでは、この将来の予約用に自動作成された共有予約の使用がすでに許可されています。

  • 省略可。予約済みの各 VM の画像処理装置(GPU)を更新するには、次のいずれかを行います。

    • GPU を追加または変更するには、次の項目を指定します。

      • NUMBER_OF_ACCELERATORS: 追加する GPU の数(予約済み VM あたり)。

      • ACCELERATOR_TYPE: 予約済みの VM に追加する GPU のタイプ。

      将来の予約で指定したマシンタイプが、指定した GPU のタイプをサポートしていることと、リソースを予約するゾーンで GPU を使用できることを確認します。そうしない場合、エラーが発生します。

    • この将来の予約リクエストからすべての GPU を削除するには、リクエスト本文から guestAccelerators フィールドを削除して、それを UPDATE_FIELDS に指定します。

  • 省略可。各予約済み VM にアタッチされているローカル SSD を更新するには、次のいずれかを行います。

    • 各 VM のローカル SSD に使用するインターフェースのタイプを変更または編集するには、INTERFACE_1INTERFACE_2 を置き換えます。値は次のいずれかにする必要があります。

      追加または更新するローカル SSD ごとに、diskSizeGb フィールドと interface フィールドを繰り返します。最大 24 個のローカル SSD を指定できます。

    • この将来の予約からすべてのローカル SSD を削除するには、リクエスト本文から localSsds フィールドを削除し、それを UPDATE_FIELDS に指定します。

  • MACHINE_TYPE: 省略可。各 VM に使用する事前定義またはカスタムのマシンタイプ。カスタム マシンタイプを指定する前に、カスタム マシンタイプの VM の制限事項を確認してください。

  • MINIMUM_CPU_PLATFORM: 省略可。各 VM に使用する最小 CPU プラットフォームを更新するには、次のいずれかを行います。

    • 最小 CPU プラットフォームを追加または更新するには、最小 CPU プラットフォームを指定します。

    • ゾーンのデフォルトの CPU プラットフォームに戻すには、リクエスト本文から minCpuPlatform フィールドを削除して、それを UPDATE_FIELDS に指定します。

  • 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 で承認される可能性を高めるために、必ず予約期間の推奨値のいずれかを指定します。

たとえば、fr-05 という名前で、ゾーン us-central1-a にある承認済みの将来の予約について考えてみましょう。この将来の予約を変更するため、Google Cloud で次の変更を行うとします。

  • 予約期間の終了時間を 2023 年 12 月 31 日午前 0 時(UTC)に変更します。

  • 10 個の VM を予約します。

  • 新しい名前の接頭辞を指定します。

Google Cloud に fr-05 の変更をリクエストするには、次の PATCH リクエストを送信します。

PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/fr-05?updateMask=namePrefix%2CspecificSkuProperties.totalCount%2CtimeWindow.endTime

{
  "name": "fr-05",
  "namePrefix": "new-prefix",
  "planningStatus": "SUBMITTED",
  "specificSkuProperties": {
    "totalCount": "10"
  },
  "timeWindow": {
    "endTime": "2023-12-31T00:00:00Z"
  }
}

将来の予約の変更リクエストを Google Cloud に送信した後、将来の予約の詳細を表示してリクエストのステータスをモニタリングできます。

将来の予約リクエストの他のプロパティを変更する

調達ステータスが調達中(PROCURING)になる前に将来の予約リクエストの他のプロパティを変更する手順は次のとおりです。

  1. 次のいずれかを行います。

    • Google Cloud による将来の予約リクエストの審査を停止するには、将来の予約リクエストをキャンセルします。

    • 現在のプロジェクト(または将来の予約リクエストが共有されているプロジェクト)で作成できる将来の予約リクエストの種類が、将来の予約リクエストで制限されないようにするには、将来の予約リクエストを削除します。

  2. 必要な更新を行い、新しい単一プロジェクトまたは共有の将来の予約リクエストを作成します。

トラブルシューティング

将来の予約リクエストの変更時にエラーが発生した場合は、将来の予約リクエストのトラブルシューティングをご覧ください。

トラブルシューティングを行っても問題が解決しない場合は、アカウント担当者または Google Cloud サポートにお問い合わせください。

将来の予約リクエストをキャンセルする

承認済み、不承認、または承認待ちの将来の予約リクエストをキャンセルして、Google Cloud でリクエストされた容量のプロビジョニングを停止できます。将来の予約をキャンセルした後に可能な操作は、その予約の詳細の表示削除だけです。

将来の予約リクエストをキャンセルするには、gcloud CLI と REST を使用します。

gcloud

将来の予約リクエストをキャンセルするには、gcloud beta compute future-reservations cancel コマンドを使用します。

gcloud beta compute future-reservations cancel FUTURE_RESERVATION_NAME \
    --project=PROJECT_ID \
    --zone=ZONE

次のように置き換えます。

  • FUTURE_RESERVATION_NAME: 既存の将来の予約リクエストの名前。

  • PROJECT_ID: 省略可。将来の予約リクエストが存在するプロジェクトの ID。--project フラグを省略すると、現在のプロジェクトの ID が使用されます。

  • ZONE: 将来の予約リクエストが存在するゾーン。

REST

将来の予約リクエストをキャンセルするには、beta.futureReservations.cancel メソッドPOST リクエストを送信します。

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME/cancel

次のように置き換えます。

  • PROJECT_ID: 将来の予約リクエストが存在するプロジェクトの ID。

  • ZONE: 将来の予約リクエストが存在するゾーン。

  • FUTURE_RESERVATION_NAME: 既存の将来の予約リクエストの名前。

将来の予約リクエストを削除する

将来の予約リクエストを削除できるのは、次のいずれかの場合のみです。

  • 将来の予約リクエストがキャンセルされた。

  • 将来の予約が予約期間の開始時間に到達していない。

  • 将来の予約が予約期間の終了時間を過ぎている。

将来の予約を削除しても、自動作成された将来の予約は削除されません。予約期間の終了後に自動作成された予約を削除する場合は、予約を削除するをご覧ください。

将来の予約リクエストを削除するには、Google Cloud コンソール、gcloud CLI、REST を使用します。

コンソール

将来の予約リクエストを削除するには、次の操作を行います。

  1. Google Cloud コンソールの [予約] ページに移動します。

    [予約] に移動

  2. [将来の予約] タブをクリックします。

  3. 削除する将来の予約リクエストの横にあるチェックボックスをオンにします。

  4. [予約を削除] をクリックします。

  5. [削除] をクリックして確定します。

    将来の予約リクエストが削除されるまでに 1 分ほどかかることがあります。

gcloud

将来の予約リクエストを削除するには、gcloud beta compute future-reservations delete コマンドを使用します。

gcloud beta compute future-reservations delete FUTURE_RESERVATION_NAME \
    --project=PROJECT_ID \
    --zone=ZONE

次のように置き換えます。

  • FUTURE_RESERVATION_NAME: 既存の将来の予約リクエストの名前。

  • PROJECT_ID: 省略可。将来の予約リクエストが存在するプロジェクトの ID。--project フラグを省略すると、現在のプロジェクトの ID が使用されます。

  • ZONE: 将来の予約リクエストが存在するゾーン。

REST

将来の予約リクエストを削除するには、beta.futureReservations.delete メソッドDELETE リクエストを送信します。

DELETE https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME

次のように置き換えます。

  • PROJECT_ID: 将来の予約リクエストが存在するプロジェクトの ID。

  • ZONE: 将来の予約リクエストが存在するゾーン。

  • FUTURE_RESERVATION_NAME: 既存の将来の予約リクエストの名前。

次のステップ