将来の予約リクエストを表示する


このドキュメントでは、将来の予約リクエストを表示する方法について説明します。

将来の予約リクエストを表示すると、プロジェクト内のすべての将来の予約リクエストの概要を確認したり、将来の予約リクエストの構成の詳細を確認できます。共有されている将来の予約リクエストを表示する場合は、オーナー プロジェクトを使用する必要があります。

自動的に作成され、将来の予約用にプロビジョニングされている予約を表示するには、予約を表示するをご覧ください。

始める前に

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

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。

必要なロール

将来の予約リクエストを表示するために必要な権限を取得するには、プロジェクトに対する Compute 将来の予約閲覧者roles/compute.futureReservationViewer)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

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

必要な権限

将来の予約リクエストを表示するには、次の権限が必要です。

  • 将来の予約のリストを表示するには: プロジェクトに対する compute.futureReservations.list
  • 将来の予約の詳細を表示するには: プロジェクトに対する compute.futureReservations.get

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

将来の予約リクエストを表示する

将来の予約リクエストで確認する詳細に基づいて、次のいずれかの方法を使用します。

将来の予約リクエストの一覧を表示する

将来の予約リクエストの一覧を表示するときに、フィルタ式を使用して結果を絞り込むことができます。より高度なフィルタ式の場合は、gcloud CLI または REST を使用します。

プロジェクトの将来の予約リクエストの一覧を表示するには、次のいずれかのオプションを選択します。

コンソール

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

    [予約] に移動

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

    この表の各行は将来の予約リクエストを表し、各列はプロパティを表します。たとえば、[合計数] 列には、将来の予約リクエストそれぞれの予約容量が表示されます。

  3. 省略可: テーブルに表示される将来の予約リクエストをフィルタリングするには、次のいずれかまたは両方を行います。

    • [フィルタ] フィールドに、フィルタ式を入力します。

      たとえば、ゾーン us-central1-a で作成された、または 10 を超えるリソースを予約した将来のリクエストのみを表示するには、次の式を指定します。

      Zone:us-central1-a OR Total Count>10
      
    • [列表示オプション] をクリックし、テーブルをフィルタリングする値を選択します。

gcloud

将来の予約リクエストの一覧を表示するには、gcloud beta compute future-reservations list コマンドを使用します。

gcloud beta compute future-reservations list

出力は次のようになります。

NAME: fr-04
TOTAL_COUNT: 100
START_TIME: 2025-07-20T07:00:00Z
END_TIME: 2025-08-05T07:00:00Z
PROCUREMENT_STATUS: FULFILLED
ZONE: us-east1-a

NAME: fr-05
TOTAL_COUNT: 10
START_TIME: 2025-07-20T07:00:00Z
END_TIME: 2025-12-01T00:00:00Z
PROCUREMENT_STATUS: PENDING_APPROVAL
ZONE: us-west1-c

必要に応じて、フィルタ式に基づいて将来の予約リクエストをフィルタリングするには、--filter フラグを指定します。

gcloud beta compute future-reservations list \
    --filter="FILTER_EXPRESSION"

FILTER_EXPRESSION は、フィルタ式に置き換えます。

たとえば、ゾーン us-central1-a で作成され、n2-standard-4 マシンタイプが指定され、合計数が 10 より大きい今後の予約のみを表示するには、次のフィルタ式を指定します。

zone=us-central1-a AND specificSkuProperties.instanceProperties.machineType=n2-standard-4 AND specificSkuProperties.totalCount>10

REST

将来の予約リクエストのリストを表示するには、beta.futureResevations.list メソッドに対して GET リクエストを実行します。

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

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

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

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

出力は次のようになります。

