建立共用的未來預留項目要求

本文說明如何建立可供多個專案共用的未來預留項目要求。

Google Cloud 核准共用未來預留項目要求後,Compute Engine 會在您指定的時間自動建立 (自動建立) 預留項目,並預留您要求的資源。您可高度確保 Compute Engine 會提供預留資源,讓專案和任何與預留項目共用的專案,在整個預留期間都能獨占存取這些資源。接著,您可以使用預留資源建立虛擬機器 (VM) 執行個體。

如要進一步瞭解建立未來預留項目要求時適用的規定和限制,請參閱「未來預留項目要求簡介」。

事前準備

  • 確認您用來建立共用未來預留項目要求的專案,已由組織政策管理員新增至共用預留項目擁有者專案 (compute.sharedReservationsOwnerProjects) 組織政策限制條件的許可清單。根據預設,這份許可清單是空白的,因此貴機構必須先授予專案這項權限,您才能建立共用預訂。如要進一步瞭解如何查看及編輯機構政策限制,請參閱「管理共用預訂建立作業」。
  • 確認您有足夠的配額,可預留需要的資源。如果配額不足,系統可能會拒絕你日後的預訂要求。 Google Cloud 或者,如果要求已獲准,但您在要求開始時配額不足,Compute Engine 只會提供部分或完全不提供預留資源。如要進一步瞭解 Compute Engine 中不同類型的配額,請參閱「分配配額」。
  • 如果尚未設定驗證,請先完成設定。 驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:

    選取這個頁面上的分頁,瞭解如何使用範例:

    控制台

    使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,無須設定驗證。

    gcloud

    1. 安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:

      gcloud init

      若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

  • 設定預設地區和區域
  • REST

    如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

      安裝 Google Cloud CLI。

      若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

    詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。

必要的角色

如要取得建立共用未來預留項目要求所需的權限,請要求系統管理員授予專案的Compute Future Reservation User (roles/compute.futureReservationUser) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備建立共用未來預留項目要求所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要建立共用未來預留項目要求,必須具備下列權限:

  • 如要建立未來預留項目要求: compute.futureReservations.create 在專案上
  • 如要讓 Compute Engine 自動建立預留項目,請在專案中啟用: compute.reservations.create
  • 如要指定執行個體範本: compute.instanceTemplates.useReadOnly 執行個體範本中的

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

限制

除了未來預留項目的一般限制外,建立共用未來預留項目要求時,還須遵守下列限制:

  • 您用來建立共用未來預留項目要求的專案 (擁有者專案),必須由組織政策管理員新增至「共用預留項目擁有者專案」 (compute.sharedReservationsOwnerProjects) 組織政策限制的允許清單。詳情請參閱 Compute Engine 預留項目說明文件中的「允許及限制專案建立和修改共用預留項目」。

  • 如果您將建立共用未來預留項目要求的專案移至其他機構,系統會刪除共用未來預留項目。專案不會自動從「共用預訂項目擁有者專案」(compute.sharedReservationsOwnerProjects) 機構政策限制中移除,但您可以視需要從這項限制中移除專案。

  • 每個共用未來預留項目要求最多可與 100 個用戶專案共用。

  • 每個機構最多可為每個不重複的VM 屬性組合,建立 100 個共用未來預留項目要求。

建立草稿要求

建立未來預留項目要求時,您可以將要求儲存為草稿,稍後再提交至 Google Cloud 進行審查,也可以直接提交要求進行審查。Google 建議您先建立草稿要求,因為這樣一來,您就能判斷 Compute Engine 會為要求佈建的 VM 數量,而不必手動估算這個數量,而且還能選擇修改要求中的保留 VM 數量,再提交審查。

如要使用未來預留項目自動建立的預留項目,VM 的屬性必須完全符合該預留項目。如要指定要預留的 VM 屬性,請使用下列任一方法建立草擬未來預留項目要求:

  • 建議:指定執行個體範本

    您可以透過現有的執行個體範本,定義草擬未來預留項目要求的屬性。使用執行個體範本,您可以在同一處定義未來預留項目要求和 VM 的屬性,這些 VM 可以使用自動建立的預留項目。不過,由於範本是專案專屬,因此您無法使用相同範本建立 VM,在建立未來預留項目要求的專案外部,使用自動建立的預留項目。對於未來預留項目共用的專案,您必須在這些專案中建立類似的範本,或是直接指定屬性來建立 VM。

  • 指定現有 VM

    您可以使用現有 VM 定義未來預留項目要求中的屬性。使用現有 VM 的屬性,建立屬性與參照 VM 相符的 VM,即可使用為未來預留項目自動建立的預留項目。

  • 直接指定屬性

    您可以直接定義草稿未來預留項目要求的屬性。使用這個方法時,您必須手動確保 VM 和自動建立的預留項目屬性完全相符,否則不相符的屬性會導致無法使用預留項目。

未來預留項目自動建立的預留項目,可供任何屬性相符的 VM 自動使用。如要避免 VM 使用任何自動建立的預留項目,請參閱如何建立 VM,但不使用預留項目

指定執行個體範本

指定執行個體範本建立共用未來預留項目要求時,請注意下列事項:

  • 執行個體範本包含專案專屬設定,因此您只能在同一專案中存取及使用執行個體範本。如果您指定執行個體範本來建立共用未來預留項目要求,則必須建立類似的範本來建立 VM,或直接指定相符的屬性來建立 VM,才能在每個消費者專案中使用自動建立的預留項目。

  • 您必須在與執行個體範本中的資源相同的區域和可用區,建立未來預留項目要求。執行個體範本中指定的任何區域可用區資源 (例如機型或 Persistent Disk),都會將範本的使用限制在這些資源所在的位置。舉例來說,如果執行個體範本在 us-central1-a 區域中指定現有的永久磁碟,則您必須在同一個區域中建立未來預留項目要求。否則,建立未來預留項目要求就會失敗。

    如要檢查現有範本是否指定任何資源,將範本繫結至特定區域或可用區,請查看範本詳細資料,並在其中尋找區域或可用區資源的參照。

  • 如要將為未來預留項目佈建的自動建立預留項目附加至承諾,請停用自動刪除選項。詳情請參閱「建立後的限制」一節。

建立未來預留要求後,您無法修改要求來覆寫範本的 VM 屬性,或指定其他範本。如要變更要求中指定的 VM 屬性,請建立新的未來預留項目要求

如要透過指定現有執行個體範本建立共用的未來預留項目,請選取下列任一選項:

控制台

  1. 前往 Google Cloud 控制台的「Reservations」(預留項目) 頁面。

    前往「Reservations」(預留項目) 頁面

  2. 點選「Future reservations」(未來預留項目) 分頁標籤

  3. 按一下 「Create future reservation」(建立未來預留項目)。「Create a future reservation」(建立未來預留項目) 頁面隨即顯示。

  4. 在「Machine configuration」(機器設定) 部分,執行下列操作:

    1. 選取「Use instance template」(使用執行個體範本)

    2. 在「Instance template」(執行個體範本) 清單中,選取執行個體範本。如果選取區域執行個體範本,就只能在與範本區域相同的區域中預留資源。

  5. 在「Location」(位置) 區段的「Region」(區域) 和「Zone」(可用區) 清單中,選取要預留資源的區域和可用區。

  6. 在「容量詳細資料」部分的「所需總容量」中,輸入要預留的 VM 總數

  7. 在「預訂期間」部分,執行下列操作:

    1. 在「Start time」(開始時間) 欄位中,指定預留期間的開始時間。將未來預留項目要求送審後,從這個日期和時間起算,開始時間不得晚於之後一年。為了確保有足夠時間在未來預留項目進入鎖定時間前,選擇性修改、取消或刪除該項目,請指定開始時間的建議值

    2. 在「End time」(結束時間) 欄位中,指定預留期間的結束時間。「時間長度摘要」部分會顯示預留期間的時間長度。將未來預留項目要求送審後,為了提高Google Cloud 核准的可能性,請指定預留期間的建議值

  8. 點選「下一步」

  9. 在「自動刪除」部分,執行下列任一操作:

    • 如要啟用 Compute Engine,自動刪除因未來預留項目要求而自動建立的預留項目,請執行下列操作:

      1. 勾選「Enable auto-delete」(啟用自動刪除功能) 核取方塊。

      2. 選用:在「Auto-delete time」(自動刪除時間) 欄位中,輸入要刪除自動建立預留項目的日期和時間。日期和時間必須晚於預留期間的結束時間。若將這個欄位留空,Compute Engine 就會在預留期間結束後的兩小時內,刪除自動建立的預留項目。

    • 如要停用自動刪除功能,請取消勾選「Enable auto delete」(啟用自動刪除功能) 核取方塊。

  10. 在「分享類型」部分,執行下列操作:

    1. 如要與其他專案共用預留資源,請選取「已共用」

    2. 按一下「新增專案」,然後從目前專案的機構中選取要共用未來預留項目要求的專案。最多可選取 100 個專案。

  11. 點選「下一步」

  12. 在「Future reservation name」(未來預留項目名稱) 欄位中,輸入未來預留項目要求的名稱。

  13. 在「Prefix」(前置字串) 部分,輸入名稱前置字串。凡是根據這項未來預留項目要求自動建立的預留項目,名稱開頭都會是這個前置字串。

  14. 草擬未來預留項目要求後,如要完成建立作業,請按一下「Save a draft」(儲存草稿)。「預留項目」頁面隨即顯示。未來預留項目要求建立作業會在一分鐘內完成。如要確認 Compute Engine 何時完成建立作業,請查看未來預留項目要求

gcloud

如要指定執行個體範本,建立共用未來預留項目要求,請使用 gcloud compute future-reservations create 指令搭配 --share-setting=projects--share-with 旗標。

如要建立草擬未來預留項目要求,請指定執行個體範本,但不包含任何選用旗標,並在預留期間結束時自動刪除自動建立的預留項目,請執行下列指令:

gcloud compute future-reservations create FUTURE_RESERVATION_NAME \
    --auto-delete-auto-created-reservations \
    --share-setting=projects \
    --share-with=CONSUMER_PROJECT_IDS \
    --source-instance-template=INSTANCE_TEMPLATE_URL \
    --start-time=START_TIME \
    --end-time=END_TIME \
    --total-count=TOTAL_COUNT \
    --zone=ZONE

更改下列內容:

  • FUTURE_RESERVATION_NAME:未來預留項目要求的名稱。
  • CONSUMER_PROJECT_IDS:以半形逗號分隔的專案 ID 清單,您要允許這些專案使用這項未來預訂要求自動建立的預訂,例如 project-1,project-2。最多可指定 100 個專案。這些專案必須與建立未來預留項目要求的專案 (擁有者專案) 位於同一個機構。請勿指定擁有者專案。根據預設,系統已允許使用這項未來預留項目要求自動建立的預留項目。
  • INSTANCE_TEMPLATE_URL:現有執行個體範本的網址。請指定下列其中一個值:

    • 如果是區域性執行個體範本: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_NAME

    • 全域執行個體範本: INSTANCE_TEMPLATE_NAME

  • START_TIME:預訂期間的開始時間,採用 RFC 3339 時間戳記,格式必須如下:

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    更改下列內容:

    • YYYY-MM-DD:以 4 位數年份、2 位數月份和 2 位數日期表示的資料,並以連字號分隔 (-)。

    • HH:MM:SS:時間格式為 2 位數的小時 (採用 24 小時制)、2 位數的分鐘和 2 位數的秒數,並以冒號 (:) 分隔。

    • OFFSET:時區格式為世界標準時間 (UTC) 的偏移量。舉例來說,如要使用太平洋標準時間 (PST),請指定 -08:00。或者,如要不使用位移,請指定 Z

    將未來預留項目要求送審後,從這個日期和時間起算,開始時間不得晚於之後一年。為了確保有足夠時間在未來預留項目要求獲得核准後,選擇性取消、刪除或修改該項目,請指定開始時間的建議值

  • END_TIME:預訂期間的結束時間,格式為 RFC 3339 時間戳記。將要求送審後,為了提高Google Cloud 核准的可能性,請指定最短預留期間。如要指定時間長度而非結束時間,請將 --end-time 旗標替換為 --duration=END_DURATION 旗標。將 END_DURATION 替換為以秒為單位的時間長度。例如,如要指定 1,209,600 秒 (14 天),請使用 1209600

    將未來預留項目要求送審後,為了提高 Google Cloud 核准的可能性,請指定建議的最短時間

  • TOTAL_COUNT:要預留的 VM 總數

  • ZONE:預留資源的所在區域。

舉例來說,假設您想在區域 us-central1-a 中建立名為 fr-02 的草擬未來預留項目要求,並具備下列屬性:

  • 預訂期間為 2024 年 11 月 10 日午夜 (世界標準時間) 至 2024 年 12 月 10 日午夜 (世界標準時間)。

  • VM 總數為 80 個。

  • 區域 us-central1 的區域執行個體範本。
  • 已啟用自動刪除選項。自動建立的預留項目會在預留期間結束時刪除。
  • 未來預留項目要求會與「project-1」和「project-2」共用。

如要建立 fr-02,請執行下列指令:

gcloud compute future-reservations create fr-02 \
    --auto-delete-auto-created-reservations \
    --share-setting=projects \
    --share-with=project-1,project-2 \
    --source-instance-template=projects/example-project/regions/us-central1/instanceTemplates/example-template \
    --start-time=2024-11-10T00:00:00Z \
    --end-time=2024-12-10T00:00:00Z \
    --total-count=80 \
    --zone=us-central1-a

