为代理网关设置 VPC 连接

本文档将引导您完成更新 Agent Gateway 的过程,以便该网关可以与组织中的 VPC 网络进行私密通信。

所需的角色和权限

如需为 Agent Gateway 配置 VPC 连接,请确保用于预配的身份和网关服务代理具有所需的角色。

在网关、网络连接和 VPC 网络位于同一项目中的独立项目中,适用标准 Agent Gateway 权限。如需了解详情,请参阅所需权限

如果您使用的是共享 VPC 或跨项目设置,其中目标 VPC 网络、网络连接或专用 DNS 区域位于中央宿主项目 (TARGET_PROJECT_ID) 中,则需要以下角色:

正文或身份 项目的授权 所需 IAM 角色 用途
预配身份
(用户账号或部署服务账号)
宿主项目 (TARGET_PROJECT_ID)
  • Compute Network Viewer (roles/compute.networkViewer)
  • DNS Reader (roles/dns.reader)
允许在创建或更新网关期间对目标 VPC 网络、子网、网络连接和专用 DNS 区域进行后端验证。
网络连接创建者
(创建 PSC 连接的管理员)
宿主项目 (TARGET_PROJECT_ID)
  • Compute Network User (roles/compute.networkUser)
允许使用宿主项目中的共享 VPC 子网创建 Private Service Connect 网络连接。
服务项目中的网络连接(推荐)
Agent Gateway Service Agent
service-GATEWAY_PROJECT_NUMBER@gcp-sa-agentgateway.
宿主项目 (TARGET_PROJECT_ID)
  • Compute Network User (roles/compute.networkUser)
  • DNS Peer (roles/dns.peer)
允许 Agent Gateway 服务代理使用宿主项目子网进行网络连接、连接 Private Service Connect 接口以路由出站流量,以及与宿主项目中的专用 Cloud DNS 区域建立对等互连。
宿主项目中的网络连接
Agent Gateway Service Agent
service-GATEWAY_PROJECT_NUMBER@gcp-sa-agentgateway.
宿主项目 (TARGET_PROJECT_ID)
  • Compute Network Admin (roles/compute.networkAdmin),或具有以下权限的自定义角色:
    • compute.networkAttachments.get
    • compute.networkAttachments.update
    • compute.regionOperations.get
  • DNS Peer (roles/dns.peer)
允许 Agent Gateway 服务代理更新宿主项目网络连接,以允许从 Agent Gateway 租户项目进行连接、路由出站流量,以及与宿主项目中的专用 Cloud DNS 区域进行对等互连。

配置 VPC 连接

