本文档将指导您完成在部署 Agent Gateway 时配置 VPC 连接的过程,以便它能够与您组织中的 VPC 网络进行私密通信。
设置 VPC 连接后,您可以执行以下操作:
- 强制执行 VPC 出站流量:使用
PRIVATE_RANGES_ONLY或ALL_TRAFFIC模式,通过 Private Service Connect 网络连接将源自智能体的流量路由到 VPC 网络。 - 静态来源 IP 地址范围:出站流量使用 Private Service Connect 网络连接子网的专用 IP 地址范围作为其来源 IP 地址。借助此静态来源 IP 范围,您可以为 VPC 网络配置防火墙政策,以控制来自网关的流量。
- 自定义 DNS 解析:使用 Cloud DNS 对等互连直接从代理中解析内部私有域名和外部域名。
- 边界安全:使用 VPC Service Controls 服务边界保护智能体通信。
- 私有或自签名证书验证:连接到使用私有 CA 或自签名证书的目标。
如需配置 VPC 连接,您需要创建一个 Agent Gateway 连接模板 (AgentConnectivityTemplate),在其中定义和管理 Agent Gateway 实例的出站流量网络设置。
VPC 连接的工作原理
使用连接模板部署 Agent Gateway 时,网关会使用 Private Service Connect 接口将出站智能体流量路由到指定的 VPC 网络。
VPC 出站流量模式
您可以使用连接模板中的 vpcEgress 设置来配置网关如何通过网络连接路由流量。
发往专用 IP 地址范围 (
PRIVATE_RANGES_ONLY) 的流量:仅将发往专用 IP 地址范围的流量路由到 VPC 网络。仅当目标 IP 地址属于以下范围之一时,出站流量才会路由到您的 VPC 网络:- RFC 1918:
10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 - RFC 6598:
100.64.0.0/10 - E 类:
240.0.0.0/4 private.googleapis.com:199.36.153.8/30restricted.googleapis.com:199.36.153.4/30- 适用于 Google API 的 PSC 端点:如果您使用 VPC 网络中的内部专用 IP 地址为 Google API 部署自定义 Private Service Connect 端点,则流向此端点的流量会通过您的 VPC 网络进行路由。确保在连接模板中配置了 Cloud DNS 对等互连,以便 Agent Gateway 正确地将 Google API 网域解析为内部 PSC 端点 IP 地址。
系统会使用专用 Google 访问通道自动处理对标准公共 Google API 的请求,并且流向互联网的流量会直接通过 Agent Gateway 路由,而不是通过 VPC 网络路由。
- RFC 1918:
发往所有 IP 地址范围 (
ALL_TRAFFIC) 的流量:通过 VPC 网络路由源自代理的所有出站流量,包括公共互联网、外部 SaaS API 和非 RFC 1918 地址。- 路由和安全:由于此设置会将所有出站流量路由到 VPC,因此您需要负责管理其路由和安全。确保您的 VPC 网络具有默认路由 (
0.0.0.0/0),以便将此流量转发到出站网关或安全设备(例如下一跃点防火墙或 Cloud Interconnect 接口)。 - 公共互联网出站流量:Agent Gateway 将出站流量发送到您的 VPC 网络,然后通过 Private Service Connect 网络连接子网上的 Cloud NAT 网关流向公共互联网。如果您为 Cloud NAT 网关分配静态外部 IP 地址,则远程服务可以根据这些来源 IP 地址将代理的出站流量列入许可清单。
- VPC Service Controls:必须将出站流量模式设置为
ALL_TRAFFIC,以支持 VPC Service Controls 服务边界。
- 路由和安全:由于此设置会将所有出站流量路由到 VPC,因此您需要负责管理其路由和安全。确保您的 VPC 网络具有默认路由 (
DNS 解析和流量路由
默认情况下,Agent Gateway 使用公共递归 DNS 解析域名。如果您的代理需要访问 VPC 网络中托管在私有域名上的内部工作负载、私有工具或 Google API(例如 corp.internal. 或 PSC 端点),您可以配置 Cloud DNS 对等互连,将 DNS 查询转发到网络的私有 Cloud DNS 托管区域。
下表总结了在 ALL_TRAFFIC 模式下配置 VPC 连接性时,不同目的地的 Cloud DNS 对等互连要求和流量路由行为:
| 流量目的地 | 是否需要 Cloud DNS 对等互连? | DNS 解析 | 出站路径 |
|---|---|---|---|
| 专用 IP 服务 (RFC 1918 / 内部) |
是(例如 corp.internal.) |
使用 Cloud DNS 对等互连与目标 VPC 网络的专用 Cloud DNS 托管可用区进行解析。 | 流量通过网络连接进入您的 VPC 网络,以连接到内部工作负载。 |
| 具有专用 IP 的公共主机名 (水平分割 DNS) |
否 | 在网关代理处使用标准公共递归 DNS 进行解析,无需 Cloud DNS 对等互连。 | 流量通过网络连接进入您的 VPC 网络,以连接到内部工作负载。 |
| 公共网络和 SaaS API (外部网域) |
否 | 在网关代理处使用标准公共递归 DNS 进行解析,无需 Cloud DNS 对等互连。 | 流量通过网络连接进入 VPC 网络,并使用在子网上配置的 Cloud NAT 传出到公共互联网。 |
| Google Cloud API (标准,不使用 VPC Service Controls) |
否 | 在网关代理处使用标准公共递归 DNS 进行解析,无需 Cloud DNS 对等互连。 | 流量通过网络连接进入您的 VPC 网络,并使用子网上启用的专用 Google 访问通道进行私密路由,而无需使用 Cloud NAT 或 DNS 对等互连。 |
| Google Cloud API (使用 VPC Service Controls) |
是(适用于 googleapis.com.) |
使用专用 Cloud DNS 区域解析为受限 Google API 范围 (199.36.153.4/30) 或内部 Private Service Connect 端点。 |
流量通过网络连接进入您的 VPC 网络,以强制执行 VPC Service Controls 边界安全规则1。 |
1 如果请求因 VPC Service Controls 违规(例如引用宿主项目的 compute.googleapis.com 或 dns.googleapis.com 上的 NETWORK_NOT_IN_SAME_SERVICE_PERIMETER 或 SECURITY_POLICY_VIOLATED)而失败,请验证宿主项目是否与网关项目位于同一边界内。
TLS 证书要求
通过 HTTPS 路由出站流量时,Agent Gateway 会在 TLS 握手期间验证目标服务器的 TLS 证书链。HTTPS 连接的证书要求取决于您的目标端点使用的是受大众信任的证书授权机构 (CA) 还是私有/自签名 CA。
公共 CA:默认情况下,Agent Gateway 信任由公开可信证书授权机构 (CA) 颁发的证书,这些证书需满足标准服务器证书要求(包括与目标主机名匹配的主题备用名称 [SAN])。
私有 CA 和自签名证书:如果您的目标目的地(VPC 网络中的代理、工具或 MCP 服务器)使用私有 CA 或内部 PKI,您可以使用连接模板中的
tlsConfig设置来配置自定义信任锚。通过引用 Certificate Manager
TrustConfig资源,您可以将 Agent Gateway 配置为仅信任特定的私有 CA,或将私有根 CA 与公开受信任的 CA (PUBLICLY_TRUSTED_ROOTS) 结合使用。这样可以为公开端点和私有端点建立信任。如果您的智能体连接到 Google Cloud API (
*.googleapis.com) 或其他公共 HTTPS 端点,则必须将additionalRoots设置为PUBLICLY_TRUSTED_ROOTS;如果不进行此设置,Agent Gateway 将不信任googleapis.com的 Google 签名证书。使用
tlsConfig时,请注意以下限制:- 使用
trustConfig将流量路由到使用私有 CA 的目标位置时,您必须手动轮替 PEM 文件。不支持使用 Secret Manager(例如 Google Cloud的 Secret Manager)自动轮替 PEM 文件。 trustConfig字段在连接模板上配置后便不可变,并且 Agent Gateway 不会自动获取对附加连接模板上的tlsConfig所做的更改(例如更新additionalRoots)。如需了解如何更新 TLS 设置,请参阅更新 VPC 出站流量设置。
- 使用
如果 Agent Gateway 无法验证证书链,则连接会失败。
所需的角色和权限
如需为 Agent Gateway 配置 VPC 连接,请确保用于预配的身份和网关服务代理具有所需角色。
独立项目部署
在独立项目中,如果网关、网络连接和 VPC 网络位于同一项目中,则适用标准 Agent Gateway 权限。如需了解详情,请参阅所需权限。
共享 VPC 或跨项目部署
在共享 VPC 部署中,您可以在服务项目或宿主项目中预配 Agent Gateway。如果您在宿主项目(共享 VPC 网络、子网和网络连接也位于其中)中预配网关,则适用独立项目权限。
如果您在服务项目中预配 Agent Gateway,而目标 VPC 网络、网络连接或专用 DNS 区域位于宿主项目 (TARGET_VPC_PROJECT_ID) 中,则服务项目中的身份不会自动拥有验证、连接或对等互连宿主项目中的网络和 DNS 资源的权限。除了标准 Agent Gateway 权限之外,还需在宿主项目中授予以下角色:
| 主账号或身份 | 在项目上授予 | 所需 IAM 角色 | 用途 |
|---|---|---|---|
| 预配身份1 (用户账号或部署服务账号) |
宿主项目 (TARGET_VPC_PROJECT_ID) |
|
允许在网关创建或更新期间对目标 VPC 网络、子网、网络连接和专用 DNS 区域进行后端验证。 |
| 网络连接创建者 (创建 PSC 连接的管理员) |
宿主项目 (TARGET_VPC_PROJECT_ID) |
|
允许使用宿主项目中的共享 VPC 子网创建 Private Service Connect 网络连接。 |
| 服务项目中的网络连接(推荐) | |||
| Agent Gateway Service Agent2 | 宿主项目 (TARGET_VPC_PROJECT_ID) |
|
允许 Agent Gateway 服务代理使用宿主项目子网进行网络连接、连接 Private Service Connect 接口以路由出站流量,以及与宿主项目中的专用 Cloud DNS 区域建立对等互连。 |
| 宿主项目中的网络连接 | |||
| Agent Gateway Service Agent2 | 宿主项目 (TARGET_VPC_PROJECT_ID) |
|
允许 Agent Gateway 服务代理更新宿主项目网络连接,以允许来自 Agent Gateway 租户项目的连接、路由出站流量,以及与宿主项目中的专用 Cloud DNS 区域对等互连。 |
1 对于预配身份,宿主项目上的基本项目级角色(例如 Viewer [roles/viewer] 或 Editor [roles/editor])也足够。
2 Agent Gateway Service Agent 的格式为:service-AGENT_GATEWAY_PROJECT_NUMBER@gcp-sa-agentgateway.iam.gserviceaccount.com,其中 AGENT_GATEWAY_PROJECT_NUMBER 是您预配 Agent Gateway 的项目的项目编号。对于共享 VPC 部署,此项目可以是服务项目,也可以是宿主项目。
如果您将多个 Agent Runtime 服务项目连接到 Agent Gateway 宿主项目,则还必须向每个 Agent Runtime 服务代理授予对网关项目的跨项目访问权限。对于大规模部署,请参阅使用 Google 群组扩缩 Agent Runtime 服务项目。
配置 VPC 连接
如需使用连接模板部署 Agent Gateway,请完成以下部分中的步骤。
创建 Private Service Connect 网络连接
在目标 VPC 网络中创建 Private Service Connect 网络连接。
确保您的网络连接满足以下要求:
- 连接偏好设置:将网络连接配置为自动接受连接
(
--connection-preference=ACCEPT_AUTOMATIC)。 - 同一 VPC 网络要求:为 DNS 对等互连 (
targetNetwork) 配置的网络连接子网和目标网络必须位于完全相同的 VPC 网络中。如果网络连接的子网所属的网络与 DNS 对等互连目标网络不同,则配置验证会失败。 - 子网要求:请注意网络连接子网的以下要求:
- 子网范围:网络连接子网支持所有有效范围。
- 子网大小:Agent Gateway 要求网络连接至少使用
/28子网。/28子网提供 12 个可用 IP 地址,足以满足单个 Agent Gateway 实例的需求。如果您计划将多个网关连接到同一网络连接或子网,请使用更大的子网(例如/26或/24),以避免 IP 地址耗尽。 - 专用 Google 访问通道要求:您必须在托管网络连接的子网上启用专用 Google 访问通道 (
private_ip_google_access = true)。
- 共享 VPC 部署:对于共享 VPC 部署,请参阅共享 VPC 部署拓扑。
请记下网络连接的完整资源 URI(例如 projects/NETWORK_ATTACHMENT_PROJECT_NUMBER/regions/NETWORK_ATTACHMENT_REGION/networkAttachments/NETWORK_ATTACHMENT_NAME)。在后续步骤中创建连接模板资源时,您需要用到它。
可选:设置 DNS 对等互连
通过 DNS 对等互连,Agent Gateway 可以在 VPC 网络中使用 Cloud DNS 专用代管式区域的记录来解析 DNS 名称。只有当您的代理需要解析私有内部域名(例如 corp.internal.)或为 Google API 强制执行 VPC Service Controls (googleapis.com.) 时,才需要 DNS 对等互连。对于公共互联网网域或没有 VPC Service Controls 的标准 Google API,则不需要。
Agent Gateway 仅支持最多一个传递跃点的传递性 DNS 对等互连,这意味着最多支持三个 VPC 网络。例如,vpc-net-a(Agent Gateway 租户网络)可以与 vpc-net-b(连接的网络)对等互连,后者又与 vpc-net-c(远程网络)对等互连,以解析整个链中的 DNS 查询。
如需设置 DNS 对等互连,请执行以下步骤:
在目标 VPC 网络中设置专用 DNS 区域。如需将 DNS 记录添加到专用 DNS 区域,请参阅添加资源记录集。
收集以下信息,以配置连接模板来启用对等互连:
目标网络 URI (
targetNetwork):请注意目标 VPC 网络的完整资源 URI,格式如下:projects/TARGET_VPC_PROJECT_ID/global/networks/TARGET_VPC_NETWORK_NAME。目标网络始终是包含网络连接所引用的子网的 VPC 网络。如果目标网络是共享 VPC 网络,请务必使用相应的共享 VPC 宿主项目 ID。域名:一个或多个用于 DNS 对等互连的域名后缀。每个网域都必须以英文句点 (
.) 结尾(例如corp.internal.或googleapis.com.)。如需了解有关如何配置
domains字段的其他指南,请参阅 DNS 对等互连网域模式。对于跨项目部署(例如共享 VPC),请参阅跨项目 DNS 区域和对等互连要求。
可选:设置 TLS 信任配置
如果目标目的地使用私有 CA 或自签名证书,您需要在 Certificate Manager 中创建 TrustConfig 资源。TrustConfig 资源定义了 Agent Gateway 用于验证 TLS 连接的信任锚和证书。
准备 PEM 格式的证书文件:
- 受信任证书存储区:采用 PEM 格式的根 CA 证书或中间 CA 证书。Agent Gateway 信任其信任链指向其中一个 CA 证书的任何服务器证书。受信任证书存储区必须至少包含一个根 CA 证书或中间 CA 证书。
- 许可清单中的证书(可选):您要明确信任的 PEM 格式的服务器证书,例如自签名证书。
运行以下命令以创建
TrustConfig资源。TrustConfig必须在与 Agent Gateway 和连接模板相同的项目和区域中创建。gcloud certificate-manager trust-configs create TRUST_CONFIG_NAME \ --location=LOCATION \ --trust-store="trust-anchors=ROOT_CERT_FILE" \ --allowlisted-certificates=ALLOWLISTED_CERT_FILE替换以下内容:
TRUST_CONFIG_NAME:TrustConfig资源的名称。LOCATION:信任配置所在的区域(例如europe-west1)。此区域必须与 Agent Gateway 和连接模板所在的区域相同。ROOT_CERT_FILE:PEM 编码的根 CA 证书或中间 CA 证书的路径。ALLOWLISTED_CERT_FILE:(可选)您要明确信任的 PEM 编码证书的路径。如果您不使用已列入许可名单的证书,请省略此标志。
如需详细了解如何管理信任配置,请参阅创建和管理信任配置。
部署 Agent Gateway
创建连接性模板配置文件:
创建一个名为
agw-connectivity-template.yaml的 YAML 文件:name: projects/AGENT_GATEWAY_PROJECT_NUMBER/locations/LOCATION/agentConnectivityTemplates/CONNECTIVITY_TEMPLATE_NAME accessPath: AGENT_TO_ANYWHERE deploymentModel: CENTRALIZED egressNetworkConfig: networkAttachment: projects/NETWORK_ATTACHMENT_PROJECT_NUMBER/regions/NETWORK_ATTACHMENT_REGION/networkAttachments/NETWORK_ATTACHMENT_NAME dnsPeeringConfig: domains: - DOMAIN_NAME targetNetwork: projects/TARGET_VPC_PROJECT_ID/global/networks/TARGET_VPC_NETWORK_NAME vpcEgress: VPC_EGRESS_MODE tlsConfig: trustConfig: projects/AGENT_GATEWAY_PROJECT_NUMBER/locations/LOCATION/trustConfigs/TRUST_CONFIG_NAME additionalRoots: ADDITIONAL_ROOTS_OPTION替换以下内容:
AGENT_GATEWAY_PROJECT_NUMBER:您在其中预配 Agent Gateway 的 Google Cloud 项目的项目编号。如需检索项目编号,请运行:gcloud projects describe PROJECT_ID --format="value(projectNumber)"。LOCATION:连接模板的区域(例如europe-west1)。CONNECTIVITY_TEMPLATE_NAME:连接模板资源的名称。accessPath:连接模板的受管控访问路径。设置为AGENT_TO_ANYWHERE(仅出站网关支持连接模板)。deploymentModel:网关的部署模型。设置为CENTRALIZED。networkAttachment:Private Service Connect 网络连接的完整资源 URI:NETWORK_ATTACHMENT_PROJECT_NUMBER:您在其中创建了网络连接的项目的项目编号。如果您在共享 VPC 服务项目中预配 Agent Gateway,并在共享 VPC 宿主项目中创建网络连接,则此项目可能与 Agent Gateway 项目相同,也可能不同。NETWORK_ATTACHMENT_REGION:包含网络连接的区域。NETWORK_ATTACHMENT_NAME:网络连接名称。
DOMAIN_NAME:(可选)用于 DNS 对等互连的一个或多个域名后缀(例如corp.internal.、googleapis.com.或.)。在domains下为要对等互连的每个域名后缀添加一个列表项。每个值都必须以英文句点 (.) 结尾,并且具有为目标网络授权的相应专用 Cloud DNS 代管式区域。如需有关如何配置
domains字段的其他指导,请参阅 DNS 对等互连网域模式。targetNetwork:(可选)用于 DNS 对等互连的目标 VPC 网络的完整资源 URI。目标网络始终是包含网络连接所引用的子网的 VPC 网络:TARGET_VPC_PROJECT_ID:拥有目标 VPC 网络的项目的项目 ID。如果包含网络连接所引用子网的网络是共享 VPC 网络,则TARGET_VPC_PROJECT_ID是共享 VPC 宿主项目 ID。请始终使用项目 ID 而不是项目编号来指定targetNetwork。TARGET_VPC_NETWORK_NAME:目标 VPC 网络的名称。
VPC_EGRESS_MODE:设置出站流量路由模式。设置为PRIVATE_RANGES_ONLY或ALL_TRAFFIC。tlsConfig:(可选)通过 HTTPS 连接到专用端点时用于服务器证书验证的 TLS 配置:TRUST_CONFIG_NAME:包含您的私有 CA 证书或信任锚点的 Certificate ManagerTrustConfig资源的名称。ADDITIONAL_ROOTS_OPTION:指定除了自定义信任配置之外,是否还信任公开受信任的 CA 根:- 设置为
PUBLICLY_TRUSTED_ROOTS(默认)可同时信任由trustConfig参数验证的证书和所有受大众信任的 CA。如果您的智能体还连接到Google Cloud API (*.googleapis.com) 或其他公共 HTTPS 端点,则必须将additionalRoots设置为PUBLICLY_TRUSTED_ROOTS;如果不进行此设置,Agent Gateway 将不会信任 Google 为googleapis.com签名的证书。 - 设置为
NO_ADDITIONAL_ROOTS,以便仅信任由trustConfig参数验证的证书。
创建连接性模板:
运行以下命令以创建连接模板:
gcloud network-services agent-connectivity-templates import CONNECTIVITY_TEMPLATE_NAME \ --source="agw-connectivity-template.yaml" \ --location=LOCATION替换以下内容:
CONNECTIVITY_TEMPLATE_NAME:连接模板资源的名称。LOCATION:要在其中创建连接模板资源的位置。例如europe-west1。
定义 Agent Gateway 资源:
通过创建引用连接模板的网关 YAML 配置文件(例如
my-agent-gateway-vpc-egress.yaml),以AGENT_TO_ANYWHERE模式定义新的 Agent Gateway 资源:name: AGENT_GATEWAY_NAME protocols: - MCP googleManaged: governedAccessPath: AGENT_TO_ANYWHERE agentConnectivityTemplate: projects/AGENT_GATEWAY_PROJECT_NUMBER/locations/LOCATION/agentConnectivityTemplates/CONNECTIVITY_TEMPLATE_NAME registries: - AGENT_REGISTRY_PATH替换以下内容:
AGENT_GATEWAY_NAME:Agent Gateway 资源的名称。AGENT_GATEWAY_PROJECT_NUMBER:您在其中预配 Agent Gateway 和连接模板的 Google Cloud 项目的项目编号。对于共享 VPC 部署,此项目可以是服务项目,也可以是宿主项目。如需检索项目编号,请运行:gcloud projects describe PROJECT_ID --format="value(projectNumber)"。LOCATION:连接模板的位置(例如europe-west1)。CONNECTIVITY_TEMPLATE_NAME:连接模板资源的名称。AGENT_REGISTRY_PATH:与网关位于同一项目和区域的区域级 Agent Registry 实例的路径,格式为//agentregistry.googleapis.com/projects/PROJECT_ID/locations/LOCATION。如需查看相关指南,请参阅规划 Agent Gateway 部署。
导入并部署 Agent Gateway:
运行以下命令,根据 YAML 规范创建 Agent Gateway 资源:
gcloud network-services agent-gateways import AGENT_GATEWAY_NAME \ --source="my-agent-gateway-vpc-egress.yaml" \ --location=LOCATION将
LOCATION替换为您要在其中创建 Agent Gateway 资源的位置。例如europe-west1。
架构和网络注意事项
本部分提供架构指南和高级网络模式,用于通过 VPC 连接部署 Agent Gateway。
更新 VPC 出站流量设置
连接模板在被 Agent Gateway 引用时无法就地修改,并且 Agent Gateway 不会自动应用对所附加连接模板所做的更改:
更新 DNS 对等互连、VPC 出站流量模式或 TLS 设置 (
tlsConfig):在连接模板上,tlsConfig.trustConfig字段一经配置便不可变,并且附加的 Agent Gateway 不会获取对tlsConfig的就地更新(例如添加或更改additionalRoots)。如需更新现有网关上的 DNS 对等互连配置、VPC 出站流量模式或tlsConfig设置,请创建一个新的连接模板,该模板使用相同的networkAttachment和更新后的设置,然后更新 Agent Gateway 以引用新模板(或解除绑定并重新绑定连接模板)。更改网络连接:
networkAttachment本身在连接模板和 Agent Gateway 上配置后便不可变。如需切换到其他网络连接(或目标 VPC 网络),您必须创建新的连接模板和新的 Agent Gateway。
共享 VPC 部署拓扑
在共享 VPC 架构中,您可以在服务项目或宿主项目中预配 Agent Gateway。在服务项目中预配 Agent Gateway 时,您可以在服务项目(推荐)或宿主项目中创建网络连接:
VPC Service Controls 合规性
如需为智能体通信强制执行 VPC Service Controls 边界,请确保满足以下条件:
在连接模板中将
vpcEgress设置为ALL_TRAFFIC。将 Google API 请求定向到
restricted.googleapis.comIP 范围 (199.36.153.4/30) 或 Google API 的内部 Private Service Connect 端点。为
googleapis.com配置 DNS 解析。在 VPC 网络中创建一个专用 Cloud DNS 区域,将*.googleapis.com映射到restricted.googleapis.com,并在连接模板的domains字段中添加googleapis.com.。如需详细了解 DNS 配置,请参阅专用 Google 访问通道文档中的为 googleapis.com 配置 DNS。
对于共享 VPC 部署,拥有网络连接子网和
dnsPeeringConfig.targetNetwork的宿主项目必须与您部署 Agent Gateway 的项目位于同一服务边界内。即使您在服务项目中创建网络连接,此规则也适用,因为子网和 VPC 网络仍属于宿主项目。如果您的专用 DNS 区域托管在单独的 DNS 项目中,请将该项目也添加到边界中。
DNS 对等互连网域格式
本部分介绍了网域解析模式以及用于在连接模板中配置 domains 字段的选项。
域名配置:根据以下注意事项配置连接模板中的 domains 字段:
专用内部网域:如需解析 VPC 网络中托管的专用内部服务(例如
service.corp.internal),请指定内部网域后缀(例如corp.internal.)。必须为目标 VPC 网络授权此网域的完全匹配专用 Cloud DNS 托管可用区。水平分割 DNS(具有 RFC 1918 IP 的公共网域):如果您使用公共 DNS 区域托管指向内部专用 IP 的记录(例如,
mcp.example.com解析为 Certificate Manager 公共证书的 RFC 1918 地址),网关会自动使用公共递归 DNS 解析这些记录,而无需 DNS 对等互连。Google Cloud 具有 VPC Service Controls 的 API:如果将
ALL_TRAFFIC配置为强制执行 VPC Service Controls,则 Google API 请求必须解析为restricted.googleapis.comIP 范围 (199.36.153.4/30) 或内部 PSC 端点。在 VPC 网络中创建一个专用 Cloud DNS 区域,将*.googleapis.com映射到restricted.googleapis.com,并在连接模板的domains字段中添加googleapis.com.。多网域解析模式:如果您的部署需要解析多个私有域名后缀,请选择以下模式之一:
- 对等互连多个单独的网域:在
dnsPeeringConfig的domains字段中指定网域后缀列表(例如corp.internal.、prod.internal.和googleapis.com.)。列表中的每个网域都必须以英文句点 (.) 结尾,并且具有为目标 VPC 网络授权的相应专用 Cloud DNS 代管式区域。 - 整合的父级后缀(推荐):将内部服务整合到共享的父级域名后缀(例如
*.internal.或*.corp.internal.)下,并将该父级网域添加到domains列表中。 使用专用转发可用区进行包罗万象的根对等互连:在连接模板的
domains字段中添加".",并为 VPC 网络中的根域名 (.) 配置 Cloud DNS 专用转发可用区,使其指向一个上游递归解析器(例如8.8.8.8或内部企业解析器)。VPC 中更具体的专用区域会首先通过最长后缀匹配进行匹配,而未匹配的公开查询则通过上游转发器进行解析。
- 对等互连多个单独的网域:在
跨项目 DNS 区域和对等互连要求
连接模板的 dnsPeeringConfig 设置不支持直接跨项目 Cloud DNS 对等互连。导入连接模板时,如果 networkAttachment 引用的子网属于与 targetNetwork 不同的 VPC 网络,或者您依赖于服务或外部项目的跨项目 DNS 区域绑定,则验证会失败。
必须在拥有 targetNetwork 的宿主项目中创建网域的代管区域。托管可用区可以是以下任意可用区类型:
- 权威专用区域
- 转发可用区
- Cloud DNS 对等互连区域:必须与宿主项目 VPC 网络相关联,并以目标 VPC 网络为目标。目标 VPC 必须使用权威专用区域直接解析查询。不支持将查询转发到另一个 DNS 对等互连区域(链接),否则会导致
NXDOMAIN错误。
使用 Google 群组扩缩 Agent Runtime 服务项目
如果您将多个 Agent Runtime 服务项目连接到 Agent Gateway 宿主项目,并单独向每个服务代理授予跨项目访问权限,则每次添加项目时,都必须更新宿主项目的 IAM 政策。在大规模部署中,您还可能会在添加角色绑定时达到 IAM 政策限制。
为避免针对每个新服务项目更新宿主项目的 IAM 政策,您可以通过单个 Google 安全群组管理访问权限:
创建安全群组:在 Google 管理控制台中或通过运行
gcloud identity groups create命令创建安全群组。向该群组授予对 Agent Gateway 宿主项目的访问权限:将该群组绑定到
AGENT_GATEWAY_PROJECT_ID上的 Network Services Viewer 角色 (roles/networkservices.viewer):gcloud projects add-iam-policy-binding AGENT_GATEWAY_PROJECT_ID \ --member="group:GROUP_EMAIL" \ --role="roles/networkservices.viewer"替换以下内容:
AGENT_GATEWAY_PROJECT_ID:Agent Gateway 宿主项目的项目 ID。GROUP_EMAIL:安全群组的邮箱(例如agw-cross-project-runtime@example.com)。
将每个服务项目的 Agent Runtime 服务代理添加到该群组:对于每个 Agent Runtime 服务项目,请运行
gcloud identity groups memberships add命令,将其服务代理添加到安全群组,如下所示:gcloud identity groups memberships add \ --group-email="GROUP_EMAIL" \ --member-email="service-AGENT_RUNTIME_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com"将
AGENT_RUNTIME_PROJECT_NUMBER替换为 Agent Runtime 服务项目的项目编号。
后续步骤
Codelab:使用 Agent Platform 治理智能体工作负载
了解如何使用 Gemini Enterprise Agent Platform 上的 Agent Gateway 治理智能体工作负载。
Codelab:从 Agent Runtime 到 VPC 网络的 Agent Gateway 出站流量
了解 Agent Gateway 出站流量治理,适用于访问 VPC 网络中目标的 AI 智能体。