{
  "id": "projects/my-project/zones/us-east1-a/futureReservations",
  "items": [
    {
      "id": "743865190848184978",
      "creationTimestamp": "2025-03-23T18:16:45.274-07:00",
      "selfLink": "https://www.googleapis.com/compute/beta/projects/my-project/zones/us-east1-a/futureReservations/fr-base",
      "selfLinkWithId": "https://www.googleapis.com/compute/beta/projects/my-project/zones/us-east1-a/futureReservations/743865190848184978",
      "zone": "https://www.googleapis.com/compute/beta/projects/my-project/zones/us-east1-a",
      "name": "fr-base",
      "specificSkuProperties": {
        "instanceProperties": {
          "machineType": "n1-standard-1"
        },
        "totalCount": "100"
      },
      "planningStatus": "SUBMITTED",
      "timeWindow": {
        "endTime": "2025-05-02T01:00:00Z",
        "startTime": "2025-04-30T17:30:00Z"
      },
      "status": {
        "procurementStatus": "FULFILLED",
        "lockTime": "2025-03-30T07:00:00Z",
        "existingMatchingUsageInfo": {
          "count": "3",
          "timestamp": "2025-03-30T01:00:00Z"
        }
      },
      "kind": "compute#futureReservation"
    },
    ...
  ],
  "selfLink": "https://www.googleapis.com/compute/beta/projects/my-project/zones/us-east1-a/futureReservations",
  "etag": "AnzKY34l-cvvV-JnniESJ0dtQvQ=/hvc4jaHpxFAZmOt1FVtKNgzZu-M=",
  "kind": "compute#futureReservationsListResponse"
}

必要に応じて、フィルタ式に基づいて将来の予約リクエストをフィルタリングするには、filter クエリ パラメータを指定します。

GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/aggregated/futureReservations?filter=FILTER_EXPRESSION

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

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

  • FILTER_EXPRESSION: URL エンコードを使用するフィルタ式。

    たとえば、ゾーン us-central1-a で作成され、n2-standard-4 マシンタイプを予約し、合計数が 10 より大きい将来の予約のみを表示するには、次のフィルタ式を指定します。

    zone=us-central1-a%20AND%20specificSkuProperties.instanceProperties.machineType=n2-standard-4%20AND%20specificSkuProperties.totalCount%3E10
    

    URL エンコードされたフィルタ式は、次のデコードされたフィルタ式を表すことに留意してください。

    zone=us-central1-a AND specificSkuProperties.instanceProperties.machineType=n2-standard-4 AND specificSkuProperties.totalCount>10
    

将来の予約リクエストの詳細を表示する

将来の予約リクエストの詳細を表示するには、次のいずれかのオプションを選択します。

コンソール

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

    [予約] に移動

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

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

    [将来の予約] ページが開き、将来の予約リクエストの詳細が表示されます。

gcloud

将来の予約リクエストの詳細を表示するには、gcloud beta compute future-reservations describe コマンドを使用します。

gcloud beta compute future-reservations describe FUTURE_RESERVATION_NAME \
    --zone=ZONE

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

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

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

出力は次のようになります。

autoCreatedReservationsDeleteTime: '2025-05-02T01:00:00Z'
creationTimestamp: '2025-03-23T10:08:31.613-07:00'
id: '5212276518668495076'
kind: compute#futureReservation
name: fr-01
planningStatus: SUBMITTED
selfLink: https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/fr-01
selfLinkWithId: https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/5212276518668495076
shareSettings:
  shareType: LOCAL
specificSkuProperties:
  instanceProperties:
    machineType: n1-standard-64
  totalCount: '800'
status:
  existingMatchingUsageInfo:
    count: '3'
    timestamp: '2025-03-30T01:00:00Z'
  lockTime: '2025-03-30T17:09:59.297799Z'
  procurementStatus: APPROVED
timeWindow:
  endTime: '2025-05-02T01:00:00Z'
  startTime: '2025-04-30T17:30:00Z'
zone: https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a

REST

将来の予約リクエストの詳細を表示するには、beta.futureReservations.get メソッドに対して GET リクエストを実行します。

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

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

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

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

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

出力は次のようになります。

