Compute Engine ゾーンリソースの予約

必要なときにワークロードにリソースを使用できるようにするために、特定のゾーンで仮想マシン(VM)インスタンスの予約を作成できます。予約する VM インスタンスには、カスタムまたは事前定義のマシンタイプを使用します。また、VM インスタンスに GPU またはローカル SSD を追加することもできます。予約を作成するとすぐに、予約したリソースに対する課金が開始されます。予約を削除するまで、これらのリソースをプロジェクトで使用できます。

予約を使用すると、計画的または想定外の負荷の急増、多数の VM の移行、バックアップや障害復旧、計画的な拡張やバッファなど、プロジェクトで必要なリソースの増加にも対応できます。

不要になった予約は削除できます。予約を削除すると、予約に対する課金も停止します。予約では、通常の VM と同じようにリソースを使用するため、既存のオンデマンド料金に基づいて予約料金が課金されます。この中には、継続利用割引が含まれます。また、予約は確約利用割引の対象にもなります。

始める前に

利点

予約には次の利点があります。

  • マシンをすぐに使用しないとしても、マシンをいつでも使用できるようになります。
  • 時間制限はありません。随時、予約を作成できます。また、削除するとすぐに課金が停止されます。

  • 割引が適用されます。予約したリソースも同じレートで課金されるため、予約済みリソースは確約利用割引と継続利用割引の対象となります。

制限事項

予約には次の制限事項があります。

  • 予約は、Compute Engine、Dataproc、Google Kubernetes Engine VM の使用に対してのみ適用されます。
  • 予約は、以下のリソースには適用されません。
    • f1-microg1-smalle2-microe2-smalle2-medium マシンタイプ
    • プリエンプティブル VM
    • 単一テナントノード
    • Cloud SQL や Dataflow など、上記以外のサービス
  • 1 つの予約で予約できるのは最大 1, 000 個の VM インスタンスまでです。
  • プロジェクトで、予約するリソースに対して十分な割り当て量が設定されている必要があります。予約に成功すると、そのリソースの割り当て量も課金対象になります。
  • 予約を作成すると、リソースが割り当てられます。リクエストの時点でゾーンに十分なリソースがない場合、容量不足エラーが発生し、予約に失敗します。
  • 確約利用割引と併用した場合:
    • GPU とローカル SSD の確約利用割引の場合、コミットメントの購入時に予約を作成する必要があります。
    • 予約にコミットメントが関連付けられている場合、予約を削除することはできません。
    • K80 GPU の場合、1 年間のコミットメントのみ購入できます。
  • 確約利用割引に関連付けられていない予約は任意の期間継続されますが、通常のインスタンスと同じ 1 分間の最低料金が適用されます。

予約の仕組み

必要な VM インスタンスを確保するために予約を作成します。予約を作成すると、これらのリソースがいつでも使用できる状態になります。予約を作成するときに、予約の使用方法を選択できます。たとえば、予約のプロパティに一致する新規または既存のインスタンスに、予約を自動的に適用するように設定できます(デフォルトの動作)。また、特定の VM インスタンスだけに予約が適用されるように指定することもできます。

いずれの場合も、予約のプロパティに完全に一致する場合にのみ、VM インスタンスに予約が適用されます。予約を使用するインスタンスは、次の予約プロパティと一致している必要があります。

  • ゾーン
  • マシンタイプ(コアとメモリ)
  • 最小 CPU プラットフォーム
  • GPU のタイプ
  • GPU 数
  • ローカル SSD のインターフェース
  • ローカル SSD のサイズ

VM インスタンスが予約のプロパティと一致した場合、特に指定のない限り、既存か新規かにかかわらず、該当するすべての VM インスタンスに予約が自動的に適用されます。たとえば、10 個の custom-8-10240 インスタンスに予約を作成したときに、5 個の custom-8-10240、これらの 5 個のインスタンスで 5 個の予約が使用されます。インスタンスが予約の条件を満たしている場合、デフォルトでは、これらの 5 個のインスタンスで 5 個の予約が使用されます。その後、条件を満たす 3 個のインスタンスを作成すると、3 個の予約がさらに使用されます。

このデフォルトの動作をオーバーライドするには、予約とインスタンスを作成するときに特定のオプションを指定します。

  • 自動的に適用されない予約を作成するには、specificReservationRequired オプションを使用します。インスタンスの作成時に予約を明示的に指定した場合にのみ、これらの予約が使用されます。
  • 予約を使用するインスタンスを指定するには、インスタンスを作成するときに reservationAffinity オプションを使用するか、このオプションをインスタンス テンプレートに指定します。該当する予約がインスタンスに自動的に適用されるように指定できます。該当する予約が自動的に適用されないように設定することもできます。また、特定の予約のみを使用するように指定することも可能です。

予約を使用しているインスタンスを停止、一時停止、または削除すると、インスタンスは予約の使用数として計算されなくなります。予約したリソースは利用可能な状態に戻ります。

予約を削除したときに、予約済みのリソースを使用しているインスタンスを削除しなかった場合、インスタンスは存続し、通常の料金が課金されます。

予約を作成する

VM インスタンスの予約を作成するには、コンソール、gcloud コマンドライン ツール、または API を使用します。デフォルトでは、予約の条件に一致する VM インスタンスがその予約を自動的に使用します。自動的に使用されない予約を作成するには、specificReservationRequired オプションを使用します。

リソースを予約するためにコミットメントを作成する必要はありません。ただし、GPU とローカル SSD で確約利用割引の料金を利用するには、これらのリソースの予約をコミットメントの購入時に作成する必要があります。詳細については、予約と確定利用割引の併用をご覧ください。

