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