您也可以採取下列做法:

  • 如要在預留期間結束後刪除自動建立的預留項目,請選取下列其中一種方法:

    • 如要在預留期間結束後的特定日期和時間刪除自動建立的預留項目,請加入 --auto-created-reservations-delete-time 標記。

      gcloud compute future-reservations create FUTURE_RESERVATION_NAME \
          --auto-created-reservations-delete-time=AUTO_CREATED_RESERVATIONS_DELETE_TIME \
          --auto-delete-auto-created-reservations \
          --share-setting=projects \
          --share-with=CONSUMER_PROJECT_IDS \
          --source-instance-template=INSTANCE_TEMPLATE_URL \
          --start-time=START_TIME \
          --end-time=END_TIME \
          --total-count=TOTAL_COUNT \
          --zone=ZONE
      

      AUTO_CREATED_RESERVATIONS_DELETE_TIME 替換為以 RFC 3339 時間戳記格式設定的日期和時間。

    • 如要在預留期間結束後的特定時間刪除自動建立的預留項目,請加入 --auto-created-reservations-duration 標記。

      gcloud compute future-reservations create FUTURE_RESERVATION_NAME \
          --auto-created-reservations-duration=DURATION_BEFORE_DELETE \
          --auto-delete-auto-created-reservations \
          --share-setting=projects \
          --share-with=CONSUMER_PROJECT_IDS \
          --source-instance-template=INSTANCE_TEMPLATE_URL \
          --start-time=START_TIME \
          --end-time=END_TIME \
          --total-count=TOTAL_COUNT \
          --zone=ZONE
      

      DURATION_BEFORE_DELETE 替換為以天、小時、分鐘或秒為單位的時間長度。例如,指定 30m 代表 30 分鐘,或指定 1d2h3m4s 代表 1 天 2 小時 3 分鐘 4 秒。

  • 如要停用自動建立預留項目的自動刪除選項,請將 --auto-delete-auto-created-reservations 旗標替換為 --no-auto-delete-auto-created-reservations 旗標。

    gcloud compute future-reservations create FUTURE_RESERVATION_NAME \
        --no-auto-delete-auto-created-reservations \
        --share-setting=projects \
        --share-with=CONSUMER_PROJECT_IDS \
        --source-instance-template=INSTANCE_TEMPLATE_URL \
        --start-time=START_TIME \
        --end-time=END_TIME \
        --total-count=TOTAL_COUNT \
        --zone=ZONE
    
  • 如要為自動建立的預留項目指定名稱前置字串,請加入 --name-prefix 旗標。

    gcloud compute future-reservations create FUTURE_RESERVATION_NAME \
        --auto-delete-auto-created-reservations \
        --name-prefix=NAME_PREFIX \
        --share-setting=projects \
        --share-with=CONSUMER_PROJECT_IDS \
        --source-instance-template=INSTANCE_TEMPLATE_URL \
        --start-time=START_TIME \
        --end-time=END_TIME \
        --total-count=TOTAL_COUNT \
        --zone=ZONE
    

    NAME_PREFIX 改成每個自動建立預留項目的名稱前置字元。為方便您識別這項未來預留項目要求自動建立的預留項目,建議您指定不重複的名稱前置字串。 Google Cloud

REST

如要指定執行個體範本,建立共用未來預留項目要求,請對 futureReservations.insert 方法發出 POST 要求

如要建立草擬的未來預留項目要求,請指定執行個體範本,但不要包含任何選填欄位,並發出 POST 要求,如下所示:

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

{
  "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,
  "name": "FUTURE_RESERVATION_NAME",
  "shareSettings": {
    "projects": [
      "CONSUMER_PROJECT_ID_1",
      "CONSUMER_PROJECT_ID_2"
    ],
    "shareType": "SPECIFIC_PROJECTS"
  },
  "specificSkuProperties": { 
    "sourceInstanceTemplate": "INSTANCE_TEMPLATE_URL",
    "totalCount": TOTAL_COUNT
  },
  "timeWindow": {
    "startTime": "START_TIME",
    "endTime": "END_TIME"
  }
}

更改下列內容:

  • PROJECT_ID:要預留資源的專案 ID,也是執行個體範本所在的專案。

  • ZONE:預留資源的所在區域。

  • AUTO_DELETE_AUTO_CREATED_RESERVATIONS:如果將這個欄位設為 true,Compute Engine 就會在預留期間結束後的兩小時內,自動刪除這項未來預留項目自動建立的預留項目。如要將自動建立的預訂項目附加至承諾,請將這個欄位設為 false

  • CONSUMER_PROJECT_ID_1CONSUMER_PROJECT_ID_2:可共用這項未來預留項目要求專案的 ID。最多可指定 100 個專案。這些專案必須與建立未來預留項目要求的專案 (擁有者專案) 位於同一個機構。請勿指定擁有者專案。根據預設,系統已允許使用這項未來預留項目要求自動建立的預留項目。
  • INSTANCE_TEMPLATE_URL:現有執行個體範本的網址。請指定下列其中一個值:

    • 如果是區域性執行個體範本: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_NAME

    • 全域執行個體範本: INSTANCE_TEMPLATE_NAME

  • TOTAL_COUNT:要預留的 VM 總數

  • START_TIME:預訂期間的開始時間,採用 RFC 3339 時間戳記,格式必須如下:

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    更改下列內容:

    • YYYY-MM-DD:以 4 位數年份、2 位數月份和 2 位數日期表示的資料,並以連字號分隔 (-)。

    • HH:MM:SS:時間格式為 2 位數的小時 (採用 24 小時制)、2 位數的分鐘和 2 位數的秒數,並以冒號 (:) 分隔。

    • OFFSET:時區格式為世界標準時間 (UTC) 的偏移量。舉例來說,如要使用太平洋標準時間 (PST),請指定 -08:00。或者,如要不使用位移,請指定 Z

    將未來預留項目要求送審後,從這個日期和時間起算,開始時間不得晚於之後一年。為了確保有足夠時間在未來預留項目要求獲得核准後,選擇性取消、刪除或修改該項目,請指定開始時間的建議值

  • END_TIME:預訂期間的結束時間,格式為 RFC 3339 時間戳記。將要求送審後,為了提高Google Cloud 核准的可能性,請指定最短預留期間。如要指定時間長度而非結束時間,請將 endTime 欄位替換為 duration 欄位:

    "duration": {
      "seconds": END_DURATION
    }
    

    END_DURATION 替換為以秒為單位的時間長度。舉例來說,如要指定 1,209,600 秒 (14 天),請輸入 1209600

舉例來說,假設您想在區域 us-central1-a 中建立名為 fr-02 的草擬未來預留項目要求,並具備下列屬性:

  • 預訂期間為 2024 年 11 月 10 日午夜 (世界標準時間) 至 2024 年 12 月 10 日午夜 (世界標準時間)。

  • VM 總數為 80 個。

  • 區域 us-central1 的區域執行個體範本。
  • 已啟用自動刪除選項。自動建立的預留項目會在預留期間結束時刪除。
  • 未來預留項目要求會與「project-1」和「project-2」共用。

如要建立 fr-02,請發出 POST 要求,如下所示:

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