Console

  1. Google Cloud Console で [確約利用割引] ページに移動します。

    [確約利用割引] ページに移動

  2. [予約を作成] をクリックして、親コミットメントのない予約を作成します。

  3. 予約に名前を付けます。

  4. この予約名を対象とし、かつ条件を満たしているインスタンスを作成する場合にのみ、この予約のリソースを使用するには、[VM インスタンスでの使用] で、[特定の予約を選択する] を選択します。

  5. リソースを予約するリージョンゾーンを選択します。

  6. 予約する VM インスタンスの数を指定します。

  7. インスタンスごとに予約するリソースを指定します。

    • インスタンス テンプレートを使用する場合は、[インスタンス テンプレートを使用] をクリックして、リストからインスタンス テンプレートを選択します。
    • それ以外の場合は、[マシンタイプを指定] をクリックします。
      1. 定義済みのマシンタイプの場合は、リストから必要なタイプを選択します。
      2. 最小 CPU プラットフォームなどのカスタム マシンタイプを使用する場合や、GPU を追加する場合は、[カスタマイズ] をクリックして項目を選択します。
      3. 必要であれば、各インスタンスに追加するローカル SSD ディスクの数を指定し、使用するインターフェース タイプを設定します。
  8. [作成] をクリックして予約を作成します。

gcloud

gcloud compute reservations create コマンドを使用して、新しい予約を作成します。

gcloud compute reservations create RESERVATION_NAME \
    --machine-type=MACHINE_TYPE \
    --min-cpu-platform MINIMUM_CPU_PLATFORM \
    --vm-count=NUMBER_OF_VMS \
    --accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE \
    --local-ssd=size=SIZE_IN_GB,interface=INTERFACE \
    --require-specific-reservation \
    --zone=ZONE

以下を置き換えます。

  • RESERVATION_NAME: 作成する予約の名前。
  • MACHINE_TYPE: マシンタイプ(例: n1-standard-2)。カスタム マシンタイプの場合は、custom-CPUS-MEMORY という形式を使用します。以下を置き換えます。
    • CPUS: vCPU の数。
    • MEMORY: このインスタンスの合計メモリ。メモリの量には、256 MB の倍数を MB 単位で指定します。たとえば、5 GB のメモリは 5,120 MB で、custom-4-5120 となります。詳しい制限事項については、カスタム マシンタイプの仕様をご覧ください。
  • MINIMUM_CPU_PLATFORM: 各インスタンスに使用する最小 CPU
  • NUMBER_OF_VMS: 予約する VM インスタンスの数量。
  • NUMBER_OF_ACCELERATORS: 追加する GPU の数(1 インスタンスあたり)。
  • ACCELERATOR_TYPE: アクセラレータのタイプ
  • SIZE_IN_GB: 各インスタンスに接続するローカル SSD の量(GB 単位)。この値は 375 の倍数にする必要があります。
  • INTERFACE: 各インスタンスに対してローカル SSD が使用するインターフェースのタイプ。有効なオプションは scsinvme です。
  • ZONE: リソースを予約するゾーン。

--require-specific-reservation フラグを追加して、この予約を明示的に対象とする VM インスタンスのみが予約を使用するように指定することもできます。予約済みリソースを使用する際の構成オプションについて詳しくは、予約の仕組みをご覧ください。

たとえば、明示的な対象になっている場合にのみ使用できる予約を us-central1-a で作成する場合は、次のようなコマンドを使用します。この例では、8 基の Intel Haswell(以降の)vCPU、10 GB のメモリ、2 基の V100 GPU、375 GB のローカル SSD を装備したカスタムマシンを 10 台を予約しています。

gcloud compute reservations create my-reservation \
    --machine-type=custom-8-10240 \
    --min-cpu-platform "Intel Haswell" \
    --vm-count=10 \
    --accelerator=count=2,type=nvidia-tesla-v100 \
    --local-ssd=size=375,interface=scsi \
    --require-specific-reservation \
    --zone us-central1-c

使用可能なフラグの一覧については、gcloud compute reservations create リファレンスをご覧ください。

API

API では、reservations.insert メソッドに対して POST リクエストを作成します。リクエストの本文に次のパラメータを指定します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations

{
  "name":"RESERVATION_NAME",
  "specificReservation":{
    "count":"NUMBER_OF_VMS",
    "instanceProperties":{
      "machineType":"MACHINE_TYPE",
      "minCpuPlatform": "MINIMUM_CPU_PLATFORM",
      "guestAccelerators":[
        {
          "acceleratorCount":"NUMBER_OF_ACCELERATORS",
          "acceleratorType":"ACCELERATOR_TYPE"
        }
      ],
      "localSsds":[
        {
          "diskSizeGb":"SIZE_IN_GB",
          "interface":"INTERFACE"
        }
      ]
    }
  }
}

以下を置き換えます。

  • PROJECT_ID: リクエスト対象のプロジェクト ID。
  • ZONE: リソースを予約するゾーン。
  • RESERVATION_NAME: 作成する予約の名前。
  • NUMBER_OF_VMS: 予約する VM インスタンスの数量。
  • MACHINE_TYPE: 事前定義またはカスタム マシンタイプ(例: n1-standard-2)。カスタム マシンタイプの場合は、custom-CPUS-MEMORY という形式を使用します。以下を置き換えます。
    • CPUS: vCPU の数。
    • MEMORY: このインスタンスの合計メモリ。メモリの量には、256 MB の倍数を MB 単位で指定します。たとえば、5 GB のメモリは 5,120 MB で、custom-4-5120 となります。詳しい制限事項については、カスタム マシンタイプの仕様をご覧ください。
  • MINIMUM_CPU_PLATFORM: 各インスタンスに使用する最小 CPU
  • NUMBER_OF_ACCELERATORS: 追加する GPU の数(1 インスタンスあたり)。
  • ACCELERATOR_TYPE: アクセラレータのタイプ
  • SIZE_IN_GB: 各インスタンスに接続するローカル SSD の量(GB 単位)。この値は 375 の倍数にする必要があります。
  • INTERFACE: 各インスタンスに対してローカル SSD が使用するインターフェースのタイプ。有効なオプションは scsinvme です。

specificReservationRequired ブール型フィールドを追加して、この予約名を対象としている VM インスタンスのみがこの予約を使用できるように設定することもできます。予約済みリソースを使用する際の構成オプションについて詳しくは、予約の仕組みをご覧ください。

たとえば、明示的な対象になっている場合にのみ使用できる予約を us-central1-a で作成する場合は、次のようなコマンドを使用します。この例では、8 個の Intel Haswell(以降の)vCPU、10 GB のメモリ、2 基の V100 GPU、375 GB のローカル SSD を備えたカスタムマシンを 10 台予約しています。

POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations

{
  "name": "reservation-1",
  "specificReservation":
  {
    "count": "10",
    "instanceProperties":
    {
      "machineType": "custom-8-10240",
      "minCpuPlatform": "Intel Haswell",
      "guestAccelerators":
      [
        {
          "acceleratorCount": 2,
          "acceleratorType": "nvidia-tesla-v100"
        }
      ],
      "localSsds":
      [
        {
          "diskSizeGb": "375",
          "interface": "SCSI"
        }
      ]
    }
  },
  "specificReservationRequired": true
}

予約済みインスタンスを使用する

インスタンスを作成するときは、インスタンスの予約アフィニティ フラグを設定します。デフォルトでは条件に一致する任意の予約を使用しますが、特定の予約のみを使用することも、予約をまったく使用しないこともできます。インスタンスで特定の予約を使用するように設定するには、予約を作成するときに、対応する特定の予約必須フラグを指定する必要があります。

予約を使用するには、作成するインスタンスのプロパティが予約済みインスタンスのプロパティと一致する必要があります。詳細については、予約の仕組みをご覧ください。

一致する任意の予約からインスタンスを使用する

このモデルでは、インスタンスのプロパティが予約済みインスタンスのプロパティと一致する場合、既存か新規かに関係なく、該当するインスタンスに自動的に予約が適用されます。このモデルは、大量の VM の作成または削除を行うときに可能な限り予約を使用する場合に便利です。

予約を作成するときに --require-specific-reservation フラグを除外すると、条件を満たすインスタンスにこの予約が自動的に適用されるようになります。

Console

  1. 予約を作成します。

    1. Cloud Console で [確約利用割引] ページに移動します。

      [確約利用割引] ページに移動

    2. 親コミットメントのないスタンドアロンの予約を作成するには、[予約を作成] をクリックします。

    3. 予約に名前を付けます(例: reservation-01)。

    4. [VM インスタンスでの使用] で [予約を自動的に使用する] を選択して、条件を満たすインスタンスにこの予約が自動的に適用されるようにします。

    5. リソースを予約するリージョンゾーンを選択します。

    6. 予約する VM インスタンスの数を指定します。

    7. インスタンスごとに予約するリソースを指定します。

      • vCPU の数
      • 最小 CPU プラットフォーム
      • メモリの量
      • GPU
      • ローカル SSD(必要に応じて)
    8. [作成] ボタンをクリックして、予約を作成します。

  2. 予約を対象とし、reservation-01 のインスタンス プロパティに一致する VM インスタンスを作成します。これには、ゾーン、マシンタイプ(vCPU 数とメモリ量)、最小 CPU プラットフォーム、GPU の量とタイプ、ローカル SSD のインターフェースとサイズなどが含まれます。

    1. Cloud Console で、[VM インスタンス] ページに移動します。

      [VM インスタンス] に移動

    2. プロジェクトを選択し、[続行] をクリックします。

    3. [インスタンスを作成] をクリックします。

    4. [名前] でインスタンスの名前を指定します。

    5. reservation-01 プロパティに一致するマシンタイプを指定します。たとえば、最小 CPU プラットフォームまたは GPU を指定した予約を使用するには、このインスタンスを予約に合わせてカスタマイズする必要があります。

    6. 予約にローカル SSD が含まれている場合、[ディスク] で [新しいディスクを追加] をクリックして、予約のローカル SSD インターフェースと金額に一致するローカル SSD を追加します。

    7. [管理] の [予約] で、[作成済みの予約を自動的に使用する] を選択します。

    8. [作成] をクリックします。

gcloud

  1. reservation-01という予約を作成します。

    gcloud compute reservations create reservation-01 \
        --machine-type=n2-standard-32 \
        --min-cpu-platform "Intel Cascade Lake" \
        --vm-count=2 \
        --zone=us-central1-a
    
  2. 予約を対象とし、reservation-01 のインスタンス プロパティに一致する VM インスタンスを作成します。これには、ゾーン、マシンタイプ(vCPU 数とメモリ量)、最小 CPU プラットフォーム、GPU の量とタイプ、ローカル SSD のインターフェースとサイズなどが含まれます。

    gcloud compute instances create instance-1 \
        --machine-type=n2-standard-32 \
        --min-cpu-platform "Intel Cascade Lake" \
        --zone=us-central1-a \
        --reservation-affinity=any
    

API

  1. reservation-01という予約を作成します。

    POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations
    
    {
      "name":"reservation-01",
      "specificReservation":{
        "count":"2",
        "instanceProperties":{
          "machineType":"n2-standard-32",
          "minCpuPlatform": "Intel Cascade Lake",
        }
      },
      "specificReservationRequired": false
    }
    
  2. 予約を対象とし、reservation-01 のインスタンス プロパティに一致する VM インスタンスを作成します。これには、ゾーン、マシンタイプ(vCPU 数とメモリ量)、最小 CPU プラットフォーム、GPU の量とタイプ、ローカル SSD のインターフェースとサイズなどが含まれます。

    POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances
    
    {
      "name": "instance-1",
      "machineType": "zones/us-central1-a/machineTypes/n2-standard-32",
      "minCpuPlatform": "Intel Cascade Lake",
      "reservationAffinity":
      {
        "consumeReservationType": "ANY_RESERVATION"
      },
      ...
    }
    

特定の予約からインスタンスを使用する

このモデルでは、特定の予約名を対象としている新しいインスタンスだけがその予約を使用します。このモデルは、特別なイベント用のバックアップとして特定の容量を確保する場合に便利です。

予約を作成するときに、予約を自動的に使用しないように指定します。その予約を対象とし、そのプロパティに一致する VM を作成します。

インスタンス テンプレートを使用してリージョン マネージド インスタンス グループに VM を作成する場合は、該当する各ゾーンに同じ名前で同一の予約を作成します。次に、グループのインスタンス テンプレートの名前を使用して、予約を対象にします。

たとえば、reservation-02 という名前の予約を作成して、この予約を対象とし、予約のインスタンス プロパティに一致するインスタンスを作成します。

Console

  1. この予約の対象となるインスタンスでのみ使用されるリソースの予約を作成します。

    1. Cloud Console で [確約利用割引] ページに移動します。

      [確約利用割引] ページに移動

    2. [予約を作成] をクリックして、親コミットメントのない予約を作成します。

    3. 予約に名前を付けます(例: reservation-02)。

    4. [VM インスタンスでの使用] で [特定の予約を選択する] をオンにします。この予約を名前を使って対象として指定し、条件を満たすインスタンスだけがこの予約を使用できるようにします。

    5. リソースを予約するリージョンゾーンを選択します。

    6. 予約する VM インスタンスの数を指定します。

    7. インスタンスごとに予約するリソースを指定します。

      • vCPU の数
      • 最小 CPU プラットフォーム
      • メモリの量
      • GPU
      • ローカル SSD
    8. [作成] をクリックします。

  2. 予約名を使って特定の予約を対象とする VM インスタンスを作成します。

    インスタンスのプロパティが特定の予約のインスタンス プロパティと一致していることを確認します。これには、ゾーン、マシンタイプ(vCPU 数とメモリ量)、最小 CPU プラットフォーム、GPU の量とタイプ、ローカル SSD のインターフェースとサイズなどが含まれます。

    1. Cloud Console で、[VM インスタンス] ページに移動します。

      [VM インスタンス] に移動

    2. プロジェクトを選択し、[続行] をクリックします。

    3. [インスタンスを作成] ボタンをクリックします。

    4. [名前] でインスタンスの名前を指定します。

    5. reservation-01 プロパティに一致するマシンタイプを指定します。たとえば、最小 CPU プラットフォームを指定した予約を使用するには、このインスタンスを予約に合わせてカスタマイズする必要があります。

    6. 予約にローカル SSD が含まれている場合、[ディスク] で [新しいディスクを追加] をクリックして、予約のローカル SSD インターフェースと金額に一致するローカル SSD を追加します。

    7. [管理] の [予約] で、プロパティに一致する予約を選択します(例: reservation-02)。

    8. [作成] をクリックして、インスタンスを作成します。

gcloud

  1. --require-specific-reservation フラグのある reservation-02 という名前の予約を作成します。これらの予約済みリソースは、この予約名を対象とするインスタンスでのみ使用できます。

    gcloud compute reservations create reservation-02 \
        --machine-type=n2-standard-32 \
        --min-cpu-platform "Intel Cascade Lake" \
        --vm-count=10 \
        --zone=us-central1-a \
        --require-specific-reservation
    
  2. --reservation-affinity--reservation フラグを使用して reservation-02 の名前を対象とする VM インスタンスを作成します。

    インスタンスのプロパティが予約のインスタンス プロパティと一致していることを確認します。これには、ゾーン、マシンタイプ(vCPU 数とメモリ量)、最小 CPU プラットフォーム、GPU の量とタイプ、ローカル SSD のインターフェースとサイズなどが含まれます。

    gcloud compute instances create instance-2 \
        --machine-type=n2-standard-32 \
        --min-cpu-platform "Intel Cascade Lake" \
        --zone=us-central1-a \
        --reservation-affinity=specific \
        --reservation=reservation-02
    

API

  1. specificReservationRequiredtrue に設定した reservation-02 という名前の予約を作成します。

    POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations
    
    {
      "name":"reservation-02",
      "specificReservation":{
        "count":"10",
        "instanceProperties":{
          "machineType":"n2-standard-32",
          "minCpuPlatform": "Intel Cascade Lake",
        }
      },
      "specificReservationRequired": true
    }
  2. reservationAffinity を使用して、reservation-02 という名前を対象とする VM インスタンスを作成します。

    インスタンスのプロパティが予約のインスタンス プロパティと一致していることを確認します。これには、ゾーン、マシンタイプ(vCPU 数とメモリ量)、最小 CPU プラットフォーム、GPU の量とタイプ、ローカル SSD のインターフェースとサイズなどが含まれます。

    POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances
    
    {
      "name": "instance-2",
      "machineType": "zones/us-central1-a/machineTypes/n2-standard-32",
      "minCpuPlatform": "Intel Cascade Lake",
      "reservationAffinity":
      {
        "consumeReservationType": "SPECIFIC_RESERVATION",
        "key": "compute.googleapis.com/reservation-name",
        "values":
        ["reservation-02"
        ]
      },
      ...
    }

予約を使用しないインスタンスを作成する

予約されたリソースを明示的に使用しないようにするには、VM を作成するときに予約アフィニティ フラグを「none」に設定します。または、暗黙的に予約をまったく使用しないようにするには、すべての予約のインスタンス プロパティに一致しないインスタンスを作成します。

Console

  1. 明示的に予約を使用しないインスタンスを作成します。

    1. Cloud Console で、[VM インスタンス] ページに移動します。

      [VM インスタンス] に移動

    2. [インスタンスを作成] をクリックします。

    3. 通常どおりインスタンスを作成します。

    4. [管理] の [予約] で、[使用しない] を選択して、このインスタンスに既存の予約が適用されないように設定します。

    5. [作成] をクリックします。

gcloud

予約を明示的に使用しないインスタンスを作成します。

gcloud compute instances create instance-3 --reservation-affinity=none

または、すべての予約のインスタンス プロパティに一致しないインスタンスを作成します。予約プロパティを確認するには、予約の一覧と情報を取得するをご覧ください。

API

予約を明示的に使用しないインスタンスを作成します。

POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances

{
  "machineType": "zones/us-central1-a/machineTypes/n2-standard-16",
  "name": "instance-3",
  "reservationAffinity":
  {
    "consumeReservationType": "NO_RESERVATION"
  },
  ...
}

または、すべての予約のインスタンス プロパティに一致しないインスタンスを作成します。予約プロパティを確認するには、予約の一覧と情報を取得するをご覧ください。

予約が使用されていることを確認する

予約済みのリソースを使用できない場合は、予約のプロパティとインスタンスのプロパティを確認してください。インスタンスのプロパティが予約のインスタンス プロパティと一致していることをテストするには、特定の予約を作成し、特定の予約を対象とするインスタンスを作成します。

予約のプロパティを確認する

