本教程介绍如何使用 Private Service Connect 使负载均衡服务可供其他 VPC 网络使用。
默认情况下,您在上一教程中创建的内部直通式网络负载平衡器只能在其自身的 VPC 网络中使用。借助 Private Service Connect,您可以发布服务,使其可供其他 VPC 网络中的资源使用。
本教程面向云架构师、网络架构师、网络管理员和 IT 管理员。
目标
- 创建已发布的服务
- 为已发布的服务流量创建防火墙规则
- 获取服务连接 URI
费用
在本文档中,您将使用 Google Cloud的以下收费组件:
如需根据您的预计使用量来估算费用,请使用价格计算器。
完成本文档中描述的任务后,您可以通过删除所创建的资源来避免继续计费。如需了解详情,请参阅清理。
准备工作
- 完成上一个教程创建负载均衡服务中的步骤。
- 选择您在上一个教程中选择或创建的服务提供方项目 (
PRODUCER_PROJECT)。在本教程的步骤中使用此项目。
创建已发布的服务
如需让其他 VPC 网络能够访问该服务,您需要发布该服务。如需发布服务,请在负载均衡器所在的同一网络和区域中创建以下资源:
- 一种 Private Service Connect 子网,用于在提供方网络和使用方网络之间提供网络地址转换 (NAT) 的 IP 地址。
- 服务连接。
以下说明介绍了如何创建可从任何项目访问的已发布服务。在生产环境中,您可能需要限制哪些网络或项目可以访问该服务。
控制台
在 Google Cloud 控制台中,前往 Private Service Connect 页面。
点击已发布服务标签页。
点击发布服务。
在目标详情部分中,选择负载均衡器。
选择内部直通式网络负载平衡器
选择您创建的内部负载均衡器,即
service-lb。对于 Service 名称,输入
published-service。创建 Private Service Connect NAT 子网:
- 点击子网,然后点击预留新子网。
- 对于名称,输入
nat-subnet。 - 对于区域,请选择
REGION。 - 对于 IPv4 范围,输入
10.10.20.0/22。 - 点击 Add(添加)。
对于连接偏好设置,选择自动接受所有连接。
点击添加服务。
gcloud
使用
gcloud compute networks subnets create命令创建 Private Service Connect 子网。gcloud compute networks subnets create nat-subnet \ --network=service-network \ --region=REGION \ --range=10.10.20.0/22 \ --purpose=PRIVATE_SERVICE_CONNECT
如需发布服务,请使用
gcloud compute service-attachments create命令。gcloud compute service-attachments create published-service \ --region=REGION \ --target-service=projects/PRODUCER_PROJECT/regions/REGION/forwardingRules/service-rule \ --connection-preference=ACCEPT_AUTOMATIC \ --nat-subnets=nat-subnet
替换以下内容:
PRODUCER_PROJECT:提供方项目的 ID。REGION:服务连接的区域。此区域必须与目标转发规则的 IP 地址的区域相同。
为已发布的服务流量创建防火墙规则
创建防火墙规则,以允许来自 Private Service Connect NAT 子网的流量到达负载均衡器的后端虚拟机。
控制台
在 Google Cloud 控制台中,前往防火墙政策页面。
如需允许来自 Private Service Connect NAT 子网的流量到达负载均衡器的后端虚拟机,请点击创建防火墙规则,然后使用以下设置:
- 对于名称,输入
fw-allow-nat。 - 对于网络,请选择
service-network。 - 在优先级字段中,输入
1000。 - 对于流量方向,选择入站。
- 对于对匹配项执行的操作,选择允许。
- 对于目标,选择 Specified target tags。
- 对于目标标记,请输入
allow-nat。 - 对于来源过滤条件,选择 IPv4 范围。
- 对于来源 IPv4 范围,输入
10.10.20.0/22。 - 对于协议和端口,选择全部允许。
- 对于名称,输入
点击创建。
gcloud
创建
fw-allow-nat防火墙规则,以允许从 Private Service Connect NAT 子网到虚拟机后端的通信:gcloud compute firewall-rules create fw-allow-nat \ --network=service-network \ --action=allow \ --direction=ingress \ --source-ranges=10.10.20.0/22 \ --rules=tcp,udp,icmp
获取服务连接 URI
您将在下一个教程从另一个 VPC 网络访问服务中使用服务连接 URI 来配置端点。
控制台
在 Google Cloud 控制台中,前往 Private Service Connect 页面。
点击已发布服务标签页。
点击要查看的服务。
服务连接字段包含服务连接 URI。
gcloud
使用
gcloud compute service-attachments describe命令查看已发布服务的详细信息。selfLink字段包含服务连接 URI。gcloud compute service-attachments describe \ published-service --region=REGION将
REGION替换为包含服务附件的区域。