{
  "autoDeleteAutoCreatedReservations": true,
  "name": "fr-02",
  "specificSkuProperties": { 
    "sourceInstanceTemplate": "projects/example-project/regions/us-central1/instanceTemplates/example-template",
    "totalCount": 80
  },
  "shareSettings": {
    "projects": [
      "project-1",
      "project-2"
    ],
    "shareType": "SPECIFIC_PROJECTS"
  },
  "timeWindow": {
    "startTime": "2024-11-10T00:00:00Z",
    "endTime": "2024-12-10T00:00:00Z"
  }
}

您也可以採取下列做法:

  • 如要為自動建立的預留項目指定名稱前置字串,請加入 namePrefix 欄位。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/futureReservations
    
    {
      "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,
      "name": "FUTURE_RESERVATION_NAME",
      "namePrefix": "NAME_PREFIX",
      "shareSettings": {
        "projects": [
          "CONSUMER_PROJECT_ID_1",
          "CONSUMER_PROJECT_ID_2"
        ],
        "shareType": "SPECIFIC_PROJECTS"
      },
      "specificSkuProperties": { 
        "sourceInstanceTemplate": "INSTANCE_TEMPLATE_URL",
        "totalCount": TOTAL_COUNT
      },
      "timeWindow": {
        "startTime": "START_TIME",
        "endTime": "END_TIME"
      }
    }
    

    NAME_PREFIX 改成每個自動建立預留項目的名稱前置字元。為方便您識別這項未來預留項目要求自動建立的預留項目,建議您指定不重複的名稱前置字串。 Google Cloud

  • 如要在預留期間結束後刪除自動建立的預留項目,請選取下列其中一種方法:

    • 如要在預留期間結束後的特定時間刪除自動建立的預留項目,請將 autoDeleteAutoCreatedReservations 設為 true,並加入 autoCreatedReservationsDeleteTime 欄位。

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/futureReservations
      
      {
        "autoCreatedReservationsDeleteTime": "DELETE_TIME",
        "autoDeleteAutoCreatedReservations": true,
        "name": "FUTURE_RESERVATION_NAME",
        "shareSettings": {
          "projects": [
            "CONSUMER_PROJECT_ID_1",
            "CONSUMER_PROJECT_ID_2"
          ],
          "shareType": "SPECIFIC_PROJECTS"
        },
        "specificSkuProperties": { 
          "sourceInstanceTemplate": "INSTANCE_TEMPLATE_URL",
          "totalCount": TOTAL_COUNT
        },
        "timeWindow": {
          "startTime": "START_TIME",
          "endTime": "END_TIME"
        }
      }
      

      DELETE_TIME 替換為 Compute Engine 刪除自動建立預留項目的日期和時間。日期和時間必須採用 RFC 3339 時間戳記格式。

    • 如要在預留期間開始後的特定時間刪除自動建立的預留項目,請將 autoDeleteAutoCreatedReservations 設為 true,並加入 autoCreatedReservationsDuration 欄位。

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/futureReservations
      
      {
        "autoCreatedReservationsDuration": {
          "seconds": "DURATION_BEFORE_DELETE"
        },
        "autoDeleteAutoCreatedReservations": true,
        "name": "FUTURE_RESERVATION_NAME",
        "shareSettings": {
          "projects": [
            "CONSUMER_PROJECT_ID_1",
            "CONSUMER_PROJECT_ID_2"
          ],
          "shareType": "SPECIFIC_PROJECTS"
        },
        "specificSkuProperties": { 
          "sourceInstanceTemplate": "INSTANCE_TEMPLATE_URL",
          "totalCount": TOTAL_COUNT
        },
        "timeWindow": {
          "startTime": "START_TIME",
          "endTime": "END_TIME"
        }
      }
      

      DURATION_BEFORE_DELETE 改為以秒為單位的時間長度。例如,如要指定 604,800 秒 (7 天),請使用 604800

草擬未來預留項目要求後,您可以判斷 Compute Engine 會為要求佈建的 VM 數量

指定現有 VM

您只能根據與 VM 位於相同專案和可用區的現有 VM,草擬未來預留項目要求。

未來預留項目要求獲得 Google Cloud 核准並進入預留期間後,您就能建立屬性與參考 VM 相符的 VM,使用系統自動建立的預留項目。方法如下:

  • 請按照下列步驟建立及使用執行個體範本:

    1. 根據參考 VM 建立執行個體範本,但不覆寫參考 VM 的屬性。

    2. 使用新建立的範本建立 VM,方法如下:

  • 建立 VM,且屬性完全符合參考 VM,如下所示:

    • 在擁有者專案中,根據參照 VM 建立 VM,且不變更所建立 VM 的屬性。

    • 在用戶專案中建立 VM,同時手動確保 VM 的屬性和參照 VM 的屬性相符。

如要建立共用未來預留項目要求,並使用現有 VM 的屬性,請執行下列操作:

  1. 前往 Google Cloud 控制台的「Reservations」(預留項目) 頁面。

    前往「Reservations」(預留項目) 頁面

  2. 點選「Future reservations」(未來預留項目) 分頁標籤

  3. 按一下 「Create future reservation」(建立未來預留項目)。「Create a future reservation」(建立未來預留項目) 頁面隨即顯示。

  4. 在「機器設定」部分,執行下列操作:

    1. 選取「使用現有 VM」

    2. 在「現有 VM」清單中,選取要用於建立預留項目的 VM 屬性。

  5. 在「Location」(位置) 區段的「Region」(區域) 和「Zone」(可用區) 清單中,選取要預留資源的區域和可用區。

  6. 在「容量詳細資料」部分的「所需總容量」中,輸入要預留的 VM 總數

  7. 在「預訂期間」部分,執行下列操作:

    1. 在「Start time」(開始時間) 欄位中,指定預留期間的開始時間。將未來預留項目要求送審後,從這個日期和時間起算,開始時間不得晚於之後一年。為了確保有足夠時間在未來預留項目進入鎖定時間前,選擇性修改、取消或刪除該項目,請指定開始時間的建議值

    2. 在「End time」(結束時間) 欄位中,指定預留期間的結束時間。「時間長度摘要」部分會顯示預留期間的時間長度。將未來預留項目要求送審後,為了提高Google Cloud 核准的可能性,請指定預留期間的建議值

  8. 點選「下一步」

  9. 在「自動刪除」部分,執行下列任一操作:

    • 如要啟用 Compute Engine,自動刪除因未來預留項目要求而自動建立的預留項目,請執行下列操作:

      1. 勾選「Enable auto-delete」(啟用自動刪除功能) 核取方塊。

      2. 選用:在「Auto-delete time」(自動刪除時間) 欄位中,輸入要刪除自動建立預留項目的日期和時間。日期和時間必須晚於預留期間的結束時間。若將這個欄位留空,Compute Engine 就會在預留期間結束後的兩小時內,刪除自動建立的預留項目。

    • 如要停用自動刪除功能,請取消勾選「Enable auto delete」(啟用自動刪除功能) 核取方塊。

  10. 在「分享類型」部分,執行下列操作:

    1. 如要與其他專案共用預留資源,請選取「已共用」

    2. 按一下「新增專案」,然後從目前專案的機構中選取要共用未來預留項目要求的專案。最多可選取 100 個專案。

  11. 點選「下一步」

  12. 在「Future reservation name」(未來預留項目名稱) 欄位中,輸入未來預留項目要求的名稱。

  13. 在「Prefix」(前置字串) 部分,輸入名稱前置字串。凡是根據這項未來預留項目要求自動建立的預留項目,名稱開頭都會是這個前置字串。

  14. 草擬未來預留項目要求後,如要完成建立作業,請按一下「Save a draft」(儲存草稿)。「預留項目」頁面隨即顯示。未來預留項目要求建立作業會在一分鐘內完成。如要確認 Compute Engine 何時完成建立作業,請查看未來預留項目要求

