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


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

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

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

始める前に

  • まだ設定していない場合は、認証を設定します。認証とは、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 の数を特定できます。[一致数] 列に警告が表示される場合は、次のいずれかの理由が考えられます。

    • [一致数] の値が 0 です。この場合、プロジェクトに一致する実行中の 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 の数を変更するには、将来の予約リクエストを変更します。

次のステップ