予約のインスタンス プロパティは、インスタンス作成コマンドのプロパティと一致している必要があります。確認する方法を次に示します。

  1. 以下の予約のプロパティを確認してください。

    • zone
    • specificReservationRequired
      • true に設定してインスタンス作成コマンドを実行する場合は、予約名を使ってこの予約を対象とする必要があります。
    • machineType
    • guestAccelerators.acceleratorType
    • guestAccelerators.acceleratorCount
    • minCpuPlatform
      • 現存する minCpuPlatform の VM インスタンスを使用する予約を作成するには、プロパティ(minCpuPlatform を含む)が一致する予約を作成します。
      • 現存する minCpuPlatform の予約を使用するインスタンスを作成するには、プロパティ(minCpuPlatform を含む)が一致するインスタンスを作成します。
    • localSsds.diskSizeGb
    • localSsds.interface
  2. これらのプロパティに一致するインスタンスを作成します。

  3. インスタンスのプロパティが予約のプロパティと一致しているかどうかを確認するために詳細を表示します。 たとえば、gcloud ツールを使用する場合は、instances describe コマンドを実行します。

  4. 予約の inUseCount が増加しているかどうかを予約の詳細で確認します。

    • inUseCount が変化していない場合、プロパティが一致していません。
    • inUseCount が増加している場合、予約が使用されています。

特定の予約を対象とする

特定の予約を対象とするインスタンスを作成しようとすると、予約のプロパティと一致しない限り、インスタンスは作成できません。この方法を使用して、正しいインスタンス プロパティがあることを確認します。

  1. specificReservationRequired オプションを使って予約を作成します。
  2. 予約のインスタンス プロパティと明示的に一致し、予約アフィニティ プロパティで予約名を使用してその予約を対象とするインスタンスを作成します。
    • インスタンスのプロパティが一致しない場合、エラーが表示されます。
    • インスタンスのプロパティが一致する場合、予約が使用されています。

予約の一覧と情報を取得する

コンソール、gcloud ツール、API を使用した予約に関する一覧と詳細を表示します。

Console

  1. Cloud Console で [確約利用割引] ページに移動します。

    [確約利用割引] ページに移動

  2. [予約] をクリックします。

予約リストには、各予約に関する詳細が含まれています。[使用されるマシン数(合計)] 列には、各予約の使用状況が表示されます。

gcloud

予約リストを取得するには、gcloud compute reservations list コマンドを使用します。

gcloud compute reservations list [--filter="zone:('ZONE')"]

NAME             IN_USE_COUNT   COUNT   ZONE
reservation-04   25             50      us-central1-a
reservation-05   0              100     us-central1-b

予約の詳細を表示するには、gcloud compute reservations describe コマンドを使用します。

gcloud compute reservations describe RESERVATION_NAME --zone=ZONE

kind: compute#reservation
name: reservation-05
selfLink: https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-east1-d/reservations/reservation-05
specificReservation:
  count: '50'
  inUseCount: '25'
  instanceProperties:
    guestAccelerators:
    - acceleratorCount: 1
      acceleratorType: nvidia-tesla-k80
    localSsds:
    - diskSizeGb: '375'
      interface: SCSI
    machineType: n1-standard-2
    minCpuPlatform: Any CPU Platform
specificReservationRequired: false
status: READY
zone: https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-east1-d    

countinUseCount の値を使用して各予約の使用率を決定します。この例では、50 個のインスタンスが予約されており、そのうち 25 個のインスタンスが現在使用されています。

この予約を使用するインスタンスを作成するには、予約のインスタンス プロパティを一致させてください。次に例を示します。

gcloud compute instances create my-instance \
    --accelerator=type=nvidia-tesla-k80,count=1 \
    --maintenance-policy terminate \
    --local-ssd=interface=SCSI \
    --machine-type n1-standard-2 \
    --zone us-east1-d 

API

API の場合は、reservations.list メソッドに対して GET リクエストを作成して予約リストを取得します。

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations

予約の詳細を表示するには、reservations.get メソッドを呼び出します。

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME

{
  "id": "2533514314332214789",
  "creationTimestamp": "2019-09-27T08:21:14.707-07:00",
  "selfLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-d/reservations/reservation-05",
  "zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-d",
  "name": "reservation-05",
  "specificReservationRequired": false,
  "status": "READY",
  "kind": "compute#reservation",
  "specificReservation": {
    "instanceProperties": {
      "machineType": "n1-standard-2",
      "guestAccelerators": [
        {
          "acceleratorType": "nvidia-tesla-k80",
          "acceleratorCount": 1
        }
      ],
      "minCpuPlatform": "Any CPU Platform",
      "localSsds": [
        {
          "diskSizeGb": "375",
          "interface": "SCSI"
        }
      ]
    },
    "count": "50",
    "inUseCount": "25"
  }
}

countinUseCount の値を使用して各予約の使用率を決定します。この例では、50 個のインスタンスが予約されており、そのうち 25 個のインスタンスが現在使用されています。

予約を変更する

予約がコミットメントに関連付けられていない場合、予約のサイズ変更や削除を行うことができます。

予約のサイズを変更する

gcloud ツールや API を使用して、コミットメントに関連付けられていない予約内の VM の数を変更できます。

gcloud

予約のサイズを変更するには、gcloud compute reservations update コマンドを使用します。次に例を示します。

2 つの VM インスタンスの予約を作成する場合:

gcloud compute reservations create reservation-01 \
    --machine-type=n2-standard-32 \
    --zone=us-central1-a \
    --vm-count=2

VM インスタンス数が 2〜10 の予約のサイズを変更する場合:

gcloud compute reservations update reservation-01 \
    --zone=us-central1-a \
    --vm-count=10

API

API で reservations.resize メソッドに対する POST リクエストを作成し、リクエストの本文に新しい specificSkuCount を含めます。次のリクエスト本文では、予約の VM 数を 10 に変更しています。

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME/resize

{"specificSkuCount": "10"}

リクエストの時点で、ターゲット ゾーンに十分なリソースがあり、ターゲット リージョンに十分な割り当てがある場合、更新リクエストは成功します。

予約を削除する

コンソール、gcloud ツール、API を使用して、コミットメントに関連付けられていない予約を削除できます。

Console

  1. Cloud Console で [確約利用割引] ページに移動します。

    [確約利用割引] ページに移動

  2. [予約] をクリックして、予約のリストを表示します。

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

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

gcloud

予約を解除するには、delete コマンドを使用します。