草擬未來預留項目要求後,您可以判斷 Compute Engine 會為要求佈建的 VM 數量

直接指定屬性

如要將為未來預留項目佈建的自動建立預留項目附加至承諾,請停用自動刪除選項。詳情請參閱「建立後的限制」一文。

如要直接指定屬性來建立共用未來預留項目要求,請選取下列其中一個選項:

控制台

  1. 前往 Google Cloud 控制台的「Reservations」(預留項目) 頁面。

    前往「Reservations」(預留項目) 頁面

  2. 點選「Future reservations」(未來預留項目) 分頁標籤

  3. 按一下 「Create future reservation」(建立未來預留項目)。「Create a future reservation」(建立未來預留項目) 頁面隨即顯示。

  4. 在「機器設定」部分,執行下列操作:

    1. 如果尚未選取「指定機器類型」,請選取此項目。

    2. 指定預留 VM 要使用的機型。

  5. 在「Location」(位置) 區段的「Region」(區域) 和「Zone」(可用區) 清單中,選取要預留資源的區域和可用區。

  6. 在「容量詳細資料」部分的「所需總容量」中,輸入要預留的 VM 總數

  7. 在「預訂期間」部分,執行下列操作:

    1. 在「Start time」(開始時間) 欄位中,指定預留期間的開始時間。將未來預留項目要求送審後,從這個日期和時間起算,開始時間不得晚於之後一年。為了確保有足夠時間在未來預留項目進入鎖定時間前,選擇性修改、取消或刪除該項目,請指定開始時間的建議值

    2. 在「End time」(結束時間) 欄位中,指定預留期間的結束時間。「時間長度摘要」部分會顯示預留期間的時間長度。將未來預留項目要求送審後,為了提高Google Cloud 核准的可能性,請指定預留期間的建議值

  8. 點選「下一步」

  9. 在「自動刪除」部分,執行下列任一操作:

    • 如要啟用 Compute Engine,自動刪除因未來預留項目要求而自動建立的預留項目,請執行下列操作:

      1. 勾選「Enable auto-delete」(啟用自動刪除功能) 核取方塊。

      2. 選用:在「Auto-delete time」(自動刪除時間) 欄位中,輸入要刪除自動建立預留項目的日期和時間。日期和時間必須晚於預留期間的結束時間。若將這個欄位留空,Compute Engine 就會在預留期間結束後的兩小時內,刪除自動建立的預留項目。

    • 如要停用自動刪除功能,請取消勾選「Enable auto delete」(啟用自動刪除功能) 核取方塊。

  10. 在「分享類型」部分,執行下列操作:

    1. 如要與其他專案共用預留資源,請選取「已共用」

    2. 按一下「新增專案」,然後從目前專案的機構中選取要共用未來預留項目要求的專案。最多可選取 100 個專案。

  11. 點選「下一步」

  12. 在「Future reservation name」(未來預留項目名稱) 欄位中,輸入未來預留項目要求的名稱。

  13. 在「Prefix」(前置字串) 部分,輸入名稱前置字串。凡是根據這項未來預留項目要求自動建立的預留項目,名稱開頭都會是這個前置字串。

  14. 草擬未來預留項目要求後,如要完成建立作業,請按一下「Save a draft」(儲存草稿)。「預留項目」頁面隨即顯示。未來預留項目要求建立作業會在一分鐘內完成。如要確認 Compute Engine 何時完成建立作業,請查看未來預留項目要求

gcloud

如要直接指定屬性,建立共用未來預訂要求,請使用 gcloud compute future-reservations create 指令搭配 --share-setting=projects--share-with 標記。

如要建立草擬未來預留項目要求,直接指定屬性而不包含任何選用旗標,並在預留期間結束時自動刪除自動建立的預留項目,請執行下列指令:

gcloud compute future-reservations create FUTURE_RESERVATION_NAME \
    --auto-delete-auto-created-reservations \
    --machine-type=MACHINE_TYPE \
    --share-setting=projects \
    --share-with=CONSUMER_PROJECT_IDS \
    --start-time=START_TIME \
    --end-time=END_TIME \
    --total-count=TOTAL_COUNT \
    --zone=ZONE

更改下列內容:

  • FUTURE_RESERVATION_NAME:未來預留項目要求的名稱。
  • MACHINE_TYPE:每個預留 VM 使用的機型。
  • CONSUMER_PROJECT_IDS:以半形逗號分隔的專案 ID 清單,您要允許這些專案使用這項未來預訂要求自動建立的預訂,例如 project-1,project-2。最多可指定 100 個專案。這些專案必須與建立未來預留項目要求的專案 (擁有者專案) 位於同一個機構。請勿指定擁有者專案。根據預設,系統已允許使用這項未來預留項目要求自動建立的預留項目。
  • START_TIME:預訂期間的開始時間,採用 RFC 3339 時間戳記,格式必須如下:

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    更改下列內容:

    • YYYY-MM-DD:以 4 位數年份、2 位數月份和 2 位數日期表示的資料,並以連字號分隔 (-)。

    • HH:MM:SS:時間格式為 2 位數的小時 (採用 24 小時制)、2 位數的分鐘和 2 位數的秒數,並以冒號 (:) 分隔。

    • OFFSET:時區格式為世界標準時間 (UTC) 的偏移量。舉例來說,如要使用太平洋標準時間 (PST),請指定 -08:00。或者,如要不使用位移,請指定 Z

    將未來預留項目要求送審後,從這個日期和時間起算,開始時間不得晚於之後一年。為了確保有足夠時間在未來預留項目要求獲得核准後,選擇性取消、刪除或修改該項目,請指定開始時間的建議值

  • END_TIME:預訂期間的結束時間,格式為 RFC 3339 時間戳記。將要求送審後,為了提高Google Cloud 核准的可能性,請指定最短預留期間。如要指定時間長度而非結束時間,請將 --end-time 旗標替換為 --duration=END_DURATION 旗標。將 END_DURATION 替換為以秒為單位的時間長度。例如,如要指定 1,209,600 秒 (14 天),請使用 1209600

    將未來預留項目要求送審後,為了提高 Google Cloud 核准的可能性,請指定建議的最短時間

  • TOTAL_COUNT:要預留的 VM 總數

  • ZONE:預留資源的所在區域。

