网络最佳实践

本文档介绍了为 AI Hypercomputer 工作负载创建安全且弹性的网络环境的最佳实践。这些建议适用于想要在 AI Hypercomputer 上配置和部署人工智能 (AI) 和机器学习 (ML) 工作负载的网络架构师、网络工程师和开发者。

建立明确且受限的 IAM 角色

正确配置 IAM 有助于提高 AI Hypercomputer 部署的安全性并确保部署成功。在生产环境中,权限不足或配置错误可能会导致部署失败。AI Hypercomputer 部署(尤其是使用 Cluster Toolkit 的部署)通常会在 安全状况严峻的环境中失败,因为默认的 Compute Engine 服务帐号没有广泛的 Editor 角色。

为帮助缓解因权限问题而可能发生的部署问题,请遵循本部分列出的最佳实践。

使用专用服务账号

为提高安全性和控制能力,请避免使用默认的 Compute Engine 服务帐号。而是为 AI Hypercomputer 部署创建一个专用服务帐号。

授予必要的 IAM 角色

向您创建的专用服务帐号授予以下 IAM 角色:

  • Compute Admin (roles/compute.admin):提供对 Compute Engine 资源的完全控制权限。
  • Service Account User (roles/iam.serviceAccountUser):允许将服务帐号附加到其他资源,这对于使用 Packer 等工具构建自定义映像至关重要。
  • Storage Admin (roles/storage.admin):需要访问和管理 Cloud Storage 存储分区,例如存储 Packer 映像或其他工件。
  • Logging Admin (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) 设置失败。如果不了解特定的防火墙规则,工程师可能难以诊断这些故障。

检查并更新您的防火墙规则,以尽可能减少直接暴露于互联网的风险。如需详细了解 VPC 防火墙规则,请参阅 VPC 防火墙 规则

对内部网络默认设置进行标准化处理

对内部网络默认设置进行标准化处理,以降低风险和配置难题。在复杂或安全状况严峻的环境中,默认的网络行为可能会带来风险或配置难题。Google 建议采用以下配置:

  • 使用可用区级 DNS :对于新项目,请将内部域名系统 (DNS) 设置为仅使用可用区级 DNS。这种方法有助于降低潜在的全局 DNS 中断的影响。如需详细了解如何使用可用区级 DNS,请参阅使用可用区级 DNS 概览
  • 停用外部 IP 地址 :如果可以,请停用外部 IP 地址。在停用 IP 地址之前,您必须在预演环境中进行周密规划和测试,因为某些服务(例如托管式实例组 (MIG) 或具有公共节点的 GKE 集群)依赖于这些 IP 地址。如需详细了解如何限制公共 IP 地址,请参阅限制 Google Cloud 上的公共 IP 地址

最佳实践摘要

下表总结了本文档中建议的最佳做法。

主题 任务
IAM 建立明确且受限的 IAM 角色
防火墙 限制公共网络访问权限并加强防火墙配置
网络默认设置 对内部网络默认设置进行标准化处理

后续步骤