承諾使用折扣 (CUD):只要購買 1 年期或 3 年期承諾使用合約 (亦稱為承諾使用量),即可享有 Compute Engine 資源的大幅折扣。您必須承諾達到最低資源用量或最低支出金額,才能獲得資源使用費用的 CUD。不過,承諾使用合約不會為承諾資源保留區域容量。如要以折扣價格取得可用區資源,並確保為這些資源保留足夠的容量,您必須同時完成下列兩項操作:購買承諾使用合約,以及為這些可用區資源建立保留項目。
本文說明如何接收保留資源的 CUD,以及如何將保留項目附加至依資源計算的承諾使用合約。
事前準備
- 請參閱預訂功能的基本資訊,以及相關規定和限制。詳情請參閱「 Compute Engine 可用區資源的預留項目」。
-
如果尚未設定,請先設定驗證機制。驗證是指驗證身分,以便存取 Google Cloud 服務和 API 的程序。如要在本機開發環境中執行程式碼或範例,您可以選取下列任一選項,向 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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
REST
To use the REST API samples on this page in a local development environment, you use the credentials you provide to the gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
For more information, see Authenticate for using REST in the Google Cloud authentication documentation.
-
預留資源的 CUD
您可以透過有效承諾,針對專案中的任何符合資格的資源用量獲得 CUD。如果您在該專案中也保留了任何資源容量,則有效承諾的 CUD 也適用於這些已保留的資源。任何已保留的資源,如要符合取得 CUD 的資格,必須符合下列規定:
- 您不會因資源用量而享有任何其他類型的折扣。
- 在承諾有效期間,您的 VM 必須使用預留容量。
至少必須在有效承諾與 VM 使用的預留空間之間,符合下列屬性:
- 適用的專案和區域
- 機器系列
視資源類型而定,您可以透過下列任一方式取得保留資源的 CUD:
vCPU 和記憶體:如要取得這兩種資源類型 (或其中一種) 的 CUD,您可以購買包含必要資源類型的資源承諾或支出承諾。當專案中的 VM 使用任何屬性符合此類有效承諾的保留項目時,這些資源類型的用量就會自動符合適用的 CUD 資格。
您可以為僅限資源的承諾啟用 CUD 共用功能。這樣一來,您就能從專案分享 CUD,涵蓋與該承諾 Cloud Billing 帳戶相關聯的其他專案的用量。
如果您預留的資源多於承諾購買的資源,則不會收到這些額外資源的 CUD。
GPU 和本機 SSD 磁碟:如要接收這兩種資源類型 (或其中一種) 的 CUD,您必須執行下列操作:
- 購買包含必要資源類型的依資源計算的承諾使用合約。
- 為所有已承諾的資源建立保留項目,並附加相符的屬性,然後將這些保留項目附加至承諾。
當專案中的 VM 使用這些已附加的保留項目時,您就會開始收到適用於這些類型預留資源的 CUD。如果您啟用 CUD 共用功能並附加共用預留項目,其他消費者專案的用量也可能符合共用 CUD 的資格。不過,如果其他專案的使用量符合資格,您必須將保留項目的共用範圍限制在承諾的 Cloud Billing 帳戶內。
將預留項目附加至依資源計算的承諾
您可以將保留項目附加至任何依資源計算的承諾,確保在特定區域保留您打算使用的承諾資源容量。您可以將多個保留項目附加至單一承諾,但保留項目只能附加至單一承諾。購買承諾產品後,您可以透過下列任一方式將預留項目附加至該承諾產品:
- 使用屬性與承諾相符的現有預留項目
- 在購買承諾時建立新的相符預訂
購買附加保留項目的承諾使用合約後,只要承諾處於有效狀態,保留項目就會保持有效。承諾到期後,Compute Engine 就會自動刪除所有附加的保留項目。刪除這些保留項目不會影響任何使用這些保留項目的執行中的 VM。執行中的 VM 會繼續執行,且您仍須為這些 VM 支付費用。
不需要附加預留項目的已提交資源
您不必為承諾的 vCPU 和記憶體附加相應的保留項目。不過,如果您購買的承諾使用合約包含 vCPU、記憶體或二者,您仍可以選擇附加指定這些資源的預留作業。如要瞭解如何只購買 vCPU、記憶體或二者,且不附加保留項目,請參閱「購買不附加保留項目的承諾使用合約」。
需要附加預留項目的承諾資源
承諾使用 GPU 和本機 SSD 磁碟 (C4A 執行個體的本機鈦合金 SSD 磁碟除外) 時,您必須將相符的保留項目附加至承諾。購買包含任何 GPU、本機 SSD 磁碟或兩者的承諾使用合約時,您也必須保留這些資源,並將保留項目附加至承諾使用合約。您可以使用單一預訂或多個預訂來執行這項操作。購買這類承諾產品時,您也可以加入 vCPU、記憶體或二者。不過,您不需要保留這些 vCPU 或記憶體。
如要瞭解如何購買 GPU 承諾使用合約,請參閱下列任一資源:
- 如要搭配 A3 Ultra 或 A4 機器類型使用,請參閱 AI 超級電腦說明文件中的「要求容量」。
- 如要搭配所有其他機器類型使用,請參閱本文件中的附帶保留訂單的購買承諾。
如要瞭解如何購買本機 SSD 磁碟的承諾產品,請參閱本文件中的購買附加保留項目的承諾產品。
如要查看支援 GPU 和本機 SSD 磁碟 CUD 的機器系列完整清單,請參閱資源型 CUD 說明文件中的「硬體承諾類型」一節。
附加預留項目中允許的資源數量
針對 vCPU 和記憶體,您可以附加保留項目,指定比您承諾的資源多或少的資源數量。如果您承諾使用比預留項目還要多的 vCPU 或記憶體,Compute Engine 只會為這些預留資源保留容量。不過,您仍可視所在區域的情況使用額外承諾資源。如果您保留的 vCPU 或記憶體多於承諾使用量,則不會收到保留額外資源的 CUD。
舉例來說,如果您購買 4 個 vCPU 和 30 GB 記憶體的承諾,可以選擇執行下列任一操作:
- 完全不加入任何預留項目。
附加保留,指定這些資源類型的任意組合,例如:
- 4 個 vCPU 和 30 GB 記憶體
- 2 個 vCPU 和 50 GB 記憶體
- 10 個 vCPU 和 10 GB 記憶體
不過,如果承諾使用合約包含任何 GPU、本機 SSD 磁碟或兩者皆有,您必須保留並附加所有這些資源。您附加的預留項目必須指定要承諾的 GPU 和本機 SSD 磁碟的確切數量和類型。因此,您也無法在已連結的保留項目中新增任何其他 GPU 或本機 SSD 磁碟數量或類型。
舉例來說,假設您購買 30 GB 記憶體和 4 個 NVIDIA P100 GPU 的承諾。附加的保留項目 (或附加保留項目的組合) 可以指定任意數量的 vCPU 或記憶體,但必須確切包含 4 個 NVIDIA P100 類型的 GPU。在這個範例中,您無法附加指定下列資源組合的預訂:
- 6 個 NVIDIA P100 GPU
- 2 個 NVIDIA P100 GPU
- 4 個 NVIDIA P100 GPU 和 2 個 NVIDIA V100 GPU
- 4 個 NVIDIA P100 GPU 和 4 個本機 SSD 磁碟
購買附加保留項目的承諾使用合約
購買新承諾產品時,您可以透過下列任一方式將預訂項目附加至承諾產品:
購買承諾產品後,承諾產品會在隔天凌晨 12 點 (美國和加拿大太平洋時間,即 UTC-8,或日光節約時間實行期間的 UTC-7) 生效。
購買承諾使用合約後到啟用之前,合約狀態會維持為 NOT_YET_ACTIVE
(或 Google Cloud 控制台的 PENDING
)。啟用之後,承諾使用合約的狀態會變更為 ACTIVE
。
舉例來說,假設您在 1 月 20 日美國和加拿大太平洋時間 (UTC-8 或 UTC-7) 晚上 10 點購買承諾,Compute Engine 會立即建立承諾,並將其狀態設為 NOT_YET_ACTIVE
。不過,您的承諾只會在 1 月 21 日美國和加拿大太平洋時間 (UTC-8 或 UTC-7) 凌晨 12 點變成 ACTIVE
。
需求條件
購買附帶預訂的承諾前,請詳閱下列規定,並確認承諾和預訂符合下列條件:
- 您必須在相同的專案和區域中購買承諾產品,並建立相關保留項目。
- 您必須購買承諾,並為相同機器系列建立附加的保留項目資源。
- 您必須停用附加預留項目的自動刪除選項。
- 如果承諾使用合約含有 GPU,則保留項目和承諾中指定的 GPU 類型必須一致。
針對 GPU 和本機 SSD 磁碟,每種資源類型的預留資源數量必須與該資源類型的承諾資源數量完全一致。不過,如果您購買 C4A 本機鈦合金 SSD 磁碟的承諾,則不適用這項規定。
舉例來說,如果您想購買 4 個 V100 GPU 和 2 個本機 SSD 的承諾,則承諾中附加的保留項目必須指定總共 4 個 V100 GPU 和 2 個本機 SSD。您預留的 vCPU 和記憶體數量可多於或少於您的承諾數量。不過,如果您購買 4 個 C4A vCPU 和 2 個本機 Titanium SSD 磁碟的承諾產品,則不必將任何保留項目附加至承諾。
針對 GPU,請購買您打算使用的特定 GPU 類型承諾產品。舉例來說,您可以針對 NVIDIA P100 或 NVIDIA V100 購買承諾產品,但不能將購買 NVIDIA P100 GPU 的承諾產品套用至 NVIDIA V100 GPU。
如果您已連結的預留項目是共用預留項目,且您希望在承諾專案以外使用該預留項目時,能獲得適用的 CUD,則必須同時執行下列兩項操作:
- 僅在與承諾相同的 Cloud Billing 帳戶中,共用保留項目。
- 為該 Cloud Billing 帳戶啟用 CUD 共用功能。
加入現有預留項目
您可以使用 Google Cloud 控制台、Google Cloud CLI 或 REST,在購買承諾使用合約時附加現有的預留容量。
主控台
使用 Google Cloud 控制台購買承諾前,請先選取要用來購買承諾的專案。如果 Cloud Billing 帳戶已啟用 CUD 共用功能,您可以使用該 Cloud Billing 帳戶中的任何專案購買承諾。選取專案後,請按照下列步驟操作:
前往 Google Cloud 控制台的「Committed use discounts」(承諾使用折扣) 頁面。
如要購買承諾產品,請按一下
「購買承諾」。「購買承諾使用折扣」頁面會隨即開啟,並顯示「硬體」分頁。在「Name」 欄位中,輸入承諾名稱。
在「Region」(區域) 欄位中,選取要提交至 Compute Engine 資源的區域。
在「Commitment type」欄位中,選取已承諾資源的機器系列。下列承諾類型提供 GPU、本機 SSD 磁碟或兩者的選項:
- 適用於 A2 機器類型資源的加速器最佳化 A2
- 適用於 A3 Edge 和 A3 High 機型資源的加速器最佳化 A3
- 加速器最佳化 A3 Mega (適用於 A3 Mega 機器類型資源)
- 適用於 C2 機器類型資源的運算最佳化 C2
- 適用於 C2D 機器類型資源的運算最佳化 C2D
- 適用於 C3 機器類型資源的一般用途 C3
- 適用於 C3D 機器類型資源的一般用途 C3D
- 一般用途 N1:適用於 N1 機器類型資源
- 適用於 N2 機器類型資源的 一般用途 N2
- 適用於 N2D 機器資源的一般用途 N2D
- 圖形最佳化 G2 (適用於 G2 機器類型資源)
- 記憶體最佳化 M3 (適用於 M3 機器類型資源)
- 適用於 Z3 機器類型資源的儲存空間最佳化 Z3
在「Duration」部分執行下列步驟:
- 如要指定承諾方案,請選取「1 年」或「3 年」。這項設定會決定承諾的預設期限長度。
選用設定。如要為承諾指定自訂期限,請按一下「延長結束日期」切換鈕,然後在「日期」欄位中指定自訂結束日期。詳情請參閱「延長承諾使用合約的期限」。
在「Cores」欄位中,輸入要提交的 vCPU 數量。
在「Memory」欄位中,輸入要提交的記憶體大小 (以 GB 為單位)。
如要承諾使用 GPU,請在「GPU」部分按一下
「新增 GPU」,然後執行下列操作:- 在「GPU type」欄位中,選取 GPU 類型。
- 在「GPU 數量」欄位中輸入 GPU 數量。
- 選用:如果 GPU 型號支援適用於圖形工作負載的 NVIDIA RTX 虛擬工作站 (vWS),且您打算執行需要大量圖形的工作負載,請選取「啟用虛擬工作站 (NVIDIA GRID)」核取方塊。
如要承諾本機 SSD 磁碟,請在「本機 SSD」部分中按一下
「新增 SSD」,然後在「SSD 數量」欄位中指定磁碟數量。如要將一或多個現有預留項目加入承諾,請在「預留」欄位中選取「加入現有預留項目」。
Google Cloud 主控台會顯示專案中所有預訂項目的清單,這些預訂項目的地區、機器類型和 GPU 類型都與承諾相符。接著,請按照下列步驟操作:
- 選用設定。如要查看含有特定屬性的預訂,請在「篩選」選單中,為所需屬性新增或移除篩選器。
- 選取要附加至承諾的所有預訂。
如要完成購買附加預留項目的承諾使用合約,請執行下列操作:
- 按一下「購買」。
- 在「購買承諾使用折扣」對話方塊中,如果您同意服務特定條款,請再次按一下「購買」。
gcloud
如要透過附加現有保留項目來購買承諾,請執行 gcloud compute commitments create
指令。在指令中加入 --existing-reservation
旗標,指定要附加至承諾的現有預訂。針對您要附加的每個現有保留項目,加入此旗標的新例項。您可以將任意數量的現有預訂項目加入承諾。
例如,如要透過附加兩個保留項目來購買承諾,請執行下列指令:
gcloud compute commitments create COMMITMENT_NAME \ --region=REGION \ --project=PROJECT_ID \ --resources=vcpu=COMMITTED_VCPUS,memory=COMMITTED_MEMORY,local-ssd=COMMITTED_LOCAL_SSD \ --resources-accelerator=count=COMMITTED_ACCELERATOR_COUNT,type=COMMITTED_ACCELERATOR_TYPE \ --plan=DURATION \ --type=COMMITMENT_TYPE \ --custom-end-time=CUSTOM_END_DATE \ --existing-reservation=name='RESERVATION_NAME_1',zone='RESERVATION_ZONE_1' \ --existing-reservation=name='RESERVATION_NAME_2',zone='RESERVATION_ZONE_2'
更改下列內容:
COMMITMENT_NAME
:承諾產品名稱。REGION
:承諾產品所在的區域。PROJECT_ID
:您要購買附加保留項目的承諾使用合約所在專案的 ID。DURATION
:承諾期間,可為12-month
或36-month
。CUSTOM_END_DATE
:選用。檔期自訂結束日期,格式必須為YYYY-MM-DD
。舉例來說,如要指定 2024 年 4 月 20 日的自訂結束日期,請將格式設為2024-04-20
。COMMITMENT_TYPE
:承諾產品類型。下列承諾類型提供 GPU、本機 SSD 磁碟或兩者的選項:accelerator-optimized
(適用於 A2 機器類型資源)accelerator-optimized-a3
(適用於 A3 Edge 和 A3 High 機型資源)accelerator-optimized-a3-mega
適用於 A3 Mega 機器類型資源compute-optimized
(適用於 C2 機器類型資源)compute-optimized-c2d
(適用於 C2D 機器類型資源)compute-optimized-c3
(適用於 C3 機型資源)compute-optimized-c3d
(適用於 C3D 機器類型資源)general-purpose
:適用於 N1 機器類型資源general-purpose-n2
:適用於 N2 機器類型資源general-purpose-n2d
(適用於 N2D 機器資源)graphics-optimized
(適用於 G2 機器類型資源)memory-optimized-m3
(適用於 M3 機型資源)storage-optimized-z3
:適用於 Z3 機器類型資源
COMMITTED_VCPUS
:您在承諾中想要的 vCPU 數量。數字必須為正整數。COMMITTED_MEMORY
:您在承諾中所需的記憶體大小 (以 MB 或 GB 為單位)。例如10240MB
或10GB
。如果您未指定單位,Compute Engine 會使用 GB 做為單位。您可以以 0.25 GB 為單位購買記憶體。COMMITTED_LOCAL_SSD
:您在承諾中所需的本機 SSD 空間大小 (以 GB 為單位)。每個本機 SSD 磁碟的容量為 375 GB。COMMITTED_ACCELERATOR_COUNT
:您在承諾中想要的 GPU 數量。COMMITTED_ACCELERATOR_TYPE
:您在承諾中想要的 GPU 類型。RESERVATION_NAME_1
和RESERVATION_NAME_2
:您要附加至承諾的現有預訂名稱。RESERVATION_ZONE_1
和RESERVATION_ZONE_2
:您要附加至承諾的現有保留項目區域。
範例:透過附加現有預留項目來購買承諾
假設您在專案 myproject
的 us-central1-a
和 us-central1-b
區域中,有兩個預留項目 res-01
和 res-02
。假設這些保留項目的總容量可容納 4 個 NVIDIA P100 GPU 和 4 個本機 SSD 磁碟。如要在這個專案的 us-central1
區域為這些 GPU 和本機 SSD 磁碟購買新的承諾,並使用這些現有保留項目做為附加保留項目,請執行下列指令。請注意,範例承諾中也包含 vCPU 和記憶體。
gcloud compute commitments create commitment-01 \ --region=us-central1 \ --project=myproject \ --resources=vcpu=96,memory=624GB,local-ssd=1500 \ --resources-accelerator=type=nvidia-tesla-p100,count=4 \ --plan 12-month \ --existing-reservation=name=res-01,zone=us-central1-a \ --existing-reservation=name=res-02,zone=us-central1-b
REST
如要透過附加現有保留項目來購買承諾,請對 regionCommitments.insert
方法發出 POST
要求。在要求中加入 existingReservations
欄位,以逗號分隔的清單形式指定您要附加至承諾的所有現有預訂。您可以將任意數量的現有預訂項目附加至承諾。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments { "name": "COMMITMENT_NAME", "plan": "DURATION", "type": COMMITMENT_TYPE, "resources": [ { "amount": "COMMITTED_VCPUS", "type": "VCPU" }, { "amount": "COMMITTED_MEMORY", "type": "MEMORY" }, { "acceleratorType": "COMMITTED_ACCELERATOR_TYPE", "amount": "COMMITTED_ACCELERATOR_COUNT", "type": "ACCELERATOR" } { "amount": "COMMITTED_LOCAL_SSD", "type": "LOCAL_SSD" } ], "customEndTimestamp": "CUSTOM_END_DATETEND_TIMEZ", "existingReservations": "RESERVATION_URLs" }
更改下列內容:
COMMITMENT_NAME
:承諾產品名稱。REGION
:承諾產品所在的區域。PROJECT_ID
:您要購買附加保留項目的承諾使用合約所在專案的 ID。DURATION
:承諾期間,可為TWELVE_MONTH
或THIRTY_SIX_MONTH
。COMMITMENT_TYPE
:承諾產品類型。下列承諾類型提供 GPU、本機 SSD 磁碟或兩者的選項:ACCELERATOR_OPTIMIZED
(適用於 A2 機器類型資源)ACCELERATOR_OPTIMIZED_A3
(適用於 A3 Edge 和 A3 High 機型資源)ACCELERATOR_OPTIMIZED_A3_MEGA
適用於 A3 Mega 機器類型資源COMPUTE_OPTIMIZED
(適用於 C2 機器類型資源)COMPUTE_OPTIMIZED_C2D
(適用於 C2D 機器類型資源)COMPUTE_OPTIMIZED_C3
(適用於 C3 機型資源)COMPUTE_OPTIMIZED_C3D
(適用於 C3D 機器類型資源)GENERAL_PURPOSE
:適用於 N1 機器類型資源GENERAL_PURPOSE_N2
:適用於 N2 機器類型資源GENERAL_PURPOSE_N2D
(適用於 N2D 機器資源)GRAPHICS_OPTIMIZED
(適用於 G2 機器類型資源)MEMORY_OPTIMIZED_M3
(適用於 M3 機型資源)STORAGE_OPTIMIZED_Z3
:適用於 Z3 機器類型資源
COMMITTED_VCPUS
:您在承諾中想要的 vCPU 數量。數字必須為正整數。COMMITTED_MEMORY
:您在承諾中所需的記憶體大小 (以 MB 為單位)。例如,10240MB
。您可以以 256 MB 為單位購買記憶體。COMMITTED_LOCAL_SSD
:您在承諾中所需的本機 SSD 儲存空間大小 (以 GB 為單位)。每個本機 SSD 磁碟的容量為 375 GB。COMMITTED_ACCELERATOR_COUNT
:您在承諾中想要的 GPU 數量。COMMITTED_ACCELERATOR_TYPE
:您在承諾中想要的 GPU 類型。CUSTOM_END_DATE
:選用。自訂的學期結束日期,格式必須為YYYY-MM-DD
。舉例來說,如要指定 2024 年 4 月 20 日的自訂結束日期,請將格式設為2024-04-20
。END_TIME
:美國和加拿大太平洋時間 (UTC-8 或 UTC-7),以世界標準時間 (UTC) 為基準。只有在您為承諾指定自訂結束日期時,才需要指定這個值。請指定下列其中一個值:- 在日光節約時間期間:
07:00:00
- 其他時間:
08:00:00
- 在日光節約時間期間:
RESERVATION_URLs
:以半形逗號分隔的清單,當中列有要附加至承諾的現有預訂項目網址。舉例來說,如要附加兩個保留項目res-1
和res-2
,請指定下列項目:"https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations/example-res-1", "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-c/reservations/example-res-2"
範例:透過附加現有預留項目來購買承諾
假設您在專案 myproject
的 us-central1-a
和 us-central1-b
區域中,有兩個預留項目 res-01
和 res-02
。假設這些保留項目的總容量可容納 4 個 NVIDIA P100 GPU 和 4 個本機 SSD 磁碟。如要在這個專案的 us-central1
區域為這些 GPU 和本機 SSD 磁碟購買新的承諾,並將這些現有保留項目用作附加保留項目,請提出下列 POST
要求。請注意,範例承諾也包含 vCPU 和記憶體。
POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments { "name": "commitment-01", "plan": "TWELVE_MONTH", "type": "GENERAL_PURPOSE" "resources": [ { "amount": "96", "type": "VCPU" }, { "amount": "638976", "type": "MEMORY" }, { "acceleratorType": "nvidia-tesla-p100", "amount": "4", "type": "ACCELERATOR" }, { "amount": "1536000", "type": "LOCAL_SSD" } ], "existingReservations": [ "https://www.googleapis.com/compute/v1/projects/my-project/zone/us-central1-a/reservations/res-01", "https://www.googleapis.com/compute/v1/projects/my-project/zone/us-central1-b/reservations/res-02" ] }
建立要附加的新保留項目
您可以使用 Google Cloud 控制台、Google Cloud CLI 或 REST,在購買承諾產品時建立附加的保留項目。
主控台
使用 Google Cloud 控制台購買承諾前,請先選取要用來購買承諾的專案。如果 Cloud Billing 帳戶已啟用 CUD 共用功能,您可以使用該 Cloud Billing 帳戶中的任何專案購買承諾。選取專案後,請按照下列步驟操作:
前往 Google Cloud 控制台的「Committed use discounts」(承諾使用折扣) 頁面。
如要購買承諾產品,請按一下
「購買承諾」。「購買承諾使用折扣」頁面會隨即開啟,並顯示「硬體」分頁。在「Name」 欄位中,輸入承諾名稱。
在「Region」(區域) 欄位中,選取要提交至 Compute Engine 資源的區域。
在「Commitment type」欄位中,選取已承諾資源的機器系列。下列承諾類型提供 GPU、本機 SSD 磁碟或兩者的選項:
- 適用於 A2 機器類型資源的加速器最佳化 A2
- 適用於 A3 Edge 和 A3 High 機型資源的加速器最佳化 A3
- 加速器最佳化 A3 Mega (適用於 A3 Mega 機器類型資源)
- 適用於 C2 機器類型資源的運算最佳化 C2
- 適用於 C2D 機器類型資源的運算最佳化 C2D
- 適用於 C3 機器類型資源的一般用途 C3
- 適用於 C3D 機器類型資源的一般用途 C3D
- 一般用途 N1:適用於 N1 機器類型資源
- 適用於 N2 機器類型資源的 一般用途 N2
- 適用於 N2D 機器資源的一般用途 N2D
- 圖形最佳化 G2 (適用於 G2 機器類型資源)
- 記憶體最佳化 M3 (適用於 M3 機器類型資源)
- 適用於 Z3 機器類型資源的儲存空間最佳化 Z3
在「期限」中,選擇「1 年」或「3 年」做為承諾的期限。
在「Cores」欄位中,輸入要提交的 vCPU 數量。
在「Memory」欄位中,輸入要提交的記憶體大小 (以 GB 為單位)。
如要承諾使用 GPU,請在「GPU」部分按一下
「新增 GPU」,然後執行下列操作:- 在「GPU type」欄位中,選取 GPU 類型。
- 在「GPU 數量」欄位中輸入 GPU 數量。
- 選用:如果 GPU 型號支援適用於圖形工作負載的 NVIDIA RTX 虛擬工作站 (vWS),且您打算執行需要大量圖形的工作負載,請選取「啟用虛擬工作站 (NVIDIA GRID)」核取方塊。
如要承諾本機 SSD 磁碟,請在「本機 SSD」部分中按一下
「新增 SSD」,然後在「SSD 數量」欄位中指定磁碟數量。如要建立新的保留項目並附加至承諾,請在「Reservations」欄位中選取「Create reservations」,然後執行下列操作。針對您要建立及附加的每個新預訂重複執行此步驟。
- 按一下「新增預訂」。系統會顯示「New reservation」部分。
- 在「名稱」欄位中,輸入已連結預訂的名稱。
- 在「Region」欄位中,選取與承諾相同的地區。
- 在「Zone」(可用區) 欄位中,選取要保留資源的可用區。
在「分享類型」部分,指定您要如何分享此預訂,可使用下列任一方式:
- 如要建立單一專案的預留項目,請選取「本機」。
- 如要建立與多個專案共用的預留項目,請選取「共用」。接著,如要指定要與哪些專案共用這項預訂,請按一下 「新增專案」,然後從目前專案的機構中選取所需專案。
在「Use with VM instance」(搭配 VM 執行個體使用) 欄位中,選取 VM 使用保留項目的方式,可選取下列任一選項:
- 如要讓屬性相符的 VM 自動使用這個預留項目,請按一下「Use reservation automatically」(預設)。
- 如要只在建立相符屬性 (明確指定這個保留項目名稱) 的 VM 時使用這個保留項目的資源,請按一下「Select specific reservation」(選取特定保留項目)。
在「Resource details」(資源詳細資料) 專區,執行下列操作:
- 在「VM 執行個體數量」欄位中,輸入要保留的 VM 執行個體數量。
在「機器設定」部分,使用下列任一方式指定保留 VM 的屬性:
如要使用現有的執行個體範本指定 VM 的屬性,請選取「使用執行個體範本」。
在「Instance template」欄位中,選取與承諾相同機器系列的執行個體範本。如果您選取區域執行個體範本,該執行個體範本的區域也必須與承諾中指定的區域相符。
如要手動指定 VM 的屬性,請選取「Select machine type」(選取機器類型),然後執行下列操作:
選取適用於您為承諾指定的機器系列的機器家族:
- General purpose:適用於一般用途機器系列
- 運算最佳化:適用於運算最佳化機器系列
- 針對記憶體最佳化機器系列,使用記憶體最佳化
- GPU (加速器最佳化機器系列)
在含有「Series」欄的表格中,選取您在承諾中指定的機器系列。
在「Machine type」(機器類型) 欄位中,使用下列任一方式指定預先定義或自訂機器類型:
- 如要選擇預先定義的機器類型,請選取「預設」,然後選取所需的機器類型。
- 如要選擇自訂機器類型,請選取「自訂」,然後指定所需的「核心」和「記憶體」。
如要指定最低 CPU 平台、GPU 或兩者,請展開
「CPU 平台和 GPU」選單,然後執行下列操作:- 選用:如要指定最低 CPU 平台,請在「CPU 平台」清單中選取所需選項。
選用步驟:如要保留 GPU,請按一下
「新增 GPU」。接著,在「GPU 類型」和「GPU 數量」欄位中,選取每個 VM 的 GPU 類型和數量。
如要保留本機 SSD 磁碟,請按照下列步驟操作:
- 在「磁碟數量」欄位中,選取每個 VM 所需的本機 SSD 磁碟數量。
- 在「介面類型」欄位中,選取本機 SSD 磁碟的介面。
如要完成指定此預訂房源的屬性,請按一下「完成」。
如要完成購買附加預留項目的承諾使用合約,請執行下列操作:
- 按一下「購買」。
- 在「購買承諾使用折扣」對話方塊中,如果您同意服務特定條款,請再次按一下「購買」。
gcloud
如要在購買承諾產品時建立附加的保留項目,請執行 gcloud compute commitments create
指令。
視您要附加單一預訂還是多個預訂而定,請以下列任一方式執行指令:
如要建立並附加單一保留項目至承諾,請執行下列指令,定義附加保留項目的屬性:
gcloud compute commitments create COMMITMENT_NAME \ --region=REGION \ --project=PROJECT_ID \ --plan DURATION \ --type COMMITMENT_TYPE --resources=vcpu=COMMITTED_VCPUS,memory=COMMITTED_MEMORY,local-ssd=COMMITTED_LOCAL_SSD \ --resources-accelerator=count=COMMITTED_ACCELERATOR_COUNT,type=COMMITTED_ACCELERATOR_TYPE \ --custom-end-time=CUSTOM_END_DATE \ --reservation=RESERVATION_NAME \ --reservation-zone=RESERVATION_ZONE \ --machine-type=RESERVED_MACHINE_TYPE \ --require-specific-reservation=REQUIRE_SPECIFIC_RESERVATION_VALUE \ --vm-count=NUMBER_OF_RESERVED_VMs \ --accelerator=type=RESERVED_ACCELERATOR_TYPE,count=RESERVED_ACCELERATOR_COUNT \ --local-ssd=interface=INTERFACE_1,size=375 \ --local-ssd=interface=INTERFACE_2,size=375 \ --minimum-cpu-platform=MINIMUM_CPU_PLATFORM \ --share-setting=SHARE_SETTING \ --share-with=CONSUMER_PROJECT_ID_1,CONSUMER_PROJECT_ID_2
如要建立並附加多個保留項目至承諾,請使用 YAML 檔案定義保留項目的屬性,然後在用於購買承諾的指令中指定該 YAML 檔案。您也可以使用這個 YAML 檔案方法,為承諾建立及附加單一保留項目。如要使用這個方法建立附加的預訂,請按照下列步驟操作:
在目前目錄中建立 YAML 檔案,並指定每個已附加的預留項目所需的設定。舉例來說,如要指定與兩個專案共用的共用保留項目設定,其中指定 GPU、兩個本機 SSD 磁碟和最低 CPU 平台,請在 YAML 檔案中加入以下文字:
- reservation: RESERVATION_NAME reservation_zone: RESERVATION_ZONE require_specific_reservation: REQUIRE_SPECIFIC_RESERVATION_VALUE vm_count: NUMBER_OF_RESERVED_VMs machine_type: RESERVED_MACHINE_TYPE accelerator: - count: RESERVED_ACCELERATOR_COUNT type: RESERVED_ACCELERATOR_TYPE localssd: - interface: INTERFACE_1 size: 375 - interface: INTERFACE_2 size: 375 project: OWNER_PROJECT_ID minimum-cpu-platform: MINIMUM_CPU_PLATFORM share-setting: SHARE_SETTING share-with: - CONSUMER_PROJECT_ID_1 - CONSUMER_PROJECT_ID_2
如要指定多個預訂的設定,請針對每個要建立的預訂重複這些屬性。您可以將任意數量的現有預訂項目附加至承諾。
執行
gcloud compute commitments create
指令並加入--reservation-from-file
旗標。gcloud compute commitments create COMMITMENT_NAME \ --region REGION \ --project PROJECT_ID \ --plan DURATION \ --type COMMITMENT_TYPE \ --resources=vcpu=COMMITTED_VCPUS,memory=COMMITTED_MEMORY,local-ssd=COMMITTED_LOCAL_SSD \ --resources-accelerator=count=COMMITTED_ACCELERATOR_COUNT,type=COMMITTED_ACCELERATOR_TYPE \ --reservations-from-file=YAML_FILE
請將下列內容替換為承諾和附加預訂的對應屬性:
承諾使用合約
COMMITMENT_NAME
:承諾產品名稱。REGION
:承諾產品所在的區域。PROJECT_ID
:您要購買附加保留項目的承諾使用合約所在專案的 ID。DURATION
:承諾期間,可為12-month
或36-month
。CUSTOM_END_DATE
:選用。檔期自訂結束日期,格式必須為YYYY-MM-DD
。舉例來說,如要指定 2024 年 4 月 20 日的自訂結束日期,請將格式設為2024-04-20
。COMMITMENT_TYPE
:承諾產品類型。下列承諾類型提供 GPU、本機 SSD 磁碟或兩者的選項:accelerator-optimized
(適用於 A2 機器類型資源)accelerator-optimized-a3
(適用於 A3 Edge 和 A3 High 機型資源)accelerator-optimized-a3-mega
適用於 A3 Mega 機器類型資源compute-optimized
(適用於 C2 機器類型資源)compute-optimized-c2d
(適用於 C2D 機器類型資源)compute-optimized-c3
(適用於 C3 機型資源)compute-optimized-c3d
(適用於 C3D 機器類型資源)general-purpose
:適用於 N1 機器類型資源general-purpose-n2
:適用於 N2 機器類型資源general-purpose-n2d
(適用於 N2D 機器資源)graphics-optimized
(適用於 G2 機器類型資源)memory-optimized-m3
(適用於 M3 機型資源)storage-optimized-z3
:適用於 Z3 機器類型資源
COMMITTED_VCPUS
:您在承諾中想要的 vCPU 數量。數字必須為正整數。COMMITTED_MEMORY
:您在承諾中所需的記憶體大小 (以 MB 或 GB 為單位)。例如10GB
或10240MB
。如果您未指定單位,Compute Engine 會使用 GB 做為單位。您可以以 0.25 GB 為單位購買記憶體。COMMITTED_LOCAL_SSD
:您在承諾中所需的本機 SSD 儲存空間大小 (以 GB 為單位)。每個本機 SSD 磁碟的容量為 375 GB。COMMITTED_ACCELERATOR_COUNT
:您在承諾中想要的 GPU 數量。COMMITTED_ACCELERATOR_TYPE
:您在承諾中所需的 GPU 類型。YAML_FILE
:包含已附加保留項目的設定的 YAML 檔案路徑。
附加的預留項目
RESERVATION_NAME
:已附加的預留項目名稱。RESERVATION_ZONE
:已連結預留空間的可用區。REQUIRE_SPECIFIC_RESERVATION_VALUE
:指定所附保留項目是否為特定指定保留項目,可為true
或false
。如要進一步瞭解指定目標的預留,請參閱「預留的運作方式」。NUMBER_OF_RESERVED_VMS
:您要在附加預留項目中預留的 VM 數量。RESERVED_MACHINE_TYPE
:您希望附加預留空間中的 VM 採用的機器類型。- 如果是預先定義的機器類型,請使用
MACHINE_FAMILY-standard-CPUS
格式,例如n2-standard-4
。 如果是自訂機器類型,請使用
MACHINE_FAMILY-custom-CPUS-MEMORY
格式,例如n2-custom-4-5120
。如需相關限制的完整清單,請參閱自訂機器類型的規格。更改下列內容:
MACHINE_FAMILY
:機器類型系列;例如,針對 N2 VM 指定n2
。CPUS
:vCPU 數量。MEMORY
:保留 VM 的總記憶體。記憶體必須是 256 MB 的倍數,且須以 MB 為單位來提供,例如,如要建立具有 4 個 vCPU 和 5 GB 記憶體 (即 5120 MB) 的 N2 VM,請使用n2-custom-4-5120
。
- 如果是預先定義的機器類型,請使用
RESERVED_ACCELERATOR_COUNT
:在已連結的預留空間中,每個 VM 要新增的 GPU 數量。RESERVED_ACCELERATOR_TYPE
:您要在附加的預訂中新增的加速器類型。INTERFACE_1
和INTERFACE_2
:您希望每個保留的 VM 使用的 Local SSD 磁碟介面類型。有效選項為:scsi
和nvme
。每個本機 SSD 磁碟的容量為 375 GB。針對要新增的每個本機 SSD 磁碟重複local_ssd
參數。您最多可以指定 24 個本機 SSD 磁碟。OWNER_PROJECT_ID
:您要購買附加預留項目的承諾所在專案的 ID。如果您想在多個消費者專案中共用已附加的預訂,請指定這個欄位。MINIMUM_CPU_PLATFORM
:您要為附加的保留項目指定的最低 CPU 平台。SHARE_SETTING
:已連結預訂的分享類型。如果您想在多個消費者專案中共用已附加的預留項目,請將這個欄位的值指定為projects
。如果您想建立單一專案的預留項目,請排除這個欄位。CONSUMER_PROJECT_ID_1
和CONSUMER_PROJECT_ID_2
:可共用此預留項目的專案專案 ID,例如project-1
和project-2
。您最多可以納入 100 個消費者專案。這些專案必須屬於與擁有者專案相同的機構。請勿加入建立這項保留作業的專案 ID,因為該專案預設可使用這項保留作業。如要建立單一專案預留項目,請排除這些欄位。
只有在目標區域中有足夠的指定機器類型資源,且在您提出要求時有足夠的配額時,Compute Engine 才會建立承諾產品和附加的保留項目。如果購買成功,您會看到類似以下的成功訊息:
Created[https://www.googleapis.com/compute/v1/projects/your-project/regions/your-region/commitments/your-commitment-name]
透過建立新的保留項目來建立購買承諾的示例
以下範例情境和指令說明如何購買 GPU 承諾產品、本機 SSD 磁碟,或兩者皆購買,並建立新的保留項目附加至該承諾。
範例 1:透過附加單一新保留項目,購買 GPU 承諾
假設您想在 us-central1
區域購買包含 4 個 NVIDIA V100 GPU 的承諾產品 commitment-01
。您想建立新的保留項目 reservation-01
,做為這些 GPU 的附加保留項目。假設您也想指定 Compute Engine 在 us-central1-a
區域的 2 部 n1-standard-32
VM 中使用這些保留的 GPU。如要購買這個示範承諾及其附加的保留項目,請執行下列指令:
gcloud compute commitments create commitment-01 \ --region=us-central1 \ --project=myproject \ --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-32 \ --accelerator=type=nvidia-tesla-v100,count=2 \ --vm-count=2
範例 2:購買 GPU 承諾產品,但不承諾使用 vCPU 或記憶體
如要承諾使用並預留 GPU 和本機 SSD 磁碟,而不承諾使用 vCPU 或記憶體,請將 0
指定為 vCPU 和記憶體數量的值。舉例來說,假設您想在 us-west2
區域購買單一 NVIDIA P4 GPU 的承諾 commitment-02
。您也需要建立新的保留項目做為附加保留項目,並指定 Compute Engine 在 us-west2-b
區域的 n1-standard-2
VM 上使用保留的 GPU。如要購買這個範例承諾及其附加的預留,請執行下列指令:
gcloud compute commitments create commitment-02 \ --region=us-west2 \ --project=myproject \ --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
範例 3:透過連結多個新保留項目,購買 GPU 和本機 SSD 磁碟的承諾產品
假設您想在 us-central1
區域購買 1 個 NVIDIA V100 GPU 和 2 個本機 SSD 硬碟的承諾 commitment-03
。您也想在 us-central1-a
區域中建立及附加兩個預訂項目。在第一個保留項目 res-01
中,您想保留 1 個 n1-standard-2
VM,並搭配 1 個 GPU。您想將 res-01
設為指定保留項目,這表示您必須明確指定該保留項目的名稱,才能使用其中的預留 VM。在第二個保留項目 res-02
中,您想保留 1 個 n1-standard-8
VM,並使用 2 種類型的附加本機 SSD 磁碟。
如要購買此示例承諾產品,並附上相關保留項目,請先建立 YAML 檔案,並加入兩個保留項目的屬性。
- 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-8 local_ssd: - interface: scsi size: 375 - interface: nvme size: 375
建立 YAML 檔案後,如要完成購買承諾產品及其附加的保留項目,請執行下列指令。請注意,範例承諾也包含 vCPU 和記憶體資源。
gcloud compute commitments create commitment-03 \ --region=us-central1 \ --project=myproject \ --resources=vcpu=96,memory=624,local-ssd=750 \ --resources-accelerator=type=nvidia-tesla-v100,count=1 \ --plan 12-month \ --reservations-from-file=YAML_FILE
REST
如要在購買承諾產品時建立附加的保留項目,請對 regionCommitments.insert
方法發出 POST
要求。在要求中加入 reservations
欄位,即可定義您要建立及附加的所有新預訂項目清單。您可以將任意數量的現有預留項目附加至承諾。
如要透過手動指定所有 VM 屬性來建立新的保留項目,請加入
instanceProperties
欄位並排除sourceInstanceTemplate
欄位。舉例來說,如要手動指定與兩個專案共用的共用預留項目設定,其中指定了 GPU、兩個本機 SSD 磁碟和最低 CPU 平台,請提出以下要求:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments { "name": "COMMITMENT_NAME", "plan": "DURATION", "type": COMMITMENT_TYPE, "resources": [ { "amount": "COMMITTED_VCPUS", "type": "VCPU" }, { "amount": "COMMITTED_MEMORY", "type": "MEMORY" }, { "acceleratorType": "COMMITTED_ACCELERATOR_TYPE", "amount": "COMMITTED_ACCELERATOR_COUNT", "type": "ACCELERATOR" } { "amount": "COMMITTED_LOCAL_SSD", "type": "LOCAL_SSD" } ], "customEndTimestamp": "CUSTOM_END_DATETEND_TIMEZ", "reservations": [ { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_RESERVED_VMS", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": "RESERVED_ACCELERATOR_COUNT", "acceleratorType": "RESERVED_ACCELERATOR_TYPE" } ], "localSsds": [ { "diskSizeGb": "375", "interface": "RESERVED_INTERFACE_1" }, { "diskSizeGb": "375", "interface": "RESERVED_INTERFACE_2" } ], "machineType": "RESERVED_MACHINE_TYPE", "minCpuPlatform": "MINIMUM_CPU_PLATFORM" } }, "specificReservationRequired": REQUIRE_SPECIFIC_RESERVATION_VALUE", "zone": "RESERVED_ZONE", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } } } ] }
如要透過指定執行個體範本建立新的預留項目,請加入
sourceInstanceTemplate
欄位並排除instanceProperties
欄位。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments { "name": "COMMITMENT_NAME", "plan": "DURATION", "type": COMMITMENT_TYPE, "resources": [ { "amount": "COMMITTED_VCPUS", "type": "VCPU" }, { "amount": "COMMITTED_MEMORY", "type": "MEMORY" }, { "acceleratorType": "COMMITTED_ACCELERATOR_TYPE", "amount": "COMMITTED_ACCELERATOR_COUNT", "type": "ACCELERATOR" } { "amount": "COMMITTED_LOCAL_SSD", "type": "LOCAL_SSD" } ], "customEndTimestamp": "CUSTOM_END_DATETEND_TIMEZ", "reservations": [ { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_RESERVED_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" }, "specificReservationRequired": REQUIRE_SPECIFIC_RESERVATION_VALUE", "zone": "RESERVED_ZONE", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } } } ] }
請將下列內容替換為承諾和附加預訂的對應屬性:
承諾使用合約
COMMITMENT_NAME
:承諾產品名稱。REGION
:承諾產品所在的區域。PROJECT_ID
:您要購買附加保留項目的承諾使用合約所在專案的 ID。DURATION
:承諾期間,可為TWELVE_MONTH
或THIRTY_SIX_MONTH
。COMMITMENT_TYPE
:承諾產品類型。下列承諾類型提供 GPU、本機 SSD 磁碟或兩者的選項:ACCELERATOR_OPTIMIZED
(適用於 A2 機器類型資源)ACCELERATOR_OPTIMIZED_A3
(適用於 A3 Edge 和 A3 High 機型資源)ACCELERATOR_OPTIMIZED_A3_MEGA
適用於 A3 Mega 機器類型資源COMPUTE_OPTIMIZED
(適用於 C2 機器類型資源)COMPUTE_OPTIMIZED_C2D
(適用於 C2D 機器類型資源)COMPUTE_OPTIMIZED_C3
(適用於 C3 機型資源)COMPUTE_OPTIMIZED_C3D
(適用於 C3D 機器類型資源)GENERAL_PURPOSE
:適用於 N1 機器類型資源GENERAL_PURPOSE_N2
:適用於 N2 機器類型資源GENERAL_PURPOSE_N2D
(適用於 N2D 機器資源)GRAPHICS_OPTIMIZED
(適用於 G2 機器類型資源)MEMORY_OPTIMIZED_M3
(適用於 M3 機型資源)STORAGE_OPTIMIZED_Z3
:適用於 Z3 機器類型資源
COMMITTED_VCPUS
:您在承諾中想要的 vCPU 數量。數字必須為正整數。COMMITTED_MEMORY
:您在承諾中所需的記憶體大小 (以 MB 為單位)。例如,10240MB
。您可以以 256 MB 為單位購買記憶體。COMMITTED_LOCAL_SSD
:您在承諾中所需的本機 SSD 儲存空間大小 (以 GB 為單位)。每個本機 SSD 磁碟的容量為 375 GB。COMMITTED_ACCELERATOR_COUNT
:您在承諾中想要的 GPU 數量。COMMITTED_ACCELERATOR_TYPE
:您在承諾中所需的 GPU 類型。CUSTOM_END_DATE
:選用。檔期自訂結束日期,格式必須為YYYY-MM-DD
。舉例來說,如要指定 2024 年 4 月 20 日的客製化結束日期,請將格式設為2024-04-20
。END_TIME
:美國和加拿大太平洋時間 (UTC-8 或 UTC-7),以世界標準時間 (UTC) 為基準。只有在您為承諾指定自訂結束日期時,才需要指定這個值。請指定下列其中一個值:- 在日光節約時間期間:
07:00:00
- 其他時間:
08:00:00
- 在日光節約時間期間:
附加的預留項目
RESERVATION_NAME
:已附加的預留項目名稱。RESERVATION_ZONE
:已連結預留空間的可用區。REQUIRE_SPECIFIC_RESERVATION_VALUE
:指定所附保留項目是否為特定指定保留項目,可為true
或false
。如要進一步瞭解指定目標的預留,請參閱「預留的運作方式」。NUMBER_OF_RESERVED_VMS
:您要在附加預留項目中預留的 VM 數量。RESERVED_MACHINE_TYPE
:您希望附加預留空間中的 VM 採用的機器類型。- 如果是預先定義的機器類型,請使用
MACHINE_FAMILY-standard-CPUS
格式,例如n2-standard-4
。 如果是自訂機器類型,請使用
MACHINE_FAMILY-custom-CPUS-MEMORY
格式,例如n2-custom-4-5120
。如需相關限制的完整清單,請參閱自訂機器類型的規格。更改下列內容:
MACHINE_FAMILY
:機器類型系列;例如,針對 N2 VM 指定n2
。CPUS
:vCPU 數量。MEMORY
:保留 VM 的總記憶體。請注意,記憶體必須是 256 MB 的倍數,且須以 MB 為單位來提供,例如,如要建立具有 4 個 vCPU 和 5 GB 記憶體 (即 5120 MB) 的 N2 VM,請使用n2-custom-4-5120
。
- 如果是預先定義的機器類型,請使用
RESERVED_ACCELERATOR_COUNT
:在已連結的預留空間中,每個 VM 要新增的 GPU 數量。RESERVED_ACCELERATOR_TYPE
:您要在附加的預訂中新增的加速器類型。INTERFACE_1
和INTERFACE_2
:您希望每個保留的 VM 使用的 Local SSD 磁碟介面類型。有效選項為:scsi
和nvme
。每個本機 SSD 磁碟的容量為 375 GB。針對要新增的每個本機 SSD 磁碟重複localSsds
參數。您最多可以指定 24 個本機 SSD 磁碟。MINIMUM_CPU_PLATFORM
:您要為附加的保留項目指定的最低 CPU 平台。INSTANCE_TEMPLATE_NAME
:您要用來建立附加的預留容量的執行個體範本名稱。SHARE_SETTING
:已連結預訂的分享類型。如果您想在多個消費者專案中共用已附加的預留空間,請將這個欄位的值指定為SPECIFIC_PROJECTS
。如果您想建立單一專案的預訂,請排除這個欄位。CONSUMER_PROJECT_ID_1
和CONSUMER_PROJECT_ID_2
:可共用此預留項目的專案專案 ID,例如project-1
和project-2
。您最多可以納入 100 個消費者專案。這些專案必須屬於與擁有者專案相同的機構。請勿加入建立這項保留作業的專案 ID,因為該專案預設可使用這項保留作業。如要建立單一專案預留項目,請排除這些欄位。
只有在目標區域中有足夠的指定機器類型資源,且在提出要求時有足夠的配額時,Compute Engine 才會建立承諾產品和附加的保留項目。如果購買成功,Compute Engine 會針對 REST API 要求傳回 200
狀態。
透過建立新的保留項目來建立購買承諾的示例
以下範例情境和指令說明如何購買 GPU 承諾產品、本機 SSD 磁碟,或兩者皆購買,並建立新的保留項目附加至該承諾。
範例 1:透過附加單一新保留項目,購買 GPU 承諾
假設您想在 us-central1
區域購買包含 4 個 NVIDIA V100 GPU 的承諾產品 commitment-01
。您需要建立新的保留項目 reservation-01
,做為這些 GPU 的附加保留項目。假設您也想指定 Compute Engine 在 us-central1-a
區域的 2 個 n1-standard-8
VM 中使用這些保留的 GPU。如要購買這個示範承諾及其附加的預留項目,請提出下列 POST
要求:
POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments { "name": "commitment-01", "plan": "TWELVE_MONTH", "type": "GENERAL_PURPOSE" "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" } ] }
範例 2:購買 GPU 承諾產品,但不承諾使用 vCPU 或記憶體
如要承諾使用並預留 GPU 和本機 SSD 磁碟,而不承諾使用 vCPU 或記憶體,請將 0
指定為 vCPU 和記憶體數量的值。舉例來說,假設您想在 us-west2
區域為單一 NVIDIA P4 GPU 購買承諾 commitment-02
。您也需要建立新的保留項目做為附加保留項目,並指定 Compute Engine 在 us-west2-b
區域的 n1-standard-2
VM 上使用保留的 GPU。如要購買這個示範承諾及其附加的保留項目,請提出下列 POST
要求:
POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-west2/commitments { "name": "commitment-02", "plan": "TWELVE_MONTH", "type": "GENERAL_PURPOSE", "resources": [ { "amount": "0", "type": "VCPU" }, { "amount": "0", "type": "MEMORY" }, { "acceleratorType": "nvidia-tesla-p4", "amount": "4", "type": "ACCELERATOR" } ], "reservations": [ { "name": "reservation-01", "specificReservation": { "count": "1", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": 4, "acceleratorType": "nvidia-tesla-p4" } ], "machineType": "n1-standard-2" } }, "specificReservationRequired": false, "zone": "us-west2-b" } ] }
範例 3:透過連結多個新保留項目,購買 GPU 和本機 SSD 磁碟的承諾產品
假設您想在 us-central1
區域購買 1 個 NVIDIA V100 GPU 和 2 個本機 SSD 硬碟的承諾 commitment-03
。您也想在 us-central1-a
區域中建立及附加兩個預訂項目。在第一個保留項目 res-01
中,您想保留 1 個 n1-standard-2
VM,並搭配 1 個 GPU。您想將 res-01
設為指定保留項目,這表示您必須明確指定該保留項目的名稱,才能使用其中的預留 VM。在第二個保留項目 res-02
中,您想保留 1 個 n1-standard-8
VM,並附加 2 種型別的本機 SSD 磁碟。如要購買附加預留項目的承諾使用合約範例,請提出下列 POST
要求。請注意,示範承諾書也包含 vCPU 和記憶體資源。
POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments { "name": "commitment-03", "plan": "TWELVE_MONTH", "type": "GENERAL_PURPOSE", "resources": [ { "amount": "96", "type": "VCPU" }, { "amount": "638976", "type": "MEMORY" }, { "acceleratorType": "nvidia-tesla-v100", "amount": "1", "type": "ACCELERATOR" }, { "amount": "768000", "type": "LOCAL_SSD" } ], "reservations": [ { "name": "res-01", "specificReservation": { "count": "1", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": 1, "acceleratorType": "nvidia-tesla-v100" } ], "machineType": "n1-standard-2" } }, "specificReservationRequired": true, "zone": "us-central1-a" }, { "name": "res-02", "specificReservation": { "count": "1", "instanceProperties": { "localSsds": [ { "diskSizeGb": "375", "interface": "SCSI" }, { "diskSizeGb": "375", "interface": "NVME" } ] "machineType": "n1-standard-8" } }, "specificReservationRequired": false, "zone": "us-central1-a" } ] }
取代承諾中附加的預留項目
如要修改使用已承諾資源的 VM 類型和數量,請將承諾項目的現有附加保留項目替換為新保留項目。
替換預訂項目一律為新建的預訂項目。如要取代已連結的保留項目,您必須指定要用來取代的保留項目屬性。接著,Compute Engine 會自動使用這些屬性建立新的保留項目,並用來取代已連結的保留項目。您無法使用現有的預留項目取代已附加的預留項目。
允許的變更
當您將承諾的現有附加保留訂單替換為新保留訂單時,可以要求進行下列任何變更:
- 您可以使用其他機器類型預留 VM。不過,您仍必須從相同機器系列中保留 VM,才能繼續接收已保留資源的 CUD。
- 您可以變更要保留的 VM 數量。
- 只要預留的 GPU 和本機 SSD 硬碟總數量保持不變,您就可以變更每個 VM 連結的 GPU 和本機 SSD 硬碟數量。
- 您可以指定要替換的保留項目為單一專案 (在 Google Cloud 控制台中也稱為「本地」) 或共用保留項目。
需求條件
當你將承諾書附帶的預訂資訊取代為新預訂資訊時,請務必確保要求符合下列所有規定:
- 一次只能將一個已附加的預訂項目,換成一個新的已附加預訂項目。如要取代已連結的預留容量,請同時移除現有的已連結預留容量,方法是將其 VM 數量設為 0,並定義要取代的全新已連結預留容量。
- 新的預訂項目必須與承諾項目位於相同專案。
- 新的保留訂單必須位於與移除的保留訂單相同的區域。
- 新預訂項目中指定的 GPU 數量和類型必須與移除的預訂項目相符。
- 新預留項目中指定的本機 SSD 磁碟數量和類型,必須與移除的預留項目相符。
- 每次要求只能變更 100 個 VM。如要變更超過 100 個 VM,請將變更項目分成多個較小的請求,或與 Google Cloud 支援團隊聯絡。
您要求取代預訂的情形也取決於當時的可用容量。如果要求的容量無法使用,要求就會失敗並傳回資源可用性錯誤,您可以嘗試修改或延後要求來解決這個問題。 詳情請參閱資源可用性疑難排解說明文件。
如果您要求取代已附加的保留項目失敗,則附加的保留項目和現有的已保留資源不會受到影響。為保留容量,請等待取代預訂成功後,再對 VM 進行任何對應變更。
取代已附加的預留項目的步驟
您可以使用 Google Cloud CLI 或 REST 取代承諾的保留項目。
gcloud
如要取代承諾中附加的預留項目,請按照下列步驟操作:
在目前目錄中建立 YAML 檔案,並加入下列附加保留項目的設定:
要取代的目前預訂。
如要擷取這項預訂的詳細資料,請參閱「查看預訂詳細資料」。
新的替換保留訂單。
YAML 檔案的內容類似下列內容:
- reservation: CURRENT_RESERVATION_NAME reservation_zone: CURRENT_RESERVATION_ZONE vm_count: 0 machine_type: CURRENT_RESERVATION_MACHINE_TYPE accelerator: - count: CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS type: CURRENT_RESERVATION_ACCELERATOR_TYPE local_ssd: - interface: CURRENT_RESERVATION_INTERFACE_1 size: 375 - interface: CURRENT_RESERVATION_INTERFACE_2 size: 375 project: CURRENT_RESERVATION_PROJECT_ID share_setting: CURRENT_RESERVATION_SHARE_SETTING share_with: - CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1 - CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2 - reservation: REPLACEMENT_RESERVATION_NAME reservation_zone: REPLACEMENT_RESERVATION_ZONE vm_count: REPLACEMENT_RESERVATION_NUMBER_OF_VMs machine_type: REPLACEMENT_RESERVATION_MACHINE_TYPE accelerator: - count: REPLACEMENT_RESERVATION_ACCELERATOR_COUNT type: REPLACEMENT_RESERVATION_ACCELERATOR_TYPE local_ssd: - interface: REPLACEMENT_RESERVATION_INTERFACE_1 size: 375 - interface: REPLACEMENT_RESERVATION_INTERFACE_2 size: 375 project: REPLACEMENT_RESERVATION_PROJECT_ID share_setting: REPLACEMENT_RESERVATION_SHARE_SETTING share_with: - REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1 - REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2
請將下列內容替換為目前和替換預訂的對應屬性:
目前的預約資訊
對於目前的預訂,下列所有屬性都必須與您查看預訂時的屬性完全相同。略過目前預訂項目未包含的任何屬性欄位。
CURRENT_RESERVATION_NAME
:目前已附加的預訂名稱。CURRENT_RESERVATION_ZONE
:目前已連結預留空間的可用區。CURRENT_RESERVATION_MACHINE_TYPE
:目前已連結預留空間的機器類型。CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS
:目前已附加保留項目中預留的 GPU 數量。CURRENT_RESERVATION_ACCELERATOR_TYPE
:在目前已連結的預留空間中保留的加速器類型。CURRENT_RESERVATION_INTERFACE_1
和CURRENT_RESERVATION_INTERFACE_2
:本機 SSD 磁碟在目前已連結的保留空間中,為每個保留 VM 使用的介面類型。有效選項為:scsi
和nvme
。每個本機 SSD 磁碟的容量為 375 GB。針對所有保留的本機 SSD 磁碟重複使用local_ssd
參數。CURRENT_RESERVATION_PROJECT_ID
:含有承諾和附加保留項目的目前專案 ID。如果您目前已連結的保留項目會在多個消費者專案中共用,請指定這個欄位。CURRENT_RESERVATION_SHARE_SETTING
:目前預訂的分享類型。如果您目前已連結的預留容量會在多個消費者專案中共用,請將這個欄位的值指定為projects
。CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1
和CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2
:您要共用目前已附加預留項目的專案專案 ID,例如project-1
和project-2
。
替換預訂
針對替換預訂,請依需求設定下列屬性。指定這些屬性時,請務必符合所有規定。省略不想使用的任何其他欄位。
REPLACEMENT_RESERVATION_NAME
:新預訂項目的名稱。REPLACEMENT_RESERVATION_ZONE
:新替換預留空間的區域。REPLACEMENT_RESERVATION_NUMBER_OF_VMS
:您要在新的替換預留項目中預留的 VM 數量。REPLACEMENT_RESERVATION_MACHINE_TYPE
:您希望新替換預留項目中的 VM 採用的機器類型。- 如果是預先定義的機器類型,請使用
MACHINE_FAMILY-standard-CPUS
格式,例如n2-standard-4
。 - 如果是自訂機器類型,請使用
MACHINE_FAMILY-custom-CPUS-MEMORY
格式,例如n2-custom-4-5120
。如需相關限制的完整清單,請參閱自訂機器類型的規格。
更改下列內容:
MACHINE_FAMILY
:機器類型系列;例如,針對 N2 VM 指定n2
。CPUS
:vCPU 數量。MEMORY
:保留 VM 的總記憶體。記憶體必須是 256 MB 的倍數,且須以 MB 為單位來提供,例如,如要建立具有 4 個 vCPU 和 5 GB 記憶體 (即 5120 MB) 的 N2 VM,請使用n2-custom-4-5120
。
- 如果是預先定義的機器類型,請使用
REPLACEMENT_RESERVATION_NUMBER_OF_ACCELERATORS
:在替換保留項目中,每個 VM 要新增的 GPU 數量。REPLACEMENT_RESERVATION_ACCELERATOR_TYPE
:您要在替換預訂中新增的加速器類型。REPLACEMENT_RESERVATION_INTERFACE_1
和REPLACEMENT_RESERVATION_INTERFACE_2
:您希望每個保留 VM 使用的「Local SSD」(本機 SSD) 磁碟介面類型。有效選項為:scsi
和nvme
。每個本機 SSD 磁碟的容量為 375 GB。針對要新增的每個本機 SSD 磁碟重複local_ssd
參數。您最多可以指定 24 個本機 SSD 磁碟。REPLACEMENT_RESERVATION_PROJECT_ID
:含有承諾和附加保留項目的目前專案 ID。如果您想在多個消費者專案中共用替換預訂,請指定這個欄位。REPLACEMENT_RESERVATION_SHARE_SETTING
:替換預訂的分享類型。如果您想在多個消費者專案中共用替換預訂,請將這個欄位的值指定為projects
。REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1
和REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2
:可共用此預留項目的專案專案 ID,例如project-1,project-2
。最多可納入 100 個消費者專案。這些專案必須與擁有者專案屬於同一個機構。請勿加入REPLACEMENT_RESERVATION_PROJECT_ID
,因為系統預設允許這項保留項目使用此保留項目。
執行
gcloud beta compute commitments update-reservations
指令,並使用--reservations-from-file
旗標指定 YAML 檔案的路徑。gcloud beta compute commitments update-reservations COMMITMENT_NAME \ --project= PROJECT_ID \ --region= REGION \ --reservations-from-file= YAML_FILE
更改下列內容:
COMMITMENT_NAME
:附加保留項目的承諾名稱。PROJECT_ID
:含有附加保留項目的承諾專案 ID。REGION
:承諾產品所在的區域。YAML_FILE
:包含目前和替換預留空間設定的 YAML 檔案路徑。
替換承諾中附加的保留項目範例
為說明這項功能,本節將展示含有附加保留項目的承諾範例,以及如何取代附加的範例保留項目。
附帶保留項目的承諾範例
舉例來說,假設您想更新 my-commitment-with-reservations
承諾的附加預留項目,該承諾是使用下列指令購買:
gcloud beta compute commitments create my-commitment-with-reservations \
--region=asia-east1 \
--resources=vcpu=16,memory=60GB,local-ssd=3000 \
--resources-accelerator=type=nvidia-tesla-p100,count=4 \
--plan=12-month \
--type=general-purpose \
--reservations-from-file=one-reservation.yaml
在這個範例中,假設執行這項指令時,one-reservation.yaml
是目前目錄中的檔案,其中包含下列內容,定義名為 res-1
的附加預留空間。
- reservation: res-1
reservation_zone: asia-east1-a
vm_count: 4
machine_type: n1-standard-4
accelerator:
- count: 1
type: nvidia-tesla-p100
local_ssd:
- interface: scsi
size: 375
- interface: scsi
size: 375
這項 my-commitment-with-reservations
承諾和附加的預留項目 res-1
導致下列已承諾和預留的資源:
資源類型 | 承諾 ( my-commitment-with-reservations ) 中的資源 |
目前已連結預留項目中的資源 ( res-1 ) |
---|---|---|
vCPU 和記憶體 | 16 個 vCPU 和 60 GB | 16 個 vCPU 和 60 GB (4 個保留的 n1-standard-4 VM)* |
GPU | 4 個 P100 GPU | 4 個 P100 GPU
(每個 VM 1 個 P100 GPU,共 4 個 VM)* |
本機固態硬碟磁碟 | 3000 GB 或 8 個本機 SSD 磁碟 | 3000 GB 或 8 個本機 SSD 磁碟
(每個 VM 750 GB 或 2 個本機 SSD 磁碟,共 4 個 VM)* |
*具體來說,附加的保留項目範例 res-1
會保留 4 個 n1-standard-4
VM,每個 VM 各有 1 個 P100 GPU 和 2 個 scsi
介面類型的本機 SSD 磁碟。n1-standard-4
機器類型會為每個 VM 使用 4 個 vCPU 和 15 GB。
取代附加的預訂範例
假設您想將附加的預留項目 res-1
替換為新的附加預留項目 res-2
,並將預留資源變更為下列項目:
資源類型 | 承諾 ( my-commitment-with-reservations ) 中的資源 |
目前已連結預留項目中的資源 ( res-1 ) |
替換附加預留項目中的資源 ( res-2 ) |
---|---|---|---|
vCPU 和記憶體 | 16 個 vCPU 和 60 GB | 16 個 vCPU 和 60 GB (4 個保留的 n1-standard-4 VM)* |
16 個 vCPU 和 60 GB (2 個預留和共用 n1-standard-8 VM)† |
GPU | 4 個 P100 GPU | 4 個 P100 GPU (每個 VM 1 個 P100 GPU,共 4 個 VM)* |
4 個 P100 GPU (每個 VM 有 2 個 P100 GPU,共 2 個 VM)† |
本機固態硬碟磁碟 | 3000 GB 或 8 個本機 SSD 磁碟 | 3000 GB 或 8 個本機 SSD 磁碟
(每個 VM 750 GB 或 2 個本機 SSD 磁碟,共 4 個 VM)* |
3000 GB 或 8 個本機 SSD 磁碟
(每個 VM 1500 GB 或 4 個本機 SSD 磁碟,共 2 個 VM)* |
*具體來說,附加的保留項目範例 res-1
會保留 4 個 n1-standard-4
VM,每個 VM 各有 1 個 P100 GPU 和 2 個 scsi
介面類型的本機 SSD 磁碟。n1-standard-4
機器類型會為每個 VM 使用 4 個 vCPU 和 15 GB。
†具體來說,替換的附加保留項目會定義 res-2
,這個保留項目會保留 2 個 n1-standard-8
VM,每個 VM 包含 1 個 P100 GPU 和 4 個 scsi
介面類型的本機 SSD 磁碟。此外,res-2
與其他 2 個專案共用,分別是 project-1
和 project-2
,並由目前專案 my-project
擁有。n1-standard-8
機器類型會為每個 VM 使用 8 個 vCPU 和 30 GB。
如要將 my-commitment-with-reservations
承諾的附加預留項目 res-1
替換為 res-2
,請執行下列操作:
在目前目錄中建立名為
two-reservations.yaml
的檔案,該檔案含有下列內容:- reservation: res-1 reservation_zone: asia-east1-a vm_count: 0 machine_type: n1-standard-4 accelerator: - count: 1 type: nvidia-tesla-p100 local_ssd: - interface: scsi size: 375 - interface: scsi size: 375 - reservation: res-2 reservation_zone: asia-east1-a vm_count: 2 machine_type: n1-standard-8 accelerator: - count: 2 type: nvidia-tesla-p100 project: my-project share_setting: projects share_with: - project-1 - project-2 local_ssd: - interface: scsi size: 375 - interface: scsi size: 375 - interface: scsi size: 375 - interface: scsi size: 375
執行下列指令:
gcloud beta compute commitments update-reservations my-commitment-with-reservations \ --region=asia-east1 \ --reservations-from-file=two-reservations.yaml
REST
如要取代承諾中附加的保留項目,請使用 regionCommitments.updateReservations
方法建立 POST
要求。
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/COMMITMENT_ZONE/commitments/COMMITMENT_NAME/updateReservations
{
"reservations":
[
{
"name": "REPLACEMENT_RESERVATION_NAME",
"specificReservation":
{
"count": "REPLACEMENT_RESERVATION_NUMBER_OF_VMS",
"instanceProperties":
{
"guestAccelerators":
[
{
"acceleratorCount": "REPLACEMENT_RESERVATION_NUMBER_OF_ACCELERATORS",
"acceleratorType": "REPLACEMENT_RESERVATION_ACCELERATOR_TYPE"
}
],
"localSsds":
[
{
"diskSizeGb": "375",
"interface": "REPLACEMENT_RESERVATION_INTERFACE_1"
},
{
"diskSizeGb": "375",
"interface": "REPLACEMENT_RESERVATION_INTERFACE_2"
}
],
"machineType": "REPLACEMENT_RESERVATION_MACHINE_TYPE"
}
},
"zone": "REPLACEMENT_RESERVATION_ZONE",
"shareSettings":
{
"shareType": "SPECIFIC_PROJECTS",
"projectMap":
{
"REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1":
{
"projectId": "REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1"
},
"REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2":
{
"projectId": "REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2"
}
}
}
},
{
"name": "CURRENT_RESERVATION_NAME",
"specificReservation":
{
"count": "0",
"instanceProperties":
{
"guestAccelerators":
[
{
"acceleratorCount": "CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS",
"acceleratorType": "CURRENT_RESERVATION_ACCELERATOR_TYPE"
}
],
"localSsds":
[
{
"diskSizeGb": "375",
"interface": "CURRENT_RESERVATION_INTERFACE_1"
},
{
"diskSizeGb": "375",
"interface": "CURRENT_RESERVATION_INTERFACE_2"
}
],
"machineType": "CURRENT_RESERVATION_MACHINE_TYPE"
}
},
"zone": "CURRENT_RESERVATION_ZONE",
"shareSettings":
{
"shareType": "SPECIFIC_PROJECTS",
"projectMap":
{
"CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1":
{
"projectId": "CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1"
},
"CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2":
{
"projectId": "CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2"
}
}
}
}
]
}
將下列內容替換為承諾、目前的預訂和替換預訂的對應屬性:
承諾使用合約
COMMITMENT_NAME
:附加保留項目的承諾名稱。PROJECT_ID
:附加保留項目的承諾專案 ID。這也是目前和已連結預留項目的專案 ID。COMMITMENT_ZONE
:含有附加保留項目的承諾區。
目前的預約資訊
對於目前的預訂,下列所有屬性都必須與您查看預訂時的屬性完全相同。略過目前預訂未指定的任何屬性欄位。
CURRENT_RESERVATION_NAME
:目前已附加的預訂名稱。CURRENT_RESERVATION_ZONE
:目前已連結預留空間的可用區。CURRENT_RESERVATION_MACHINE_TYPE
:目前已連結預留空間的機器類型。CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS
:目前已附加保留項目中保留的 GPU 數量。CURRENT_RESERVATION_ACCELERATOR_TYPE
:在目前已連結的預留空間中保留的加速器類型。CURRENT_RESERVATION_INTERFACE_1
和CURRENT_RESERVATION_INTERFACE_2
:每個保留 VM 在目前已連結保留空間中使用的「Local SSD 磁碟」介面類型。有效選項為:scsi
和nvme
。每個本機 SSD 磁碟的容量為 375 GB。針對所有已保留的本機 SSD 磁碟重複localSsds
參數。CURRENT_RESERVATION_SHARE_SETTING
:目前預訂的分享類型。如果您目前已連結的預訂要與多個消費者專案共用,請將這個參數的值指定為projects
。CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1
和CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2
:您要共用目前已附加預留項目的專案的專案 ID,例如project-1
和project-2
。
替換預訂
針對替換預訂,請依需求設定下列屬性。指定這些屬性時,請務必符合所有規定。省略不想使用的任何其他欄位。
REPLACEMENT_RESERVATION_NAME
:新替換預訂單的名稱。REPLACEMENT_RESERVATION_ZONE
:新替換預留空間的可用區。REPLACEMENT_RESERVATION_NUMBER_OF_VMS
:您要在新的替代預留項目中預留的 VM 數量。REPLACEMENT_RESERVATION_MACHINE_TYPE
:您希望新預留訂單中的 VM 採用的機器類型。- 如果是預先定義的機器類型,請使用
MACHINE_FAMILY-standard-CPUS
格式,例如n2-standard-4
。 - 如果是自訂機器類型,請使用
MACHINE_FAMILY-custom-CPUS-MEMORY
格式,例如n2-custom-4-5120
。如需相關限制的完整清單,請參閱自訂機器類型的規格。
更改下列內容:
MACHINE_FAMILY
:機器類型系列;例如,為 N2 VM 指定n2
。CPUS
:vCPU 數量。MEMORY
:保留 VM 的總記憶體。記憶體必須是 256 MB 的倍數,且須以 MB 為單位來提供,例如,如要建立具有 4 個 vCPU 和 5 GB 記憶體 (即 5120 MB) 的 N2 VM,請使用n2-custom-4-5120
。
- 如果是預先定義的機器類型,請使用
REPLACEMENT_RESERVATION_NUMBER_OF_ACCELERATORS
:在替換保留項目中,每個 VM 要新增的 GPU 數量。REPLACEMENT_RESERVATION_ACCELERATOR_TYPE
:您要在替換預訂中新增的加速器類型。REPLACEMENT_RESERVATION_INTERFACE_1
和REPLACEMENT_RESERVATION_INTERFACE_2
:您希望每個保留 VM 使用的「Local SSD」(本機 SSD) 磁碟介面類型。有效選項為:scsi
和nvme
。每個本機 SSD 磁碟的容量為 375 GB。針對每個要新增的本機 SSD 磁碟重複localSsds
參數。您最多可以指定 24 個本機 SSD 磁碟。REPLACEMENT_RESERVATION_SHARE_SETTING
:替換預訂的分享類型。如果您想在多個消費者專案中共用替換預訂,請將這個參數的值指定為projects
。REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1
和REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2
:可共用此預留項目的專案專案 ID,例如project-1,project-2
。最多可納入 100 個消費者專案。這些專案必須與擁有者專案屬於同一個機構。請勿加入PROJECT_ID
,因為系統預設允許這項保留項目使用此保留項目。
替換承諾中附加的保留項目範例
為說明這項功能,本節將展示含有附加保留項目的承諾範例,以及如何取代附加的範例保留項目。
附帶保留項目的承諾範例
舉例來說,假設您想為 my-commitment-with-reservations
承諾,替換附加的預留項目 res-1
,該承諾是透過提出下列 POST
要求購買:
POST https://compute.googleapis.com/compute/beta/projects/my-project/regions/asia-east1/commitments
{
"name": "my-commitment-with-reservations",
"plan": "TWELVE_MONTH",
"reservations":
[
{
"name": "res-1",
"specificReservation":
{
"count": "4",
"instanceProperties":
{
"guestAccelerators":
[
{
"acceleratorCount": "1",
"acceleratorType": "nvidia-tesla-p100"
}
],
"localSsds":
[
{
"diskSizeGb": "375",
"interface": "scsi"
},
{
"diskSizeGb": "375",
"interface": "scsi"
}
],
"machineType": "n1-standard-4"
}
},
"zone": "asia-east1-a"
}
],
"resources":
[
{
"amount": "16",
"type": "VCPU"
},
{
"amount": "61440",
"type": "MEMORY"
},
{
"acceleratorType": "nvidia-tesla-p100",
"amount": "4",
"type": "ACCELERATOR"
}
{
"amount": "3072000",
"type": "LOCAL_SSD"
}
],
"type": "GENERAL_PURPOSE"
}
這項 my-commitment-with-reservations
承諾和附加的預留項目 res-1
導致下列已承諾和預留的資源:
資源類型 | 承諾 ( my-commitment-with-reservations ) 中的資源 |
目前已連結預留項目中的資源 ( res-1 ) |
---|---|---|
vCPU 和記憶體 | 16 個 vCPU 和 60 GB | 16 個 vCPU 和 60 GB (4 個保留的 n1-standard-4 VM)* |
GPU | 4 個 P100 GPU | 4 個 P100 GPU
(每個 VM 1 個 P100 GPU,共 4 個 VM)* |
本機固態硬碟磁碟 | 3000 GB 或 8 個本機 SSD 磁碟 | 3000 GB 或 8 個本機 SSD 磁碟
(每個 VM 750 GB 或 2 個本機 SSD 磁碟,共 4 個 VM)* |
*具體來說,附加的保留項目範例 res-1
會保留 4 個 n1-standard-4
VM,每個 VM 各有 1 個 P100 GPU 和 2 個 scsi
介面類型的本機 SSD 磁碟。n1-standard-4
機器類型會為每個 VM 使用 4 個 vCPU 和 15 GB。
取代附加的預訂範例
假設您想將附加的預留項目 res-1
替換為新的附加預留項目 res-2
,並將預留資源變更為下列項目:
資源類型 | 承諾 ( my-commitment-with-reservations ) 中的資源 |
目前已連結預留項目中的資源 ( res-1 ) |
替換附加預留項目中的資源 ( res-2 ) |
---|---|---|---|
vCPU 和記憶體 | 16 個 vCPU 和 60 GB | 16 個 vCPU 和 60 GB (4 個保留的 n1-standard-4 VM)* |
16 個 vCPU 和 60 GB (2 個預留和共用 n1-standard-8 VM)† |
GPU | 4 個 P100 GPU | 4 個 P100 GPU (每個 VM 1 個 P100 GPU,共 4 個 VM)* |
4 個 P100 GPU (每個 VM 有 2 個 P100 GPU,共 2 個 VM)† |
本機固態硬碟磁碟 | 3000 GB 或 8 個本機 SSD 磁碟 | 3000 GB 或 8 個本機 SSD 磁碟
(每個 VM 750 GB 或 2 個本機 SSD 磁碟,共 4 個 VM)* |
3000 GB 或 8 個本機 SSD 磁碟
(每個 VM 1500 GB 或 4 個本機 SSD 磁碟,共 2 個 VM)* |
*具體來說,附加的保留項目範例 res-1
會保留 4 個 n1-standard-4
VM,每個 VM 各有 1 個 P100 GPU 和 2 個 scsi
介面類型的本機 SSD 磁碟。n1-standard-4
機器類型會為每個 VM 使用 4 個 vCPU 和 15 GB。
†具體來說,替換的附加保留項目會定義 res-2
,這個保留項目會保留 2 個 n1-standard-8
VM,每個 VM 包含 1 個 P100 GPU 和 4 個 scsi
介面類型的本機 SSD 磁碟。此外,res-2
與其他 2 個專案共用,分別是 project-1
和 project-2
,並由目前專案 my-project
擁有。n1-standard-8
機器類型會為每個 VM 使用 8 個 vCPU 和 30 GB。
如要針對 my-commitment-with-reservations
承諾,將附加的預留項目 res-1
替換為 res-2
,請使用 regionCommitments.updateReservations
方法提出下列 POST
要求:
POST https://compute.googleapis.com/compute/beta/projects/my-project/regions/asia-east1/commitments/my-commitment-with-reservations/updateReservations
{
"reservations":
[
{
"name": "res-2",
"specificReservation":
{
"count": "2",
"instanceProperties":
{
"guestAccelerators":
[
{
"acceleratorCount": 2,
"acceleratorType": "nvidia-tesla-p100"
}
],
"localSsds":
[
{
"diskSizeGb": "375",
"interface": "scsi"
},
{
"diskSizeGb": "375",
"interface": "scsi"
},
{
"diskSizeGb": "375",
"interface": "scsi"
},
{
"diskSizeGb": "375",
"interface": "scsi"
}
],
"machineType": "n1-standard-8"
}
},
"zone": "asia-east1-a"
},
{
"name": "res-1",
"specificReservation":
{
"count": "0",
"instanceProperties":
{
"guestAccelerators":
[
{
"acceleratorCount": 1,
"acceleratorType": "nvidia-tesla-p100"
}
],
"localSsds":
[
{
"diskSizeGb": "375",
"interface": "scsi"
},
{
"diskSizeGb": "375",
"interface": "scsi"
}
],
"machineType": "n1-standard-4"
}
},
"zone": "asia-east1-a"
}
]
}
後續步驟
- 進一步瞭解依資源計算的 CUD。
- 瞭解如何使用保留項目。
- 瞭解如何修改預訂。
- 瞭解如何刪除預訂。