本頁面說明如何開始使用 Batch for Google Cloud。
總覽
Batch 是一項全代管服務,可讓您在 Google Cloud 資源上排定時間、排入佇列和執行批次處理工作負載。舉例來說,您可以考慮將 Batch 用於高效能運算 (HPC)、機器學習 (ML) 和資料處理工作負載。Batch 會為您佈建資源並管理容量,讓批次工作負載大規模執行。
使用 Batch 時,您不必設定及管理第三方工作排程器、佈建及解除佈建資源,或一次要求一個區域的資源。如要執行工作,您必須為工作負載所需的資源指定參數,然後 Batch 會取得資源,並將工作排入執行佇列。Batch 提供與其他 Google Cloud 服務的本機整合功能,可協助排程、執行、儲存及分析批次工作,讓您可以專注於提交工作並使用結果。
Batch 由下列元件組成:
工作:這是一種排程程式,可在無任何使用者互動情況下執行一組工作,通常用於運算工作負載。舉例來說,工作可以是單一殼層指令碼,或複雜的多部分運算。
具體來說,批次工作代表一或多個工作陣列,以及執行這些工作的環境。您可以將工作的程式定義為一或多個可執行項目的序列。每項工作都會在工作資源上執行可執行項目序列。您可以設定工作任務以並行或依序執行。
工作:執行工作可執行項目序列一次。如果工作包含多個工作,您可以指定每個執行作業的差異方式,方法是參照工作可執行項目中工作索引的環境變數。
可執行項目:您在工作中定義的可執行指令碼或容器。
資源:執行工作所需的基礎架構。您至少需要指定每項工作所需的運算資源:CPU 核心、記憶體和 (如有需要) 額外的啟動磁碟儲存空間。您也可以視需要為工作指定其他資源選項。在工作執行期間,Batch 會自動建立及刪除符合您規格的資源。
具體來說,每個 Batch 工作都會在區域代管執行個體群組 (MIG) 上執行,這類群組包含一或多個相符的 Compute Engine 虛擬機器 (VM) 執行個體,每個執行個體都位於所包含的可用區中。每個 VM 都有專屬的 CPU 核心和記憶體硬體 (會影響工作效能),以及開機磁碟,用於儲存作業系統 (OS) 映像檔和執行工作時的操作說明。如果指定,工作可能也會包含或存取其他資源,例如 GPU 或外部儲存空間磁碟區。為工作佈建的 VM 數量取決於您指定的硬體需求和工作排程選項。
總而言之,Batch 可讓您建立及執行工作,每個工作都會自動佈建及利用執行工作所需的資源。
如要進一步瞭解工作行為和選項,請參閱「工作建立和執行總覽」頁面。
定價
使用 Batch 不會產生額外費用。您只需為執行工作所需的基礎資源付費。
如要進一步瞭解與 Batch 相關的費用,以及如何篩選 Cloud Billing 報表來查看 Batch 費用,請參閱「定價」一文。
限制
批次有下列限制:
事前準備
如要開始使用 Batch,請完成下列必要條件:
- 如果專案之前未使用 Batch,請為專案啟用 Batch。
- 為每位新使用者設定 Batch。
為專案啟用 Batch
如要開始在專案中使用 Batch,請按照下列步驟操作:
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Make sure that billing is enabled for your Google Cloud project.
請確認專案已啟用 Batch:
使用Google Cloud 控制台或 Google Cloud CLI 啟用 Batch 的 API。
控制台
Enable the Batch, Compute Engine, and Cloud Logging APIs.
gcloud
Enable the Batch, Compute Engine, and Cloud Logging APIs:
gcloud services enable batch.googleapis.com
compute.googleapis.com logging.googleapis.com 請確認專案具備一或多個具備必要權限的服務帳戶,以便建立及存取執行 Batch 工作所需的資源。
重要的是,您必須將使用者授權使用其中一個服務帳戶,才能允許他們在專案中建立及執行批次工作。因此,請勿選取權限比您要授予這些使用者的權限還多的服務帳戶。
每個工作預設使用的服務帳戶為 Compute Engine 預設服務帳戶,但您也可以自訂工作使用的服務帳戶。
除非您只打算為工作服務帳戶使用預設設定,否則請為專案用於批次工作所使用的任何服務帳戶授予下列 IAM 角色。
- 專案的批次工作代理程式回報者 (
roles/batch.agentReporter
) - 如要讓工作在 Cloud Logging 中產生記錄:專案上的記錄檔記錄器 (
roles/logging.logWriter
)
您用於工作任務的服務帳戶,可能也需要額外的角色,這取決於您要用於工作任務的設定選項。請參閱各項工作的說明文件,瞭解是否需要額外權限。如要進一步瞭解如何將角色授予服務帳戶,請參閱「限制服務帳戶」和「管理服務帳戶存取權」。
- 專案的批次工作代理程式回報者 (
請務必熟悉專案的批次服務代理人:
建立 Batch 作業後,系統會為您的專案自動建立 Batch 服務代理程式,名稱如下:
service-PROJECT_NUMBER@gcp-sa-cloudbatch.iam.gserviceaccount.com
將
PROJECT_NUMBER
替換為專案的專案編號。Batch 服務代理會自動獲得 Google Batch 服務代理 (
roles/batch.serviceAgent
) IAM 角色。您的專案必須採用這項設定,才能使用 Batch。不過,在某些用途 (例如在共用虛擬私有雲網路上執行工作) 中,您必須授予專案的 Batch 服務代理額外權限。
詳情請參閱「服務代理程式」。
為新使用者設定 Batch
如要開始以使用者身分使用 Batch,請執行下列操作:
如要取得使用 Batch 所需的權限,請要求管理員為您授予專案的必要 IAM 角色。請參閱各項工作的說明文件,瞭解所需權限。
舉例來說,如果您想開始瞭解如何透過建立基本工作來使用 Batch,建議您為下列工作要求角色:
- 如要建立工作,請按照下列步驟操作:
- 專案的批次工作編輯器 (
roles/batch.jobsEditor
) - 工作服務帳戶的服務帳戶使用者 (
roles/iam.serviceAccountUser
),預設為Compute Engine 預設服務帳戶
- 專案的批次工作編輯器 (
- 如要列出及說明工作:在專案中使用批次工作編輯器 (
roles/batch.jobsEditor
) 或批次工作檢視器 (roles/batch.jobsViewer
) - 如要查看工作記錄:在專案中使用「記錄檢視器」(
roles/logging.viewer
) - 如要刪除工作:在專案中使用批次工作編輯器 (
roles/batch.jobsEditor
)
如要進一步瞭解如何授予角色,請參閱「管理存取權」。
- 如要建立工作,請按照下列步驟操作:
如要使用 Batch 的指令列範例,請按照下列步驟設定 Google Cloud CLI。進一步瞭解 Google Cloud 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.
建議做法:使用
gcloud config set project
指令設定預設專案:gcloud config set project PROJECT_ID
將
PROJECT_ID
替換為專案的專案 ID。
如要使用 Batch 的 API 範例或用戶端程式庫範例,請參閱「驗證 Batch」一文。
取得支援
您可以使用 Cloud 論壇上的 Batch 標籤,與社群討論 Batch。
如果您在使用 Batch 時遇到問題,請參閱疑難排解說明文件。
如需 Batch 支援服務或提供意見回饋,請使用下列資源:
如有 Google Cloud的帳單問題,請與帳單支援團隊聯絡。
如果您購買了付費支援方案,請直接與 Google Cloud 支援團隊聯絡,瞭解 Batch 相關問題。
Google Cloud 提供多種支援方案以滿足不同的需求,例如全年無休的全天候支援、電話支援服務,以及直接諮詢技術支援經理。詳情請參閱「Google Cloud 支援」頁面。
如要提供任何 Batch 相關意見或功能要求,或是在沒有付費支援方案的情況下回報 Batch 相關問題,請按一下「提供意見」按鈕,該按鈕位於每個 Batch 說明文件頁面的開頭和結尾。然後選取下列其中一個選項:
- 如要提供與 Batch 說明文件相關的意見回饋,請選取「說明文件意見回饋」。
- 如要提供 Batch 的其他意見,請選取「產品意見回饋」。
後續步驟
進一步瞭解 Batch:
進一步瞭解如何建立工作。
瞭解相關 Google Cloud 產品: