将标准 VPC 连接器迁移到直接 VPC 出站流量

本页面适用于想要在向 VPC 网络发送流量时将标准 VPC 网络流量从使用无服务器 VPC 访问通道连接器迁移到使用直接 VPC 出站流量的网络专家。

直接 VPC 出站流量比连接器更快,并且可以处理比连接器更多的流量,从而实现更低的延迟时间和更高的吞吐量,因为它使用新的直接网络路径,而不是连接器实例。

在迁移之前,我们建议您先熟悉直接 VPC 出站流量的前提条件限制IP 地址分配IAM 权限

将服务迁移到直接 VPC 出站流量

逐步将服务迁移到直接 VPC 出站流量

将 Cloud Run 服务从无服务器 VPC 访问通道连接器迁移到直接 VPC 出站流量时,我们建议您以逐步过渡的方式执行此操作。

如需逐步转换,请执行以下操作:

  1. 请按照本部分中的说明更新您的服务以使用直接 VPC 出站流量。
  2. 分配一小部分流量以确定流量是否正常运行。
  3. 更新流量分配,以将所有流量都发送到使用直接 VPC 出站流量的新修订版本。

如需为服务迁移使用直接 VPC 出站流量的流量,请使用 Google Cloud 控制台或 Google Cloud CLI:

控制台

  1. 在 Google Cloud 控制台中,转到 Cloud Run 页面。

    转到 Cloud Run

  2. 点击您要从连接器迁移到直接 VPC 出站流量的服务,然后点击修改和部署新的修订版本

  3. 点击网络标签页。

  4. 连接到 VPC 以获取出站流量中,点击将流量直接发送到 VPC

  5. 网络字段中,选择要向其发送流量的 VPC 网络。

  6. 子网字段中,选择您的服务用于接收 IP 地址的子网。 您可以在同一子网上部署多个服务。

  7. 可选:输入要与服务关联的网络标记的名称。网络标记在修订版本级指定。每个服务修订版本都可以有不同的网络标记,例如 network-tag-2

  8. 流量路由部分,选择以下选项之一:

    • 仅将请求路由到 VPC 的专用 IP,以便通过 VPC 网络将流量仅发送到内部地址。
    • 将所有流量路由到 VPC,以通过 VPC 网络发送所有出站流量。
  9. 点击部署

  10. 如需验证您的服务是否在 VPC 网络上,请点击该服务,然后点击网络标签页。VPC 卡片中列出了网络和子网。

    现在,您可以根据防火墙规则所允许将来自 Cloud Run 服务的请求直接发送到 VPC 网络上的任何资源。

gcloud

如需使用 Google Cloud CLI 将 Cloud Run 服务从连接器迁移到直接 VPC 出站流量,请执行以下操作:

  1. 使用以下命令更新 Cloud Run 服务:

    gcloud beta run services update SERVICE_NAME \
    --clear-vpc-connector \
    --network=NETWORK \
    --subnet=SUBNET \
    --network-tags=NETWORK_TAG_NAMES \
    --vpc-egress=EGRESS_SETTING \
    --region=REGION

    您需要进行如下替换:

    • SERVICE_NAME 替换为您的服务名称。
    • NETWORK 替换为 VPC 网络的名称。
    • SUBNET 替换为您的子网名称。 您可以在同一子网上部署或执行多个服务或作业。
    • 可选:将 NETWORK_TAG_NAMES 替换为要与服务关联的网络标记的名称。对于服务,网络标记在修订版本级指定。每个服务修订版本都可以有不同的网络标记,例如 network-tag-2
    • EGRESS_SETTING 替换为出站流量设置值
      • all-traffic:通过 VPC 网络发送所有出站流量。
      • private-ranges-only:仅发送通过 VPC 网络发送到内部地址的流量。
    • REGION 替换为您的服务的区域。
  2. 如需验证您的服务是否在 VPC 网络上,请运行以下命令:

    gcloud beta run services describe SERVICE_NAME \
    --region=REGION

    您需要进行如下替换:

    • SERVICE_NAME 替换为您的服务名称。
    • REGION 替换为您在上一步中指定的服务的区域。

    输出应包含网络的名称、子网和出站流量设置,例如:

    VPC access:
      Network:       default
      Subnet:        subnet
      Egress:        private-ranges-only
    