舉例來說,假設您想在區域 us-central1-a 中建立名為 fr-02 的草擬未來預留項目要求,並具備下列屬性:

  • 預訂期間為 2024 年 11 月 10 日午夜 (世界標準時間) 至 2024 年 12 月 10 日午夜 (世界標準時間)。

  • VM 總數為 80 個。

  • 具有 4 個 vCPU 的 N2 預先定義機型。
  • 已啟用自動刪除選項。自動建立的預留項目會在預留期間結束時刪除。
  • 未來預留項目要求會與「project-1」和「project-2」共用。

如要建立 fr-02,請執行下列指令:

gcloud compute future-reservations create fr-02 \
    --auto-delete-auto-created-reservations \
    --machine-type=n2-standard-4 \
    --share-setting=projects \
    --share-with=project-1,project-2 \
    --start-time=2024-11-10T00:00:00Z \
    --end-time=2024-12-10T00:00:00Z \
    --total-count=80 \
    --zone=us-central1-a

您也可以採取下列做法:

  • 如要將 GPU 附加至預留的 N1 VM,請加入 --accelerator 標記。

    gcloud compute future-reservations create FUTURE_RESERVATION_NAME \
        --accelerator=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE \
        --auto-delete-auto-created-reservations \
        --machine-type=MACHINE_TYPE \
        --share-setting=projects \
        --share-with=CONSUMER_PROJECT_IDS \
        --start-time=START_TIME \
        --end-time=END_TIME \
        --total-count=TOTAL_COUNT \
        --zone=ZONE
    

    更改下列內容:

    • NUMBER_OF_ACCELERATORS:每個預留 VM 要新增的 GPU 數量。

    • ACCELERATOR_TYPE:a N1 VM 支援的 GPU 型號。為避免發生錯誤,請確認所選 GPU 型號適用於您要建立未來預留項目要求的可用區。

  • 如要在預留期間結束後刪除自動建立的預留項目,請選取下列其中一種方法:

    • 如要在預留期間結束後的特定日期和時間刪除自動建立的預留項目,請加入 --auto-created-reservations-delete-time 標記。

      gcloud compute future-reservations create FUTURE_RESERVATION_NAME \
          --auto-created-reservations-delete-time=AUTO_CREATED_RESERVATIONS_DELETE_TIME \
          --auto-delete-auto-created-reservations \
          --machine-type=MACHINE_TYPE \
          --share-setting=projects \
          --share-with=CONSUMER_PROJECT_IDS \
          --start-time=START_TIME \
          --end-time=END_TIME \
          --total-count=TOTAL_COUNT \
          --zone=ZONE
      

      AUTO_CREATED_RESERVATIONS_DELETE_TIME 替換為以 RFC 3339 時間戳記格式設定的日期和時間。

    • 如要在預留期間結束後的特定時間刪除自動建立的預留項目,請加入 --auto-created-reservations-duration 標記。

      gcloud compute future-reservations create FUTURE_RESERVATION_NAME \
          --auto-created-reservations-duration=DURATION_BEFORE_DELETE \
          --auto-delete-auto-created-reservations \
          --machine-type=MACHINE_TYPE \
          --share-setting=projects \
          --share-with=CONSUMER_PROJECT_IDS \
          --start-time=START_TIME \
          --end-time=END_TIME \
          --total-count=TOTAL_COUNT \
          --zone=ZONE
      

      DURATION_BEFORE_DELETE 替換為以天、小時、分鐘或秒為單位的時間長度。例如,指定 30m 代表 30 分鐘,或指定 1d2h3m4s 代表 1 天 2 小時 3 分鐘 4 秒。

  • 如要停用自動建立預留項目的自動刪除選項,請將 --auto-delete-auto-created-reservations 旗標替換為 --no-auto-delete-auto-created-reservations 旗標。

    gcloud compute future-reservations create FUTURE_RESERVATION_NAME \
        --no-auto-delete-auto-created-reservations \
        --machine-type=MACHINE_TYPE \
        --share-setting=projects \
        --share-with=CONSUMER_PROJECT_IDS \
        --start-time=START_TIME \
        --end-time=END_TIME \
        --total-count=TOTAL_COUNT \
        --zone=ZONE
    
  • 如要將本機 SSD 磁碟連接至預設不含本機 SSD 磁碟的機器類型,請加入 --local-ssd 旗標。您只能附加 375 GB 的本機 SSD 磁碟。

    gcloud compute future-reservations create FUTURE_RESERVATION_NAME \
        --auto-delete-auto-created-reservations \
        --local-ssd=count=NUMBER_OF_LOCAL_SSD_DISKS,size=375,interface=INTERFACE_TYPE \
        --machine-type=MACHINE_TYPE \
        --share-setting=projects \
        --share-with=CONSUMER_PROJECT_IDS \
        --start-time=START_TIME \
        --end-time=END_TIME \
        --total-count=TOTAL_COUNT \
        --zone=ZONE
    

    更改下列內容:

    • NUMBER_OF_LOCAL_SSD_DISKS:要附加的本機 SSD 磁碟數量。

    • INTERFACE_TYPE:您希望本機 SSD 磁碟使用的磁碟介面類型,以及您指定的機型支援的介面類型。請指定下列其中一個值:

      • NVME 磁碟介面:nvme

      • SCSI 磁碟介面:scsi

  • 如要讓預留 VM 使用特定最低 CPU 平台,而非區域的預設 CPU 平台,請加入 --min-cpu-platform 旗標。

    gcloud compute future-reservations create FUTURE_RESERVATION_NAME \
        --auto-delete-auto-created-reservations \
        --machine-type=MACHINE_TYPE \
        --min-cpu-platform="MIN_CPU_PLATFORM" \
        --share-setting=projects \
        --share-with=CONSUMER_PROJECT_IDS \
        --start-time=START_TIME \
        --end-time=END_TIME \
        --total-count=TOTAL_COUNT \
        --zone=ZONE
    

    MIN_CPU_PLATFORM 替換為最低 CPU 平台。如要確認 CPU 平台在您預留資源的區域是否可用,請查看各區域可用的 CPU 平台

  • 如要為自動建立的預留項目指定名稱前置字串,請加入 --name-prefix 旗標。

    gcloud compute future-reservations create FUTURE_RESERVATION_NAME \
        --auto-delete-auto-created-reservations \
        --machine-type=MACHINE_TYPE \
        --name-prefix=NAME_PREFIX \
        --share-setting=projects \
        --share-with=CONSUMER_PROJECT_IDS \
        --start-time=START_TIME \
        --end-time=END_TIME \
        --total-count=TOTAL_COUNT \
        --zone=ZONE
    

    NAME_PREFIX 改成每個自動建立預留項目的名稱前置字元。為方便您識別這項未來預留項目要求自動建立的預留項目,建議您指定不重複的名稱前置字串。 Google Cloud

REST

如要直接指定屬性來建立共用未來預留項目要求,請對 futureReservations.insert 方法發出 POST 要求

如要建立草擬未來預留項目要求,請直接指定屬性,不含任何選填欄位,並發出 POST 要求,如下所示:

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