{
  "autoCreatedReservationsDeleteTime": "2025-05-02T01:00:00Z",
  "creationTimestamp": "2025-03-23T10:08:31.613-07:00",
  "id": "5212276518668495076",
  "kind": "compute#futureReservation",
  "name": "fr-01",
  "planningStatus": "SUBMITTED",
  "selfLink": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/fr-01",
  "selfLinkWithId": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/5212276518668495076",
  "shareSettings": {
    "shareType": "LOCAL"
  },
  "specificSkuProperties": {
    "instanceProperties": {
      "machineType": "n1-standard-64"
    },
    "totalCount": "800"
  },
  "status": {
    "lockTime": "2025-03-30T17:09:59.297799Z",
    "procurementStatus": "APPROVED",
    "existingMatchingUsageInfo": {
      "count": "3",
      "timestamp": "2025-03-30T01:00:00Z"
    }
  },
  "timeWindow": {
    "endTime": "2025-05-02T01:00:00Z",
    "startTime": "2025-04-30T17:30:00Z"
  },
  "zone": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a"
}

プロビジョニングされた VM の数を確認する

将来の予約リクエストを作成した後で、各自のプロジェクト、または将来の予約リクエストが共有されているプロジェクトにおいて、リクエストで指定した VM プロパティと一致している実行中の VM の数と未使用の予約の数を確認できます。リクエストで指定した合計数からこの数を差し引くと、リクエストが承認されて開始時刻に達した後に Compute Engine がプロビジョニングする VM の数を特定できます。

複数の将来の予約リクエスト用にプロビジョニングされる VM の数を同時に確認するには、Google Cloud コンソールを使用します。1 つのリクエスト用にプロビジョニングされる VM の数を確認するには、次のいずれかのオプションを選択します。

コンソール

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

    [予約] に移動

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

  3. 将来の予約リクエストごとに、次の情報を確認できます。

    • [合計数] 列: リクエストの合計数。

    • [一致数] 列: リクエストと一致する VM プロパティを持つ実行中の VM と予約の数。

    [合計数] 列の値から [一致数] 列の値を差し引くと、Compute Engine が将来の予約リクエストの開始時にそのリクエスト用にプロビジョニングする VM の数を特定できます。[一致数] 列に警告が表示される場合は、次のいずれかの理由が考えられます。

    • [一致数] の値がゼロである。この場合、一致する実行中の VM または予約がプロジェクトにまだありません。

    • [一致数] の値が [合計数] と等しい。この場合、Compute Engine は将来の予約リクエスト用に予約済み VM をプロビジョニングしません。

    将来の予約リクエストを変更するか、リクエストに一致する VM プロパティを持つ新しい VM または予約を作成すると、Compute Engine は 30 分以内に [一致数] 列の値を更新します。[一致数] 列が最後に更新された日時を確認するには、リクエストの詳細を表示し、[一致する使用量カウントを最後に評価した日時] 行の値を確認します。

  4. 省略可: 将来の予約リクエストの予約済み VM の数を変更するには、将来の予約リクエストを変更します。

gcloud

  1. 将来の予約リクエストの詳細を表示します

  2. 出力の totalCount フィールドの値から existingMatchingUsageInfo フィールドの値を減算します。existingMatchingUsageInfo.count の値が totalCount と等しい場合、Compute Engine は将来の予約リクエスト用に予約済み VM をプロビジョニングしません。

    将来の予約リクエストを変更するか、リクエストに一致する VM プロパティを持つ新しい VM または予約を作成すると、Compute Engine は 30 分以内に existingMatchingUsageInfo フィールドを更新します。フィールドが最後に更新された日時を確認するには、existingMatchingUsageInfo.timestamp フィールドの値を確認します。

  3. 省略可: 将来の予約リクエストの予約済み VM の数を変更するには、将来の予約リクエストを変更します。

REST

  1. 将来の予約リクエストの詳細を表示します

  2. 出力の totalCount フィールドの値から existingMatchingUsageInfo フィールドの値を減算します。existingMatchingUsageInfo.count の値が totalCount と等しい場合、Compute Engine は将来の予約リクエスト用に予約済み VM をプロビジョニングしません。

    将来の予約リクエストを変更するか、リクエストに一致する VM プロパティを持つ新しい VM または予約を作成すると、Compute Engine は 30 分以内に existingMatchingUsageInfo フィールドを更新します。フィールドが最後に更新された日時を確認するには、existingMatchingUsageInfo.timestamp フィールドの値を確認します。

  3. 省略可: 将来の予約リクエストの予約済み VM の数を変更するには、将来の予約リクエストを変更します。

次のステップ