本页面适用于想要在向共享 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 出站流量,请执行以下操作:
使用以下命令为共享 VPC 网络和子网指定完全限定的资源名称,以更新共享子网上的服务:
gcloud beta run services update SERVICE_NAME \ --clear-network \ --network projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK \ --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME \ --network-tags NETWORK_TAG_NAMES \ --vpc-egress=EGRESS_SETTING \ --region REGION \ --max-instances MAX
替换以下内容:
- SERVICE_NAME:Cloud Run 服务的名称。
- IMAGE_URL:服务的图片网址。
- HOST_PROJECT_ID:共享 VPC 项目的 ID。
- VPC_NETWORK:您的共享 VPC 网络的名称。
- REGION:Cloud Run 服务所在的区域,该区域必须与子网的区域一致。
- SUBNET_NAME:您的子网的名称。
- 可选:将 NETWORK_TAG_NAMES 替换为要与服务关联的网络标记的名称。对于服务,网络标记在修订版本级指定。每个服务修订版本都可以有不同的网络标记,例如
network-tag-2
。 - 将 EGRESS_SETTING 替换为出站流量设置值:
all-traffic
:通过共享 VPC 网络发送所有出站流量。private-ranges-only
:仅发送通过共享 VPC 网络发送到内部地址的流量。
- MAX:用于共享 VPC 网络的实例数上限。服务允许的实例数上限为 100。
如需了解详情和可选的参数,请参阅
gcloud
参考文档。如需验证您的服务是否在共享 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 出站流量,请执行以下操作:
通过运行
gcloud run jobs update
命令时使用以下标志,断开您的作业与共享 VPC 网络的连接:gcloud run jobs update JOB_NAME --region=REGION \ --clear-network
替换以下内容:
- JOB_NAME:Cloud Run 作业的名称。
- REGION:Cloud Run 作业所在的区域。
使用以下命令为共享 VPC 网络和子网指定完全限定的资源名称,以更新共享子网上的作业:
gcloud beta run jobs create JOB_NAME \ --clear-network \ --image IMAGE_URL \ --network projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK \ --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME \ --network-tags NETWORK_TAG_NAMES \ --vpc-egress=EGRESS_SETTING \ --region REGION \ --max-instances MAX
替换以下内容:
- JOB_NAME:Cloud Run 作业的名称。
- IMAGE_URL:作业的图片网址。
- HOST_PROJECT_ID:共享 VPC 项目的 ID。
- VPC_NETWORK:您的共享 VPC 网络的名称。
- REGION:Cloud Run 作业所在的区域,该区域必须与子网的区域匹配。
- SUBNET_NAME:您的子网的名称。
- 可选:将 NETWORK_TAG_NAMES 替换为要与作业关联的网络标记的名称。每个作业执行都可以具有不同的网络标记,例如
network-tag-2
。 - 将 EGRESS_SETTING 替换为出站流量设置值:
all-traffic
:通过共享 VPC 网络发送所有出站流量。private-ranges-only
:仅发送通过共享 VPC 网络发送到内部地址的流量。
如需了解详情和可选的参数,请参阅
gcloud
参考文档。如需验证您的作业是否在共享 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 网络上的任何资源。