{
  "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,
  "name": "FUTURE_RESERVATION_NAME",
  "shareSettings": {
    "projects": [
      "CONSUMER_PROJECT_ID_1",
      "CONSUMER_PROJECT_ID_2"
    ],
    "shareType": "SPECIFIC_PROJECTS"
  },
  "specificSkuProperties": { 
    "instanceProperties": {
      "machineType": "MACHINE_TYPE"
    },
    "totalCount": TOTAL_COUNT
  },
  "timeWindow": {
    "startTime": "START_TIME",
    "endTime": "END_TIME"
  }
}

更改下列內容:

  • PROJECT_ID:您要預留資源的專案 ID。

  • ZONE:預留資源的所在區域。

  • AUTO_DELETE_AUTO_CREATED_RESERVATIONS:如果將這個欄位設為 true,Compute Engine 就會在預留期間結束後的兩小時內,自動刪除這項未來預留項目自動建立的預留項目。如要將自動建立的預訂項目附加至承諾,請將這個欄位設為 false

  • CONSUMER_PROJECT_ID_1CONSUMER_PROJECT_ID_2:可共用這項未來預留項目要求專案的 ID。最多可指定 100 個專案。這些專案必須與建立未來預留項目要求的專案 (擁有者專案) 位於同一個機構。請勿指定擁有者專案。根據預設,系統已允許使用這項未來預留項目要求自動建立的預留項目。
  • TOTAL_COUNT:要預留的 VM 總數

  • START_TIME:預訂期間的開始時間,採用 RFC 3339 時間戳記,格式必須如下:

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    更改下列內容:

    • YYYY-MM-DD:以 4 位數年份、2 位數月份和 2 位數日期表示的資料,並以連字號分隔 (-)。

    • HH:MM:SS:時間格式為 2 位數的小時 (採用 24 小時制)、2 位數的分鐘和 2 位數的秒數,並以冒號 (:) 分隔。

    • OFFSET:時區格式為世界標準時間 (UTC) 的偏移量。舉例來說,如要使用太平洋標準時間 (PST),請指定 -08:00。或者,如要不使用位移,請指定 Z

    將未來預留項目要求送審後,從這個日期和時間起算,開始時間不得晚於之後一年。為了確保有足夠時間在未來預留項目要求獲得核准後,選擇性取消、刪除或修改該項目,請指定開始時間的建議值

  • END_TIME:預訂期間的結束時間,格式為 RFC 3339 時間戳記。將要求送審後,為了提高Google Cloud 核准的可能性,請指定最短預留期間。如要指定時間長度而非結束時間,請將 endTime 欄位替換為 duration 欄位:

    "duration": {
      "seconds": END_DURATION
    }
    

    END_DURATION 替換為以秒為單位的時間長度。舉例來說,如要指定 1,209,600 秒 (14 天),請輸入 1209600

舉例來說,假設您想在區域 us-central1-a 中建立名為 fr-02 的草擬未來預留項目要求,並具備下列屬性:

  • 預訂期間為 2024 年 11 月 10 日午夜 (世界標準時間) 至 2024 年 12 月 10 日午夜 (世界標準時間)。

  • VM 總數為 80 個。

  • 具有 4 個 vCPU 的 N2 預先定義機型。
  • 已啟用自動刪除選項。自動建立的預留項目會在預留期間結束時刪除。
  • 未來預留項目要求會與「project-1」和「project-2」共用。

如要建立 fr-02,請發出 POST 要求,如下所示:

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

{
  "autoDeleteAutoCreatedReservations": true,
  "name": "fr-02",
  "specificSkuProperties": { 
    "instanceProperties": {
      "machineType": "n2-standard-4"
    },
    "totalCount": 80
  },
  "shareSettings": {
    "projects": [
      "project-1",
      "project-2"
    ],
    "shareType": "SPECIFIC_PROJECTS"
  },
  "timeWindow": {
    "startTime": "2024-11-10T00:00:00Z",
    "endTime": "2024-12-10T00:00:00Z"
  }
}

