網路最佳做法

本文說明如何建立安全無虞且具備復原能力的網路環境,以執行 AI Hypercomputer 工作負載。這些建議適用於網路架構師、網路工程師和開發人員,他們想在 AI Hypercomputer 上設定及部署人工智慧 (AI) 和機器學習 (ML) 工作負載。

建立明確且受限的 IAM 角色

正確設定 IAM 有助於提升 AI Hypercomputer 部署作業的安全性及成功率。在生產環境中,權限不足或設定錯誤可能會導致部署失敗。在安全防護嚴密的環境中,如果預設的 Compute Engine 服務帳戶沒有廣泛的 Editor 角色,AI Hypercomputer 部署作業 (尤其是使用 Cluster Toolkit 的部署作業) 就經常會失敗。

為協助減輕因權限問題而可能發生的部署問題,請遵循本節列出的最佳做法。

使用專屬服務帳戶

為提升安全性和控管能力,請避免使用預設的 Compute Engine 服務帳戶。請為 AI Hypercomputer 部署作業建立專用服務帳戶。

授予必要的 IAM 角色

將下列 IAM 角色授予您建立的專屬服務帳戶:

  • Compute 管理員 (roles/compute.admin):提供 Compute Engine 資源的完整控制權。
  • 「服務帳戶使用者」 (roles/iam.serviceAccountUser):允許將服務帳戶附加至其他資源,這對 Packer 等工具建構自訂映像檔時至關重要。
  • 儲存空間管理員 (roles/storage.admin):需要存取及管理 Cloud Storage bucket,例如儲存 Packer 映像檔或其他構件。
  • 記錄管理員 (roles/logging.admin):允許服務帳戶設定記錄和查看記錄,這對偵錯至關重要。

部署前先驗證權限

開始部署前,請確認服務帳戶具備必要權限。執行 gcloud projects get-iam-policy 指令

gcloud projects get-iam-policy PROJECT_ID \
    --flatten="bindings[].members" \ format='table(bindings.role)' \
    --filter="bindings.members:serviceAccount:SERVICE_ACCOUNT_EMAIL"

更改下列內容:

  • PROJECT_ID: Google Cloud 專案的 ID。
  • SERVICE_ACCOUNT_EMAIL:要驗證的服務帳戶電子郵件地址。

這個指令會列出指定專案中授予服務帳戶的所有角色。確認輸出內容中顯示「授予必要的 IAM 角色」一節列出的角色。

限制公開網路存取權,並強化防火牆設定

限制公開網路存取權,並強化防火牆設定,以提升安全性。這項基本安全做法可降低權限過於寬鬆的預設防火牆規則風險。

在內部測試中,如果沒有嚴格的防火牆設定,就可能導致正式環境中的虛擬機器 (VM) 設定失敗。如果工程師不瞭解特定防火牆規則,可能難以診斷這些故障。

檢查並更新防火牆規則,盡量減少直接暴露於網際網路的風險。如要進一步瞭解虛擬私有雲防火牆規則,請參閱「虛擬私有雲防火牆規則」。

標準化內部網路預設值

將內部網路預設值標準化,以降低風險和設定難度。在複雜或安全強化環境中,預設網路行為可能會造成風險或設定上的挑戰。Google 建議採用下列設定:

  • 使用區域 DNS:對於新專案,請將內部網域名稱系統 (DNS) 設為僅限區域 DNS。這個方法有助於降低全球 DNS 服務中斷的潛在影響。如要進一步瞭解如何使用區域 DNS,請參閱「區域 DNS 使用總覽」。
  • 停用外部 IP 位址:盡可能停用外部 IP 位址。停用 IP 位址前,請務必仔細規劃並在測試環境中進行測試,因為部分服務 (例如受管理執行個體群組 (MIG) 或含公開節點的 GKE 叢集) 會用到這些位址。如要進一步瞭解如何限制公開 IP 位址,請參閱「限制 Google Cloud 上的公開 IP 位址」。

最佳做法摘要

下表摘要說明本文建議的最佳做法:

主題 工作
IAM 建立明確且受限的 IAM 角色
防火牆 限制公用網路存取權,並強化防火牆設定
網路預設值 標準化內部網路預設設定

後續步驟