gcloud compute reservations delete RESERVATION_NAME --zone ZONE

API

API では、reservation.delete メソッドに対して DELETE リクエストを作成します。

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME

削除コマンドが正常に完了すると、予約に対する課金が停止します。リソースの予約も解除されます。予約を削除しても、その予約に関連付けられている稼働中のインスタンスには影響がありません。これらのインスタンスは引き続き課金対象になります。

予約と確約利用割引の併用

確約利用割引は、1 年分または 3 年分の割引価格契約を提供しますが、特定のゾーンの容量を予約するものではありません。予約を作成することで、予約された VM が実行されていなくても、特定のゾーンで容量が確実に保持されます。予約とコミットメントを組み合わせると、割引料金が適用される予約済みのリソースを使用できます。

デフォルトでは、予約の作成時にコアとメモリの確約利用割引が VM インスタンスに自動的に適用されます。 ただし、GPU とローカル SSD の確約利用割引率を適用するには、コミットメントの購入時にこれらのリソースの予約を作成する必要があります。

購入したコミットメントはキャンセルできません。詳しくは、確約利用割引をご覧ください。

GPU またはローカル SSD のコミットメントを購入する

GPU またはローカル SSD のコミットメントを購入するには:

  • 汎用 N1 コミットメントの購入が必要になります。GPU は、N1 マシンタイプでのみサポートされます。
  • コミットメントの購入時に、GPU またはローカル SSD のいずれかを含む予約を作成する必要があります。
  • vCPU またはメモリを確約する必要はありません。

コミットメントの購入は GPU タイプを特定して行う必要があります。たとえば、購入の際 Tesla P100 または Tesla V100 のどちらを指定してもかまいませんが、Tesla P100 GPU のコミットメントを購入し、それを他の GPU タイプに適用することはできません。

GPU とローカル SSD の予約量は、確約する量と同じにする必要があります。たとえば、4 つの V100 GPU を予約する場合は、4 つの V100 GPU を確約する必要があります。ただし、予約する vCPU とメモリの量は、コミットメントよりも少なくまたは多くすることができます。

GPU またはローカル SSD のみを確約する場合は、vCPU とメモリのコミットメントに 0 を指定できます。ただし、コミットメントに作成する予約には、コミットメントと同じ GPU とローカル SSD が含まれ、予約するマシンタイプ(vCPU およびメモリを含む)が含まれている必要があります。

Cloud Console、gcloud ツール、または API を使用して、予約と同時に確約利用契約を購入します。

Console

  1. Google Cloud Console で [確約利用割引] ページに移動します。

    [確約利用割引] ページに移動

  2. [購入] をクリックして、新しいコミットメントを購入します。

  3. コミットメントに名前を付け、適用するリージョンを選択します。

  4. [コミットメント タイプ] で、[汎用] を選択します。

  5. [期間] で、コミットメントの期間(1 年または 3 年)を選択します。

  6. [コア数] と [メモリ] に、購入するコア数とメモリ量をそれぞれ入力します。vCPU とメモリを確約せずに、GPU またはローカル SSD のみを確約して予約する場合は、vCPU とメモリのコミットメント量に 0 を指定します。

  7. [GPU を追加] をクリックして、確約する GPU のタイプGPU の数を選択します。

  8. [ローカル SSD を追加] をクリックし、確約するディスクの数を指定します。

  9. GPU とローカル SSD を使用するインスタンスに 1 つ以上の予約を作成するには、[新しい予約を追加] をクリックします。

    1. 予約に名前を付けます。
    2. [VM インスタンスでの使用] で次の操作を行います。
      • この予約名を対象にし、条件を満たしているインスタンスを作成する場合にのみ、この予約のリソースを使用するには、[特定の予約を選択する] を選択します。
      • 条件を満たすインスタンスがこの予約を自動的に使用するように設定するには、[予約を自動的に使用する] を選択します。
    3. [ゾーン] で、リソースを予約するゾーンを選択します。
    4. 予約する VM インスタンスの数を指定します。
    5. インスタンスごとに予約するリソースを指定します。
      • インスタンス テンプレートを使用する場合は、[インスタンス テンプレートを使用] をクリックして、リストからインスタンス テンプレートを選択します。
      • それ以外の場合は、[マシンタイプを指定] をクリックします。
        1. [カスタマイズ] をクリックし、スライダーを使用してマシンタイプのコア数メモリ量を選択します。
        2. CPU プラットフォームを指定します。
        3. GPU を追加するには、[GPU] に GPU の数を入力し、[GPU のタイプ] でタイプを指定します。
        4. 必要であれば、各インスタンスに追加するローカル SSD の数を指定し、使用するインターフェース タイプを設定します。
    6. [完了] ボタンをクリックして、予約を作成します。
  10. [購入] ボタンをクリックして、コミットメントを購入します。

  11. 購入条件を確認します。コミットメントを購入する準備ができたら [購入] をクリックします。

gcloud

コミットメントを購入するには、gcloud compute commmitments create コマンドを使用し、予約を作成するフラグを指定します。

たとえば、次のコミットメントでは 4 つの GPU を購入し、それらの GPU が us-central1-a の 2 つの n1-standard-32 インスタンスに使用されるよう予約しています。

gcloud compute commitments create commitment-01 \
    --region=us-central1 \
    --resources=vcpu=96,memory=624GB \
    --resources-accelerator=type=nvidia-tesla-v100,count=4 \
    --plan 12-month \
    --reservation=reservation-01 \
    --reservation-zone=us-central1-a \
    --machine-type=n1-standard-16 \
    --accelerator=type=nvidia-tesla-v100,count=2 \
    --vm-count=2

vCPU とメモリを確約せずに、GPU またはローカル SSD のみを確約して予約する場合は、vCPU とメモリのコミットメント量に 0 を指定します。

gcloud compute commitments create commitment-01 \
    --region=us-west2 \
    --resources=vcpu=0,memory=0 \
    --resources-accelerator=type=nvidia-tesla-p4,count=1 \
    --plan 12-month \
    --reservation=reservation-01 \
    --reservation-zone=us-west2-b \
    --machine-type=n1-standard-2 \
    --accelerator=type=nvidia-tesla-p4,count=1 \
    --vm-count=1