您也可以採取下列做法:

  • 如要為自動建立的預留項目指定名稱前置字串,請加入 namePrefix 欄位。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/futureReservations
    
    {
      "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,
      "name": "FUTURE_RESERVATION_NAME",
      "namePrefix": "NAME_PREFIX",
      "shareSettings": {
        "projects": [
          "CONSUMER_PROJECT_ID_1",
          "CONSUMER_PROJECT_ID_2"
        ],
        "shareType": "SPECIFIC_PROJECTS"
      },
      "specificSkuProperties": { 
        "instanceProperties": {
          "machineType": "MACHINE_TYPE"
        },
        "totalCount": TOTAL_COUNT
      },
      "timeWindow": {
        "startTime": "START_TIME",
        "endTime": "END_TIME"
      }
    }
    

    NAME_PREFIX 改成每個自動建立預留項目的名稱前置字元。為方便您識別這項未來預留項目要求自動建立的預留項目,建議您指定不重複的名稱前置字串。 Google Cloud

  • 如要將 GPU 附加至預留的 N1 VM,請加入 guestAccelerators 欄位。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/futureReservations
    
    {
      "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,
      "name": "FUTURE_RESERVATION_NAME",
      "shareSettings": {
        "projects": [
          "CONSUMER_PROJECT_ID_1",
          "CONSUMER_PROJECT_ID_2"
        ],
        "shareType": "SPECIFIC_PROJECTS"
      },
      "specificSkuProperties": {
        "instanceProperties": {
          "guestAccelerators": [
            {
              "acceleratorCount": NUMBER_OF_ACCELERATORS,
              "acceleratorType": "ACCELERATOR_TYPE"
            }
          ],
          "machineType": "MACHINE_TYPE"
        },
        "totalCount": TOTAL_COUNT
      },
      "timeWindow": {
        "startTime": "START_TIME",
        "endTime": "END_TIME"
      }
    }
    

    更改下列內容:

    • NUMBER_OF_ACCELERATORS:每個預留 VM 要新增的 GPU 數量。

    • ACCELERATOR_TYPE:a N1 VM 支援的 GPU 型號。為避免發生錯誤,請確認所選 GPU 型號適用於您要建立未來預留項目要求的可用區。

  • 如要將本機 SSD 磁碟連接至預設不含本機 SSD 磁碟的機型,請在要求主體中加入 localSsds 欄位。您只能連接 375 GB 的本機 SSD 磁碟。

    舉例來說,如要在草擬未來預留項目要求時指定兩個本機 SSD 磁碟,請提出 POST 要求,如下所示:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/futureReservations
    
    {
      "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,
      "name": "FUTURE_RESERVATION_NAME",
      "shareSettings": {
        "projects": [
          "CONSUMER_PROJECT_ID_1",
          "CONSUMER_PROJECT_ID_2"
        ],
        "shareType": "SPECIFIC_PROJECTS"
      },
      "specificSkuProperties": {
        "instanceProperties": {
          "localSsds": [
            {
              "diskSizeGb": "375",
              "interface": "INTERFACE_TYPE"
            },
            {
              "diskSizeGb": "375",
              "interface": "INTERFACE_TYPE"
            }
          ],
          "machineType": "MACHINE_TYPE"
        },
        "totalCount": TOTAL_COUNT
      },
      "timeWindow": {
        "startTime": "START_TIME",
        "endTime": "END_TIME"
      }
    }
    

    INTERFACE_TYPE 替換為您希望本機 SSD 磁碟使用的磁碟介面類型,且您指定的機型支援該類型。請指定下列其中一個值:

    • NVME 磁碟介面:NVME

    • SCSI 磁碟介面:SCSI

  • 如要讓預留 VM 使用特定最低 CPU 平台,而非區域的預設 CPU 平台,請加入 minCpuPlatform

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/futureReservations
    
    {
      "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,
      "name": "FUTURE_RESERVATION_NAME",
      "shareSettings": {
        "projects": [
          "CONSUMER_PROJECT_ID_1",
          "CONSUMER_PROJECT_ID_2"
        ],
        "shareType": "SPECIFIC_PROJECTS"
      },
      "specificSkuProperties": {
        "instanceProperties": {
          "machineType": "MACHINE_TYPE",
          "minCpuPlatform": "MINIMUM_CPU_PLATFORM"
        },
        "totalCount": TOTAL_COUNT
      },
      "timeWindow": {
        "startTime": "START_TIME",
        "endTime": "END_TIME"
      }
    }
    

    MIN_CPU_PLATFORM 替換為最低 CPU 平台。如要確認 CPU 平台是否適用於您預留資源的可用區,請查看各可用區適用的 CPU 平台

  • 如要在預留期間結束後刪除自動建立的預留項目,請選取下列其中一種方法:

    • 如要在預留期間結束後的特定時間刪除自動建立的預留項目,請將 autoDeleteAutoCreatedReservations 設為 true,並加入 autoCreatedReservationsDeleteTime 欄位。

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/futureReservations
      
      {
        "autoCreatedReservationsDeleteTime": "DELETE_TIME",
        "autoDeleteAutoCreatedReservations": true,
        "name": "FUTURE_RESERVATION_NAME",
        "shareSettings": {
          "projects": [
            "CONSUMER_PROJECT_ID_1",
            "CONSUMER_PROJECT_ID_2"
          ],
          "shareType": "SPECIFIC_PROJECTS"
        },
        "specificSkuProperties": { 
          "instanceProperties": {
            "machineType": "MACHINE_TYPE"
          },
          "totalCount": TOTAL_COUNT
        },
        "timeWindow": {
          "startTime": "START_TIME",
          "endTime": "END_TIME"
        }
      }
      

      DELETE_TIME 替換為 Compute Engine 刪除自動建立預留項目的日期和時間。日期和時間必須採用 RFC 3339 時間戳記格式。

    • 如要在預留期間開始後的特定時間刪除自動建立的預留項目,請將 autoDeleteAutoCreatedReservations 設為 true,並加入 autoCreatedReservationsDuration 欄位。

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/futureReservations
      
      {
        "autoCreatedReservationsDuration": {
          "seconds": "DURATION_BEFORE_DELETE"
        },
        "autoDeleteAutoCreatedReservations": true,
        "name": "FUTURE_RESERVATION_NAME",
        "shareSettings": {
          "projects": [
            "CONSUMER_PROJECT_ID_1",
            "CONSUMER_PROJECT_ID_2"
          ],
          "shareType": "SPECIFIC_PROJECTS"
        },
        "specificSkuProperties": { 
          "instanceProperties": {
            "machineType": "MACHINE_TYPE"
          },
          "totalCount": TOTAL_COUNT
        },
        "timeWindow": {
          "startTime": "START_TIME",
          "endTime": "END_TIME"
        }
      }
      

      DURATION_BEFORE_DELETE 改為以秒為單位的時間長度。例如,如要指定 604,800 秒 (7 天),請使用 604800

草擬未來預留項目要求後,您可以判斷 Compute Engine 會為要求佈建的 VM 數量

提交草稿要求

提交未來預留項目要求並獲得 Google Cloud核准,且已過鎖定時間後,您只能在未來預留項目的預留期間結束後,刪除該預留項目和自動建立的預留項目。如果您需要建立另一個具有相同屬性的未來預留項目,刪除現有的未來預留項目會很有幫助。因此,建立未來預留項目要求之前,請先確認下列事項:

  • 專案中的任何現有預留項目或未來預留項目,都會限制您可建立的未來預留項目要求共用設定。為確保您能順利建立未來預留項目要求,且要求不會導致您與其他專案共用未來預留項目要求或預留項目時發生問題,請參閱限制

  • 您必須承諾支付 Compute Engine 在整個預留期間內佈建的預留資源費用,無論自動建立的預留項目是否耗用。詳情請參閱「帳單」。

如要在將草擬的未來預留項目要求送審時修改一或多項屬性,請參閱「修改未來預留項目要求」一文。

如要將草擬的未來預留項目要求提交給 Google Cloud 審查,請選取下列任一選項:

控制台

  1. 前往 Google Cloud 控制台的「Reservations」(預留項目) 頁面。

    前往「Reservations」(預留項目) 頁面

  2. 點選「Future reservations」(未來預留項目) 分頁標籤

  3. 在「Name」(名稱) 欄中,按一下採購狀態為「Drafting」(草擬中) 的未來預留項目要求名稱。「未來的預留項目」頁面隨即顯示,其中包含未來預留項目要求的詳細資料。

  4. 按一下 「編輯草稿」。系統會顯示頁面,供您更新草擬的未來預留項目要求。

  5. 如要提交草擬的未來預留項目要求以供審查,請按一下「Create」(建立)。「預訂」頁面隨即顯示。

gcloud

如要提交草擬的未來預留項目要求以供審查,請使用 gcloud compute future-reservations update 指令,並將 --planning-status 旗標設為 SUBMITTED

gcloud compute future-reservations update FUTURE_RESERVATION_NAME \
    --planning-status=SUBMITTED \
    --zone=ZONE

更改下列內容:

  • FUTURE_RESERVATION_NAME:現有草稿未來預留項目要求的名稱。

  • ZONE:未來預留項目所在的可用區。

REST

如要提交草擬的未來預留項目要求以供審查,請對 futureReservations.update 方法發出 PATCH 要求。在要求網址中,加入設為 planningStatusupdateMask 查詢參數。

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

{
  "name": "FUTURE_RESERVATION_NAME",
  "planningStatus": "SUBMITTED"
}

更改下列內容:

  • PROJECT_ID:未來預訂要求所在的專案 ID。

  • ZONE:未來預留項目所在的可用區。

  • FUTURE_RESERVATION_NAME:現有草稿未來預留項目要求的名稱。

將草擬的未來預留項目要求送交審查後,您可以執行下列操作:

疑難排解

如果在建立未來預留項目要求時發生錯誤,請參閱如何排解未來預留項目要求的問題

如果排解問題後仍遇到問題,請與帳戶團隊銷售團隊聯絡。

後續步驟