本页面适用于想要在向 VPC 网络发送流量时将标准 VPC 网络流量从使用无服务器 VPC 访问通道连接器迁移到使用直接 VPC 出站流量的网络专家。
与连接器相比,直接 VPC 出站流量更快,可以处理更多流量,延迟时间更短,吞吐量更高,因为它使用新的直接网络路径,而不是连接器实例。
在迁移之前,我们建议您先熟悉直接 VPC 出站流量的前提条件、限制、IP 地址分配和 IAM 权限。
将服务迁移到直接 VPC 出站流量
逐步将服务迁移到直接 VPC 出站流量
将 Cloud Run 服务从无服务器 VPC 访问通道连接器迁移到直接 VPC 出站流量时,我们建议您以逐步过渡的方式执行此操作。
如需逐步转换,请执行以下操作:
- 请按照本部分中的说明更新您的服务以使用直接 VPC 出站流量。
- 分配一小部分流量以确定流量是否正常运行。
- 更新流量分配,以将所有流量都发送到使用直接 VPC 出站流量的新修订版本。
如需为服务迁移使用直接 VPC 出站流量的流量,请使用 Google Cloud 控制台或 Google Cloud CLI:
控制台
在 Google Cloud 控制台中,转到 Cloud Run 页面。
点击您要从连接器迁移到直接 VPC 出站流量的服务,然后点击修改和部署新的修订版本。
点击网络标签页。
在连接到 VPC 以获取出站流量中,点击将流量直接发送到 VPC。
在网络字段中,选择要向其发送流量的 VPC 网络。
在子网字段中,选择您的服务用于接收 IP 地址的子网。 您可以在同一子网上部署多个服务。
可选:输入要与服务关联的网络标记的名称。网络标记在修订版本级指定。每个服务修订版本都可以有不同的网络标记,例如
network-tag-2
。在流量路由部分,选择以下选项之一:
- 仅将请求路由到 VPC 的专用 IP,以便通过 VPC 网络将流量仅发送到内部地址。
- 将所有流量路由到 VPC,以通过 VPC 网络发送所有出站流量。
点击部署。
如需验证您的服务是否在 VPC 网络上,请点击该服务,然后点击网络标签页。VPC 卡片中列出了网络和子网。
现在,您可以根据防火墙规则所允许将来自 Cloud Run 服务的请求直接发送到 VPC 网络上的任何资源。
gcloud
如需使用 Google Cloud CLI 将 Cloud Run 服务从连接器迁移到直接 VPC 出站流量,请执行以下操作:
使用以下命令更新 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 替换为您的服务的区域。
- 将
如需验证您的服务是否在 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 出站流量的流量。
控制台
在 Google Cloud 控制台中,转到 Cloud Run 页面。
点击您要从连接器迁移到直接 VPC 出站流量的作业,然后点击修改。
点击网络标签页。
点击容器、变量和 Secret、连接、安全性以展开作业属性页面。
点击连接标签页。
在连接到 VPC 以获取出站流量中,点击将流量直接发送到 VPC。
在网络字段中,选择要向其发送流量的 VPC 网络。
在子网字段中,选择您的作业用于接收 IP 地址的子网。 您可以在同一子网上部署多个作业。
可选:输入要与服务关联的网络标记的名称。网络标记在修订版本级指定。每个服务修订版本都可以有不同的网络标记,例如
network-tag-2
。在流量路由部分,选择以下选项之一:
- 仅将请求路由到 VPC 的专用 IP,以便通过 VPC 网络将流量仅发送到内部地址。
- 将所有流量路由到 VPC,以通过 VPC 网络发送所有出站流量。
点击更新。
如需验证您的作业是否在 VPC 网络上,请点击该作业,然后点击配置标签页。VPC 卡片中列出了网络和子网。
现在,您可以根据防火墙规则允许执行 Cloud Run 作业,并将作业的请求发送到 VPC 网络上的任何资源。
gcloud
如需使用 Google Cloud CLI 将 Cloud Run 作业从连接器迁移到直接 VPC 出站流量,请执行以下操作:
使用以下命令更新 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 替换为作业的区域。
- 将
如需验证您的作业是否在 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 网络上的任何资源。