执行以下步骤:

  1. 按照以“智能体到任意位置(出站)”模式配置智能体网关中的说明,以 AGENT_TO_ANYWHERE 模式创建智能体网关。

  2. 在要连接到的 VPC 网络中创建 Private Service Connect 网络连接。

    请注意以下要求:

    • 连接偏好设置:将网络连接配置为自动接受连接 (--connection-preference=ACCEPT_AUTOMATIC)。
    • VPC 网络相同要求:网络连接子网和为 DNS 对等互连配置的目标网络 (targetNetwork) 必须位于完全相同的 VPC 网络中。如果网络连接的子网所属的网络不同于 DNS 对等互连目标网络,则配置验证会失败。
    • 网络连接不可变性:为 Agent Gateway 配置网络连接后,该网关上的 networkAttachment 字段便无法修改。如需切换到其他网络连接,您必须删除并重新创建 Agent Gateway 资源。
    • 您连接到的端点必须支持 HTTPS,并具有公开签名或受信任的证书。如果 Agent Gateway 无法验证证书,连接会失败。
    • 网络连接的子网要求:

      • Agent Gateway 需要至少 /28 个子网才能进行网络连接。/28 子网提供 12 个可用的 IP 地址,足以支持单个 Agent Gateway 实例。如果您计划将多个网关连接到同一网络附件或子网,请使用更大的子网(例如 /26/24),以免 IP 地址用尽。
      • 网络连接子网支持所有有效范围。不过,Agent Gateway 只能将流量发送到以下子网范围:

        • RFC 1918:10.0.0.0/8172.16.0.0/12192.168.0.0/16
        • RFC 6598:100.64.0.0/10
        • E 类:240.0.0.0/4
        • private.googleapis.com199.36.153.8/30
        • restricted.googleapis.com199.36.153.4/30

    共享 VPC 设置

    在共享 VPC 架构中,您可以在服务项目(推荐)或宿主项目中创建网络连接:

    记下网络连接的 URI。在稍后的步骤中更新 Agent Gateway 资源的 PSC_NETWORK_ATTACHMENT_URI 属性时,您需要使用它。

  3. 为要连接的服务配置 DNS 对等互连。借助 DNS 对等互连,您的代理可以使用人类可读的稳定 DNS 名称(而不是 IP 地址)连接到目标 VPC 网络中的服务。通过 DNS 对等互连,Agent Gateway 可以使用 VPC 中 Cloud DNS 专用区域的记录来解析 DNS 名称。

    1. 设置专用 DNS 区域,以解析 DNS 并路由流量。如需将 DNS 记录添加到专用 DNS 区域,请参阅添加资源记录集

    2. 收集 DNS 信息以启用对等互连:

      • 域名:用于 DNS 对等互联的域名。每个网域都必须以句点 (.) 结尾(例如 example.com.corp.internal.)。
      • 仅限特定网域后缀:仅指定代理需要在目标 VPC 网络中访问的特定网域后缀。请勿使用根网域或全能通配符网域(例如 .)或 Google 服务网域(例如 googleapis.com.)。使用这些网域会将所有网关 DNS 流量路由到您的专用 VPC,这可能会导致意外问题。
      • 需要完全匹配的可用区:目标 VPC 网络中的专用 Cloud DNS 可用区必须具有为对等互连配置的网域后缀的完全匹配可用区。
      • 目标项目 ID:宿主项目或目标项目的项目 ID。
      • 目标网络 URI:目标项目中的 VPC 网络的完整资源 URI。此必须是包含网络连接的同一 VPC 网络
  4. 更新您的 Agent Gateway,以包含网络连接和 DNS 对等互连信息。在此示例中,我们将更新 my-agent-gateway-vpc-egress.yaml YAML 文件,如下所示:

      name: AGENT_GATEWAY_NAME
      protocols:
        - MCP
      googleManaged:
        governedAccessPath: AGENT_TO_ANYWHERE
      registries:
        - AGENT_REGISTRY_PATH
      networkConfig:
        egress:
          networkAttachment: PSC_NETWORK_ATTACHMENT_URI
        dnsPeeringConfig:
          domains:
            - DOMAIN_NAME
          targetProject: TARGET_PROJECT_ID
          targetNetwork: TARGET_NETWORK_URI
    

    替换以下内容:

    • AGENT_GATEWAY_NAME:Agent Gateway 资源的名称。
    • AGENT_REGISTRY_PATH:代理注册表的路径。对于 Agent Runtime 代理,请使用区域注册表 (//agentregistry.googleapis.com/projects/PROJECT_ID/locations/REGION)。对于 Gemini Enterprise,请使用与您的部署相对应的全球、多区域或区域注册表(例如 //agentregistry.googleapis.com/projects/PROJECT_ID/locations/global)。
    • PSC_NETWORK_ATTACHMENT_URI:用于连接到 VPC 的 PSC 接口网络连接。如果网络连接时所在的项目(例如共享 VPC 宿主项目)不同于您部署代理时所在的项目,您需要传递网络连接的完整路径:projects/TARGET_PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME。 注意:此字段一经配置便无法更改。
    • DOMAIN_NAME:DNS 对等互连的特定网域后缀(例如 example.com.corp.internal.)。此值是必需的,必须以尾随句点 (.) 结尾,并且必须与已获授权的目标网络的专用 Cloud DNS 托管区域完全匹配。请勿使用根网域或通配符网域(例如 .)或 Google 服务网域(例如 googleapis.com.)。
    • TARGET_PROJECT_ID:DNS 对等互连的目标项目(例如共享 VPC 宿主项目)。
    • TARGET_NETWORK_URI:您在其中创建网络连接的目标网络。此值必须采用以下格式: projects/TARGET_PROJECT_ID/global/networks/NETWORK_NAME。 此路径中的项目必须与 TARGET_PROJECT_ID 匹配,并且网络必须是创建网络连接的完全相同的 VPC 网络
  5. 运行以下命令以根据 YAML 规范更新资源:

    gcloud network-services agent-gateways import AGENT_GATEWAY_NAME \
        --source="my-agent-gateway-vpc-egress.yaml" \
        --location=LOCATION
    

    LOCATION 替换为您要创建 Agent Gateway 资源的位置。例如:us-central1

    后续步骤

指南

了解如何通过 Agent Gateway 路由 Agent Runtime 流量,以实现安全且受管控的连接。

Codelab

了解如何在 Gemini Enterprise Agent Platform 上使用 Agent Gateway 来监管智能体工作负载。

Codelab

了解 AI 智能体访问 VPC 网络中的目标时的 Agent Gateway 出站流量治理。

指南

了解如何将 Agent Gateway 的授权委托给 IAP、Model Armor 或您自己的自定义授权服务。

指南

了解如何监控 Agent Gateway。

指南

了解如何通过 Agent Gateway 路由 Gemini Enterprise 流量。