现在,您可以根据防火墙规则允许将来自 Cloud Run 服务的请求发送到 VPC 网络上的任何资源。

将作业迁移到直接 VPC 出站流量

您可以使用 Google Cloud 控制台或 Google Cloud CLI 为作业迁移使用直接 VPC 出站流量的流量。

控制台

  1. 在 Google Cloud 控制台中,转到 Cloud Run 页面。

    转到 Cloud Run

  2. 点击您要从连接器迁移到直接 VPC 出站流量的作业,然后点击修改

  3. 点击网络标签页。

  4. 点击容器、变量和 Secret、连接、安全性以展开作业属性页面。

  5. 点击连接标签页。

  6. 连接到 VPC 以获取出站流量中,点击将流量直接发送到 VPC

  7. 网络字段中,选择要向其发送流量的 VPC 网络。

  8. 子网字段中,选择您的作业用于接收 IP 地址的子网。 您可以在同一子网上部署多个作业。

  9. 可选:输入要与服务关联的网络标记的名称。网络标记在修订版本级指定。每个服务修订版本都可以有不同的网络标记,例如 network-tag-2

  10. 流量路由部分,选择以下选项之一:

    • 仅将请求路由到 VPC 的专用 IP,以便通过 VPC 网络将流量仅发送到内部地址。
    • 将所有流量路由到 VPC,以通过 VPC 网络发送所有出站流量。
  11. 点击更新

  12. 如需验证您的作业是否在 VPC 网络上,请点击该作业,然后点击配置标签页。VPC 卡片中列出了网络和子网。

现在,您可以根据防火墙规则允许执行 Cloud Run 作业,并将作业的请求发送到 VPC 网络上的任何资源。

gcloud

如需使用 Google Cloud CLI 将 Cloud Run 作业从连接器迁移到直接 VPC 出站流量,请执行以下操作:

  1. 使用以下命令更新 Cloud Run 作业:

    gcloud run jobs update JOB_NAME \
    --clear-network \
    --image=IMAGE_URL \
    --network=NETWORK \
    --subnet=SUBNET \
    --network-tags=NETWORK_TAG_NAMES \
    --vpc-egress=EGRESS_SETTING \
    --region=REGION

    您需要进行如下替换:

    • JOB_NAME 替换为作业的名称。
    • NETWORK 替换为 VPC 网络的名称。
    • SUBNET 替换为您的子网名称。 您可以在同一子网上部署或执行多个服务或作业。
    • 可选:将 NETWORK_TAG_NAMES 替换为要与作业关联的网络标记的名称。对于作业,网络标记在执行级指定。每个作业执行都可以具有不同的网络标记,例如 network-tag-2
    • EGRESS_SETTING 替换为出站流量设置值
      • all-traffic:通过 VPC 网络发送所有出站流量。
      • private-ranges-only:仅发送通过 VPC 网络发送到内部地址的流量。
    • REGION 替换为作业的区域。
  2. 如需验证您的作业是否在 VPC 网络上,请运行以下命令:

    gcloud beta run jobs describe JOB_NAME \
    --region=REGION

    您需要进行如下替换:

    • JOB_NAME 替换为作业的名称。
    • REGION 替换为您在上一步中指定的作业的区域。

    输出应包含网络的名称、子网和出站流量设置,例如:

    VPC access:
      Network:       default
      Subnet:        subnet
      Egress:        private-ranges-only
    

现在,您可以根据防火墙规则所允许将来自 Cloud Run 作业的请求发送到 VPC 网络上的任何资源。