共用 Cloud TPU 預訂
本文說明如何啟用預訂共用功能。預留項目共用功能可讓您在一個專案 (擁有者專案) 中建立 Cloud TPU 預留項目,並在與擁有者專案位於同一機構的另一個專案 (消費者專案) 中使用該預留項目。共用預留項目後,您也可以使用 TPU 預留項目,在 Vertex AI 中執行自訂訓練或預測工作。
擁有者專案是您建立預留資源的專案。消費者專案是指共用預留項目的專案。您可以使用擁有者專案中的預留項目,在擁有者專案和消費者專案中建立 TPU VM。
如要進一步瞭解如何取得 TPU 預訂,請參閱「關於 Cloud TPU 預訂」。
限制
分享 TPU 預訂項目之前,請先考量下列事項:
您只能透過擁有者專案修改共用預留項目。
你可以透過日曆模式修改短期預訂,或僅透過下列方式修改長期預訂:
預訂開始時間過後,你才能修改預訂。
您只能修改預留項目,允許或禁止 Vertex AI 中的工作使用。
分享 Cloud TPU 預訂
以下各節說明分享預訂內容的不同方法。
啟用 TPU 預留項目共用功能
您可以在用戶專案中,使用其他專案擁有的預留項目建立 TPU VM。共用 TPU 預留項目的所有專案都必須屬於同一個機構。
如要啟用 TPU 預留項目共用功能,請按照下列步驟操作:
使用
gcloud resource-manager org-policies allow指令,授予擁有者專案建立及修改共用預訂的權限:gcloud resource-manager org-policies allow \ compute.sharedReservationsOwnerProjects \ projects/OWNER_PROJECT_NUMBER --organization=ORGANIZATION_ID
更改下列內容:
透過 Google Cloud 控制台啟用 CUD 共用功能。如需操作說明,請參閱「為以資源為準的約期啟用 CUD 分享功能」。
如要啟用共用功能,請使用
gcloud beta compute reservations update指令,並加上--share-setting=projects和--share-with旗標:gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --zone=ZONE
更改下列內容:
- RESERVATION_NAME:預留項目的名稱。
- OWNER_PROJECT_ID:包含預留事項的專案 ID。
- CONSUMER_PROJECT_IDS:以半形逗號分隔的專案 ID 清單,這些專案可使用這項預留空間。例如:
project-1,project-2。最多可包含 100 個消費者專案。這些專案必須與擁有者專案位於同一個機構。 請勿加入擁有者專案。根據預設,系統已允許擁有者專案使用預留項目。 - ZONE:預留資源所在的可用區。
停用 TPU 預留項目共用功能
如要禁止與用戶專案清單共用 TPU 預訂項目,請使用 gcloud beta compute reservations
update 指令,並加上 --share-setting=projects 和 --remove-share-with 標記:
gcloud compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --share-setting=projects \ --remove-share-with=CONSUMER_PROJECT_IDS \ --zone=ZONE
更改下列內容:
- RESERVATION_NAME:預留項目的名稱。
- OWNER_PROJECT_ID:包含預留項目的專案 ID。
- CONSUMER_PROJECT_IDS:以半形逗號分隔的專案 ID 清單,您要停止與這些專案共用預留項目。例如:
project-1,project-2。 - ZONE:預留資源所在的可用區。
如要禁止與所有用戶專案共用 TPU 預留項目,請使用 gcloud beta compute reservations
update 指令搭配 --share-setting=local 標記,將預留項目變更為本機預留項目:
gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --share-setting=local \ --zone=ZONE
更改下列內容:
- RESERVATION_NAME:預留項目的名稱。
- OWNER_PROJECT_ID:包含預留項目的專案 ID。
- ZONE:預留資源所在的可用區。
允許 Vertex AI 使用 TPU 預留項目
您可以允許 Vertex AI 中的訓練或預測工作,在日曆模式中消耗短期預留項目,或僅在長期預留項目的開始時間過後消耗。
如要允許 Vertex AI 使用 TPU 預留項目,請使用 gcloud beta compute
reservations update 指令,並加上 --reservation-sharing-policy=ALLOW_ALL 旗標:
gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --zone=ZONE \ --reservation-sharing-policy=ALLOW_ALL
更改下列內容:
- RESERVATION_NAME:預留項目的名稱。
- OWNER_PROJECT_ID:包含預留項目的專案 ID。
- ZONE:預留項目的可用區。
禁止 Vertex AI 使用 TPU 預留項目
禁止 Vertex AI 使用 TPU 預留項目前,請先停止使用該項目的所有 Vertex AI 工作。否則會發生錯誤。
如要禁止 Vertex AI 使用 TPU 預留項目,請使用 gcloud beta compute reservations
update 指令搭配 --reservation-sharing-policy=DISALLOW_ALL 標記:
gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --zone=ZONE \ --reservation-sharing-policy=DISALLOW_ALL
更改下列內容:
- RESERVATION_NAME:預留項目的名稱。
- OWNER_PROJECT_ID:包含預留項目的專案 ID。
- ZONE:預留項目的可用區。
取得共用預留項目的相關資訊
您只能從擁有者專案取得共用預留項目的相關資訊。
如要取得共用預留項目的相關資訊,請使用 gcloud compute
reservations describe 指令:
gcloud compute reservations describe RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --zone=ZONE
更改下列內容:
- RESERVATION_NAME:預留項目的名稱。
- OWNER_PROJECT_ID:包含預留項目的專案 ID。
- ZONE:預留項目的可用區。
回覆內容大致如下:
aggregateReservation: [...] name: RESERVATION_NAME reservationSharingPolicy: serviceShareType: ALLOW_ALL resourceStatus: {} selfLink: https://www.googleapis.com/compute/v1/projects/OWNER_PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME shareSettings: projectMap: 'CONSUMER_PROJECT_1': projectId: 'CONSUMER_PROJECT_1' 'CONSUMER_PROJECT_2': projectId: 'CONSUMER_PROJECT_2' shareType: SPECIFIC_PROJECTS specificReservationRequired: true status: READY zone: https://www.googleapis.com/compute/v1/projects/OWNER_PROJECT_ID/zones/ZONE