コミットメントの購入時に複数の予約を作成するには、予約のプロパティを含む YAML ファイルを使用します。次に例を示します。

gcloud compute commitments create commitment-01 \
    --region=us-central1 \
    --resources=vcpu=96,memory=624,local-ssd=750 \
    --resources-accelerator=type=nvidia-tesla-v100,count=1 \
    --plan 12-month \
    --reservations-from-file=YAML_FILE

たとえば、次の YAML ファイルには 2 つの予約が含まれています。最初の予約 res-01 には 1 GPU を使用する 1 つの n1-standard-2 インスタンスが含まれています。また、これはターゲット予約であり、対象となる予約済みインスタンスを使用するには、明示的にその予約名を指定しなければならないことを意味します。2 番目の予約 res-02 には、2 種類のローカル SSD が接続された 1 つの n1-standard-2 VM インスタンスが設定されています。

‐ reservation: res-01
  reservation_zone: us-central1-a
  require_specific_reservation: true
  vm_count: 1
  machine_type: n1-standard-2
  accelerator:
  ‐ count: 1
    type: nvidia-tesla-v100
‐ reservation: res-02
  reservation_zone: us-central1-a
  vm_count: 1
  machine_type: n1-standard-2
  local_ssd:
  ‐ interface: scsi
    size: 375
  ‐ interface: nvme
    size: 375

API

regionCommitments.insert メソッドを使用して、reservations フィールドを指定し、予約のプロパティを定義します。たとえば、次のコミットメントでは 4 つの GPU を購入し、それらの GPU が us-central1-a の 2 つのインスタンスに使用されるよう予約しています。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments

{
  "name": "commitment-01",
  "plan": "TWELVE_MONTH",
  "resources":
  [
    {
      "amount": "96",
      "type": "VCPU"
    },
    {
      "amount": "638976",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-v100",
      "amount": "4",
      "type": "ACCELERATOR"
    }
  ],
  "reservations":
  [
    {
      "name": "reservation-01",
      "specificReservation":
      {
        "count": "2",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 2,
              "acceleratorType": "nvidia-tesla-v100"
            }
          ],
          "machineType": "n1-standard-8"
        }
      },
      "specificReservationRequired": false,
      "zone": "us-central1-a"
    }
  ]
}

vCPU とメモリを確約せずに、GPU またはローカル SSD のみを確約して予約する場合は、vCPU とメモリのコミットメント量に 0 を指定します。次に例を示します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments

{
  "name": "commitment-01",
  "plan": "TWELVE_MONTH",
  "resources":
  [
    {
      "amount": "0",
      "type": "VCPU"
    },
    {
      "amount": "0",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-v100",
      "amount": "4",
      "type": "ACCELERATOR"
    }
  ],
  "reservations":
  [
    {
      "name": "reservation-01",
      "specificReservation":
      {
        "count": "2",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 2,
              "acceleratorType": "nvidia-tesla-v100"
            }
          ],
          "machineType": "n1-standard-8"
        }
      },
      "specificReservationRequired": false,
      "zone": "us-central1-a"
    }
  ]
}

コミットメントが正常に作成されるのは、リクエストの時点で、ターゲット ゾーンに十分なリソースがあり、十分な割り当てがある場合のみです。

予約を追加してコミットメントを作成すると、そのコミットメントの期間中は予約を削除できません。コミットメントが期限切れになると、Compute Engine は関連付けられた予約を自動的に削除します。

確約した予約の間で GPU またはローカル SSD を移動する必要がある場合は、コミットメントに関連付けられている予約を変更するをご覧ください。

コミットメントに関連付けられている予約を変更する

GPU またはローカル SSD でコミットメントに 1 つ以上の予約がある場合、gcloud ツールや API を使用して GPU やローカル SSD を予約間で移動できます。たとえば、予約の GPU を新しい別の予約に移動できます。

制限事項:

  • リソースを移動できるのは 2 つの予約間に限られます。1 つの予約が移動元になり、もう 1 つの予約が移動先になります。移動元として新しい予約を設定することはできません。移動先の予約は新しい予約でもかまいません。
  • 移動元と移動先の予約は同じゾーンに存在している必要があります。
  • 予約間で既存のリソースを移動できますが、既存の予約のリソース プロパティを変更することはできません。
  • GPU とローカル SSD の合計量は一定でなければなりません。
  • リクエストごとに 100 個の VM まで変更できます。これ以上の変更が必要な場合は、API 呼び出しを複数回行うか、Google Cloud サポートまでお問い合わせください。
  • vCPU またはメモリは移送できません。また、関連付けられた予約の他のプロパティを変更することもできません。

gcloud

gcloud beta compute commitments update-reservations コマンドを使用します。

予約を 1 つ含むコミットメントを作成します。

  • res-1 には 4 個の n1-standard-2 インスタンスがあり、それぞれに 1 基の P100 GPU が搭載されています(4 基の vCPUsと 4 基の P100 GPU)。合計で 4 基の P100 GPU が予約されます。
gcloud beta compute commitments create my-commitment-with-reservations \
    --region=asia-east1 \
    --resources=vcpu=10,memory=32GB \
    --resources-accelerator=type=nvidia-tesla-p100,count=4 \
    --plan 12-month \
    --reservations-from-file=one-reservation.yaml

one-reservation.yaml ファイルには以下の項目が含まれます。

- reservation: res-1
  reservation_zone: asia-east1-a
  require_specific_reservation: true
  vm_count: 4
  machine_type: n1-standard-2
  accelerator:
  - count: 1
    type: nvidia-tesla-p100

コミットメントを更新して、一部のリソースを res-1 から新しい 2 番目の予約 res-2 に移動します。この例では次のようになります。

  • res-1 を変更し、2 基の P100 GPU を搭載する n1-standard-2 インスタンスを 2 個予約します(2 基の vCPU と 2 基の P100 GPU)。
  • res-2 を追加し、1 基の P100 GPU を搭載する n1-standard-2 インスタンスを 2 個予約します(4 基の vCPU と 2 基の P100 GPU)。

コミットメントで予約した GPU の合計数は 4 基のまま変わりません。

gcloud compute beta commitments update-reservations my-commitment-with-reservations \
    --region=us-central1 \
    --reservations-from-file=two-reservations.yaml

two-reservations.yaml ファイルには以下の項目が含まれます。

- reservation: res-1
  reservation_zone: asia-east1-a
  require_specific_reservation: true
  vm_count: 2
  machine_type: n1-standard-2
  accelerator:
  - count: 1
    type: nvidia-tesla-p100
- reservation: res-2
  reservation_zone: asia-east1-a
  require_specific_reservation: true
  vm_count: 2
  machine_type: n1-standard-2
  accelerator:
  - count: 1
    type: nvidia-tesla-p100

API

regionCommitments.updateReservations メソッドを使用します。

たとえば、次の予約を含むコミットメントを作成します。

  • res-1 には 4 個の n1-standard-2 インスタンスがあり、それぞれに 1 基の nvidia-tesla-p100 GPU が搭載されています(4 基の vCPU と 4 基の P100 GPU)。

この例では、合計で 4 基の P100 GPU が予約されます。

POST https://compute.googleapis.com/compute/beta/projects/my-project/regions/asia-east1/commitments/my-commitment-with-reservation/updateReservations

{
  "name": "my-commitment-with-reservation",
  "plan": "TWELVE_MONTH",
  "reservations":
  [
    {
      "name": "res-1",
      "specificReservation":
      {
        "count": "4",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 1,
              "acceleratorType": "nvidia-tesla-p100"
            }
          ],
          "machineType": "n1-standard-2"
        }
      },
      "specificReservationRequired": true,
      "zone": "asia-east1-a"
    }
  ],
  "resources":
  [
    {
      "amount": "10",
      "type": "VCPU"
    },
    {
      "amount": "32768",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-p100",
      "amount": "4",
      "type": "ACCELERATOR"
    }
  ]
}

コミットメントを更新して、一部のリソースを res-1 から新しい 2 番目の予約 res-2 に移動します。この例では次のようになります。

  • res-1 を変更し、2 基の P100 GPU を搭載する n1-standard-2 インスタンスを 2 個予約します(2 基の vCPU と 2 基の P100 GPU)。
  • res-2 を追加し、1 基の P100 GPU を搭載する n1-standard-2 インスタンスを 2 個予約します(4 基の vCPU と 2 基の P100 GPU)。

コミットメントで予約した GPU の合計数は 4 基のまま変わりません。

POST https://compute.googleapis.com/compute/beta/projects/my-project/regions/asia-east1/commitments/my-commitment-with-reservation/updateReservations

{
  "reservations":
  [
    {
      "name": "res-1",
      "specificReservation":
      {
        "count": "2",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 1,
              "acceleratorType": "nvidia-tesla-p100"
            }
          ],
          "machineType": "n1-standard-2"
        }
      },
      "specificReservationRequired": true,
      "zone": "asia-east1-a"
    },
    {
      "name": "res-2",
      "specificReservation":
      {
        "count": "2",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 1,
              "acceleratorType": "nvidia-tesla-p100"
            }
          ],
          "machineType": "n1-standard-2"
        }
      },
      "specificReservationRequired": true,
      "zone": "asia-east1-a"
    }
  ]
}

予約使用状況レポートの表示

エクスポート機能を使用すると、Compute Engine の使用状況レポートを Cloud Storage バケットにエクスポートできます。手順については、使用状況レポートを表示するをご覧ください。

使用状況レポートには次の情報が表示されます。

  • 使用中の予約済みリソース。通常の vCPU、メモリ、GPU、ローカル SSD リソースが表示されます。
  • 未使用の予約済みリソース。通常の SKU 名と予約リソースの URI が表示されます。
  • 予約済みリソースの合計。予約の SKU 名と予約リソースの URI が表示されます。これらのエントリに対して、費用は一切かかりません。これらのエントリから、使用している予約の量を計算します。
測定対象 MeasurementId 形式 Resource URI 形式
使用中の予約済みリソース com.google.cloud/services/compute-engine/SKU_NAME https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/RESOURCE_TYPE/RESOURCE_NAME.

例: https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/my-instance
未使用の予約済みリソース com.google.cloud/services/compute-engine/SKU_NAME https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME.

例: https://compute.googleapis.com/compute/v1/projects/my-project/zones/europe-west1-a/reservations/my-reservation
予約済みリソースの合計 com.google.cloud/services/compute-engine/ReservationSKU_NAME https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME.

例: https://compute.googleapis.com/compute/v1/projects/my-project/zones/europe-west1-a/reservations/my-reservation

たとえば、my-reservation という予約の使用状況レポートを見てみましょう。

  • 1 行目は、現在使用中の予約済み RAM を示しています。行の ResourceId は、この RAM が my-instance というインスタンスによって使用されていることを示しています。
  • 2 行目は、使用されていない予約済み RAM を示しています。行の ResourceId は、この予約済みの RAM が my-reservation によって保持され、どのインスタンスでも使用されていないことを示します。
  • 3 行目は、予約済み RAM の合計を示しています。
Report Date,MeasurementId,Quantity,Unit,Resource URI,ResourceId,Location
2019-06-06,com.google.cloud/services/compute-engine/VmimageN2StandardRam,166970074857472,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/instances/my-instance,1775485842510981624,us-central2-a
2019-06-06,com.google.cloud/services/compute-engine/VmimageN2StandardRam,166970074857472,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/reservations/my-reservation,7.58809E+17,us-central2-a
2019-06-06,com.google.cloud/services/compute-engine/ReservationN2StandardRam,333940149714944,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/reservations/my-reservation,7.58809E+17,us-central2-a
...

予約の課金

予約は、予約しているリソースと同じレートで課金されます。通常の VM と同様に、継続利用割引、確約利用割引、個別契約の料金が適用されます。

次の場合について考えてみましょう。

  • us-central1 で 3 基の vCPU のコミットメントを購入している
  • us-central1-a で 5 基の vCPU を使用している
  • us-central1-a で 10 基の vCPU を予約している

一部の確約利用割引のある予約

この場合、次のように課金されます。

対象 vCPU の数
確約利用割引の料金 3
オンデマンド料金(予約で使用されている 2 基の vCPU の使用料金 + 予約で未使用の 5 基の vCPU の使用料金) 7

次のステップ