1. 简介
Private Service Connect (PSC) 简化了安全私密地使用服务的方式。这种模式允许服务使用方与跨组织的服务提供方建立专用连接,从而大大简化了网络架构,并无需进行虚拟私有云对等互连。图 1 展示了 VPC 对等互连和 PSC 属性。
图 1.
作为服务使用方,您可以灵活选择如何向服务分配专用 IP,同时无需为提供方 VPC 管理子网范围。现在,您只需使用服务连接,即可将 VPC 中所选的虚拟 IP 地址分配给此类服务。
在此 Codelab 中,您将构建一个全面的 Private Service Connect 架构,演示如何将 PSC 全球访问权限与 MongoDB Atlas 搭配使用。
借助全球访问权限,客户端可以跨区域边界连接到 Private Service Connect (PSC)。这对于在多个区域托管的托管式服务中实现高可用性,或允许客户端访问与其不在同一区域的服务非常有用。
2. 启用全球访问权限
全局访问权限是一项可选功能,在使用方转发规则上进行配置。以下命令展示了其配置方式:
gcloud beta compute forwarding-rules create psc-west \ --region=us-west1 \ --network=consumer-vpc \ --address=psc-west-address \ --target-service-attachment=projects/.../serviceAttachments/sa-west \ --allow-psc-global-access
--allow-psc-global-access
标志可在 Private Service Connect 端点上启用全球访问权限- 借助全球访问权限,客户端可以位于与 Private Service Connect 转发规则不同的区域,但转发规则仍必须与其关联的服务附件位于同一区域。
- 您无需对生产者的服务附件进行任何配置,即可启用全球访问权限。这完全是使用方端的选项。
您还可以随时为现有端点开启或关闭全球访问权限。在现有端点上启用全球访问权限后,活跃连接不会发生流量中断。您可以使用以下命令在现有转发规则上启用全球访问:
gcloud beta compute forwarding-rules update psc-west --allow-psc-global-access
停用全球访问权限
您还可以使用 --no-allow-psc-global-access
标志在现有转发规则中停用全球访问权限。请注意,运行此命令后,所有有效的区域间流量都将终止。
gcloud beta compute forwarding-rules update psc-west --no-allow-psc-global-access
3. 您将构建的内容
- 系统将创建一个多区域 MongoDB Atlas 集群(图 2 中所述的拓扑),其中 us-west1 区域有 1 个节点,us-west2 区域有 2 个节点。
- 一个使用方 VPC 和关联的虚拟机,用于访问 us-west1 和 us-west2 中的 MongoDB 集群。
- 一个 VPC 和两个子网,分别位于 us-west1 和 us-west2 区域,每个子网中至少有 64 个可用的 IP 地址(使用 /26 及更小掩码创建子网)。
MongoDB 客户端将安装在使用方 VPC 中的 vm1 上。当 us-west1 中的主节点发生故障时,客户端将能够通过 us-west2 中的新主节点进行读写。
图 2.
学习内容
- 如何创建部署在两个区域的 VPC 和子网
- 如何部署多区域 MongoDB Atlas 集群
- 如何创建专用端点
- 如何连接到 MongoDB
- 如何执行和验证多区域 MongoDB 故障切换
所需条件
- Google Cloud 项目
- 为每个区域提供一个 /26 子网
- 项目所有者或组织所有者有权访问 MongoDB Atlas,以创建集群层级为 M10 或更高级别的 MongoDB 集群。(请使用 GETATLAS 获取运行 PoV 的免费赠金)
4. 准备工作
更新项目以支持 Codelab
此 Codelab 使用 $variables 来帮助在 Cloud Shell 中实现 gcloud 配置。
在 Cloud Shell 中,执行以下操作:
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=YOUR-PROJECT-NAME
echo $projectname
5. 使用方设置
创建使用方 VPC
在 Cloud Shell 中,执行以下操作:
gcloud compute networks create consumer-vpc --project=$projectname --subnet-mode=custom
创建使用方子网
在 Cloud Shell 中,执行以下操作:
gcloud compute networks subnets create vm-subnet --project=$projectname --range=10.10.10.0/29 --network=consumer-vpc --region=us-west1
在 Cloud Shell 中,为 us-west1 创建使用方端点:
gcloud compute networks subnets create psc-endpoint-us-west1 --project=$projectname --range=192.168.10.0/26 --network=consumer-vpc --region=us-west1
在 Cloud Shell 中,为 us-west2 创建使用方端点:
gcloud compute networks subnets create psc-endpoint-us-west2 --project=$projectname --range=172.16.10.0/26 --network=consumer-vpc --region=us-west2
Cloud Router 和 NAT 配置
由于虚拟机实例没有外部 IP 地址,因此本 Codelab 中使用 Cloud NAT 来安装软件包。
在 Cloud Shell 中,创建 Cloud Router 路由器。
gcloud compute routers create consumer-cr --network consumer-vpc --region us-west1
在 Cloud Shell 中,创建 NAT 网关。
gcloud compute routers nats create consumer-nat --router=consumer-cr --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-west1
实例 vm1 配置
在下一部分中,您将创建 Compute Engine 实例 vm1。
在 Cloud Shell 中,创建实例 vm1。
gcloud compute instances create vm1 \
--project=$projectname \
--zone=us-west1-a \
--machine-type=e2-micro \
--network-interface=subnet=vm-subnet,no-address \
--maintenance-policy=MIGRATE \
--provisioning-model=STANDARD \
--create-disk=auto-delete=yes,boot=yes,device-name=vm1,image=projects/ubuntu-os-cloud/global/images/ubuntu-2004-focal-v20230213,mode=rw,size=10,type=projects/$projectname/zones/us-west1-a/diskTypes/pd-balanced
--metadata startup-script="#! /bin/bash
sudo apt-get update
sudo apt-get install tcpdump -y
sudo apt-get install dnsutils -y"
如需允许 IAP 连接到您的虚拟机实例,请创建一个防火墙规则,该规则:
- 适用于您希望使用 IAP 可访问的所有 VM 实例。
- 允许来自 IP 地址范围 35.235.240.0/20 的入站流量。此范围包含 IAP 用于 TCP 转发的所有 IP 地址。
在 Cloud Shell 中,创建 IAP 防火墙规则。
gcloud compute firewall-rules create ssh-iap-consumer-vpc \
--network consumer-vpc \
--allow tcp:22 \
--source-ranges=35.235.240.0/20
6. 创建多区域 MongoDB Atlas 集群
- 我们需要先设置 Atlas 集群,然后才能开始设置 PSC。您可以通过以下两种方式之一订阅 MongoDB Atlas:
- 通过 Google Cloud Marketplace(如果您有 Google Cloud 账号)。如需设置订阅,请参阅文档。
- Atlas 注册页面。
- 订阅 Atlas 后,点击“构建数据库”按钮,如下所示。
- 创建新集群 → 专用
- 云服务提供商和区域 → Google Cloud
- 多云、多区域和工作负载隔离 → 已选(蓝色对勾标记)
- 可选举的节点 → us-west1(1 个节点)、us-west2(2 个节点)
- 集群层级 → M10,将所有其他设置保留为默认设置
- 集群名称 → psc-mongodb-uswest1-uswest2
- 选择 → 创建集群
- 数据库创建需要 7-10 分钟
部署后的集群视图
7. 为 us-west1 创建专用端点
- 登录您的 Atlas 账号,然后前往您的项目。
创建新用户以允许对任何数据库执行读/写访问
依次选择“安全性”→“数据库访问权限”,然后选择“添加新的数据库用户”。以下示例中的用户名和密码已配置为 Codelab 中的用户名和密码。请务必选择内置角色“对任何数据库执行读写操作”。
- 在“安全性”→“网络访问”下,IP 访问列表不需要条目
在 MongoDB Atlas 中准备专用端点
- 依次选择“网络访问”→“专用端点”→“专用集群”→“添加专用端点”
云服务提供商
- 选择 Google Cloud,然后点击“下一步”
服务连接
- 选择区域 us-west1,然后选择“下一步”
Endpoints
- 如需创建 Private Service Connect 端点,请提供以下信息:
- Google Cloud 项目 ID:选择“显示说明”了解详情
- VPC 名称:consumer-vpc
- 子网名称:psc-endpoint-us-west1
- Private Service Connect 端点前缀:psc-endpoint-us-west1
设置端点
在下一部分中,系统会生成一个应保存在本地并命名为 setup_psc.sh 的 shell 脚本。保存后,修改 shell 脚本以允许 psc 获得全球访问权限。您可以在 Google Cloud 项目 Cloud Shell 中执行此操作。
- shell 脚本示例,您的输出将具有不同的值
- 从 MongoBD 控制台中复制 shell 脚本,并将内容保存在 Google Cloud Cloud Shell 终端中,确保将脚本保存为 setup_psc.sh
更新前示例:
#!/bin/bash
gcloud config set project yourprojectname
for i in {0..49}
do
gcloud compute addresses create psc-endpoint-us-west1-ip-$i --region=us-west1 --subnet=psc-endpoint-us-west1
done
for i in {0..49}
do
if [ $(gcloud compute addresses describe psc-endpoint-us-west1-ip-$i --region=us-west1 --format="value(status)") != "RESERVED" ]; then
echo "psc-endpoint-us-west1-ip-$i is not RESERVED";
exit 1;
fi
done
for i in {0..49}
do
gcloud compute forwarding-rules create psc-endpoint-us-west1-$i --region=us-west1 --network=consumer-vpc --address=psc-endpoint-us-west1-ip-$i --target-service-attachment=projects/p-npwsmzelxznmaejhj2vn1q0q/regions/us-west1/serviceAttachments/sa-us-west1-61485ec2ae9d2e48568bf84f-$i
done
if [ $(gcloud compute forwarding-rules list --regions=us-west1 --format="csv[no-heading](name)" --filter="(name:psc-endpoint-us-west1*)" | wc -l) -gt 50 ]; then
echo "Project has too many forwarding rules that match prefix psc-endpoint-us-west1. Either delete the competing resources or choose another endpoint prefix."
exit 2;
fi
gcloud compute forwarding-rules list --regions=us-west1 --format="json(IPAddress,name)" --filter="name:(psc-endpoint-us-west1*)" > atlasEndpoints-psc-endpoint-us-west1.json
更新 shell 脚本以支持全球访问权限
使用 nano 或 vi 编辑器,使用以下语法识别并更新 shell 脚本:
gcloud beta compute forwarding-rules create psc-endpoint-us-west1-$i --region=us-west1 --network=consumer-vpc --address=psc-endpoint-us-west1-ip-$i --target-service-attachment=projects/p-npwsmzelxznmaejhj2vn1q0q/regions/us-west1/serviceAttachments/sa-us-west1-61485ec2ae9d2e48568bf84f-$i --allow-psc-global-access
更新后的示例:
#!/bin/bash
gcloud config set project yourprojectname
for i in {0..49}
do
gcloud compute addresses create psc-endpoint-us-west1-ip-$i --region=us-west1 --subnet=psc-endpoint-us-west1
done
for i in {0..49}
do
if [ $(gcloud compute addresses describe psc-endpoint-us-west1-ip-$i --region=us-west1 --format="value(status)") != "RESERVED" ]; then
echo "psc-endpoint-us-west1-ip-$i is not RESERVED";
exit 1;
fi
done
for i in {0..49}
do
gcloud beta compute forwarding-rules create psc-endpoint-us-west1-$i --region=us-west1 --network=consumer-vpc --address=psc-endpoint-us-west1-ip-$i --target-service-attachment=projects/p-npwsmzelxznmaejhj2vn1q0q/regions/us-west1/serviceAttachments/sa-us-west1-61485ec2ae9d2e48568bf84f-$i --allow-psc-global-access
done
if [ $(gcloud compute forwarding-rules list --regions=us-west1 --format="csv[no-heading](name)" --filter="(name:psc-endpoint-us-west1*)" | wc -l) -gt 50 ]; then
echo "Project has too many forwarding rules that match prefix psc-endpoint-us-west1. Either delete the competing resources or choose another endpoint prefix."
exit 2;
fi
gcloud compute forwarding-rules list --regions=us-west1 --format="json(IPAddress,name)" --filter="name:(psc-endpoint-us-west1*)" > atlasEndpoints-psc-endpoint-us-west1.json
运行 Shell 脚本
找到并执行脚本 setup_psc.sh,完成后,系统会创建一个名为 atlasEndpoints-psc-endpoint-us-west1.json 的文件。该 JSON 文件包含部署的下一步所需的 IP 地址和 Private Service Connect 端点名称列表。
在 Cloud Shell 中,执行以下操作:
sh setup_psc.sh
脚本运行完毕后,使用 Cloud Shell 编辑器在本地下载 atlasEndpoints-psc-endpoint-us-west1.json。
上传 JSON 文件
上传之前保存的 JSON 文件 atlasEndpoints-psc-endpoint-us-west1.json
选择“创建”
验证 Private Service Connect 端点
在 MongoDB 界面中,依次前往您的项目、安全性 → 网络访问权限 → 专用端点。选择“专用集群”标签页后,端点需要 10 分钟才能转换为“可用”。
可用状态
在 Google Cloud 控制台中,依次前往“网络服务”→“Private Service Connect”,然后选择“已连接的端点”标签页,其中会显示处于“待处理”状态的使用方端点正在转换为“已接受”状态,示例如下:
8. 为 us-west2 创建专用端点
- 登录您的 Atlas 账号,然后前往您的项目。
在 MongoDB Atlas 中准备专用端点
- 依次选择“网络访问”→“专用端点”→“专用集群”→“添加专用端点”
云服务提供商
- 选择 Google Cloud,然后点击“下一步”
服务连接
- 选择区域(us-west2),然后选择“下一步”
Endpoints
- 如需创建 Private Service Connect 端点,请提供以下信息:
- Google Cloud 项目 ID:选择“显示说明”了解详情
- VPC 名称:consumer-vpc
- 子网名称:psc-endpoint-us-west2
- Private Service Connect 端点前缀:psc-endpoint-us-west2
设置端点
在下一部分中,系统会生成一个应保存在本地并命名为 setup_psc.sh 的 shell 脚本。保存后,修改 shell 脚本以允许 psc 获得全球访问权限。您可以在 Google Cloud 项目 Cloud Shell 中执行此操作。
- shell 脚本示例,您的输出将具有不同的值
- 从 MongoBD 控制台中复制 shell 脚本,并将内容保存在 Google Cloud Cloud Shell 终端中,确保将脚本保存为 setup_psc.sh
更新前的示例:
#!/bin/bash
gcloud config set project yourprojectname
for i in {0..49}
do
gcloud compute addresses create psc-endpoint-us-west2-ip-$i --region=us-west2 --subnet=psc-endpoint-us-west2
done
for i in {0..49}
do
if [ $(gcloud compute addresses describe psc-endpoint-us-west2-ip-$i --region=us-west2 --format="value(status)") != "RESERVED" ]; then
echo "psc-endpoint-us-west2-ip-$i is not RESERVED";
exit 1;
fi
done
for i in {0..49}
do
gcloud compute forwarding-rules create psc-endpoint-us-west2-$i --region=us-west2 --network=consumer-vpc --address=psc-endpoint-us-west2-ip-$i --target-service-attachment=projects/p-npwsmzelxznmaejhj2vn1q0q/regions/us-west2/serviceAttachments/sa-us-west2-61485ec2ae9d2e48568bf84f-$i
done
if [ $(gcloud compute forwarding-rules list --regions=us-west2 --format="csv[no-heading](name)" --filter="(name:psc-endpoint-us-west2*)" | wc -l) -gt 50 ]; then
echo "Project has too many forwarding rules that match prefix psc-endpoint-us-west2. Either delete the competing resources or choose another endpoint prefix."
exit 2;
fi
gcloud compute forwarding-rules list --regions=us-west2 --format="json(IPAddress,name)" --filter="name:(psc-endpoint-us-west2*)" > atlasEndpoints-psc-endpoint-us-west2.json
更新 shell 脚本以支持全球访问权限
使用 nano 或 vi 编辑器,使用以下语法识别并更新 shell 脚本:
gcloud beta compute forwarding-rules create psc-endpoint-us-west2-$i --region=us-west2 --network=consumer-vpc --address=psc-endpoint-us-west2-ip-$i --target-service-attachment=projects/p-npwsmzelxznmaejhj2v
n1q0q/regions/us-west2/serviceAttachments/sa-us-west2-61485ec2ae9d2e48568bf84f-$i --allow-psc-global-access
done
更新后的示例:
#!/bin/bash
gcloud config set project yourprojectname
for i in {0..49}
do
gcloud compute addresses create psc-endpoint-us-west2-ip-$i --region=us-west2 --subnet=psc-endpoint-us-west2
done
for i in {0..49}
do
if [ $(gcloud compute addresses describe psc-endpoint-us-west2-ip-$i --region=us-west2 --format="value(status)") != "RESERVED" ]; then
echo "psc-endpoint-us-west2-ip-$i is not RESERVED";
exit 1;
fi
done
for i in {0..49}
do
gcloud beta compute forwarding-rules create psc-endpoint-us-west2-$i --region=us-west2 --network=consumer-vpc --address=psc-endpoint-us-west2-ip-$i --target-service-attachment=projects/p-npwsmzelxznmaejhj2v
n1q0q/regions/us-west2/serviceAttachments/sa-us-west2-61485ec2ae9d2e48568bf84f-$i --allow-psc-global-access
done
if [ $(gcloud compute forwarding-rules list --regions=us-west2 --format="csv[no-heading](name)" --filter="(name:psc-endpoint-us-west2*)" | wc -l) -gt 50 ]; then
echo "Project has too many forwarding rules that match prefix psc-endpoint-us-west2. Either delete the competing resources or choose another endpoint prefix."
exit 2;
fi
gcloud compute forwarding-rules list --regions=us-west2 --format="json(IPAddress,name)" --filter="name:(psc-endpoint-us-west2*)" > atlasEndpoints-psc-endpoint-us-west2.json
运行 Shell 脚本
打开并执行脚本 setup_psc.sh,完成后,系统会创建一个名为 atlasEndpoints-psc-endpoint-us-west2.json 的文件。json 文件包含部署的下一步所需的 IP 地址和 Private Service Connect 端点名称列表。
在 Cloud Shell 中,执行以下操作:
sh setup_psc.sh
脚本运行完毕后,使用 Cloud Shell 编辑器在本地下载 atlasEndpoints-psc-endpoint-us-west2.json。
上传 JSON 文件
上传之前保存的 JSON 文件 atlasEndpoints-psc-endpoint-us-west2.json
选择“创建”
验证 Private Service Connect 端点
在 MongoDB 界面中,依次前往您的项目、安全性 → 网络访问权限 → 专用端点。选择“专用集群”标签页后,端点会在 10 分钟后变为可用。
可用状态:
在 Google Cloud 控制台中,依次前往“网络服务”→“Private Service Connect”,然后选择“已连接的端点”标签页,其中会显示使用方端点从“待处理”转换为“已接受”的状态,如下例所示。在使用方端点中部署了 100 个端点,需要先转换为“已接受”状态,然后才能执行下一步。
9. 通过专用端点连接到 MongoDB Atlas
接受专用服务连接后,系统需要额外的时间(10-15 分钟)来更新 MongoDB 集群。在 MongoDB 界面中,灰色轮廓表示集群更新,因此无法连接到专用端点。
找到相应部署,然后选择“连接”(请注意,灰色框不再显示)
选择连接类型 → 私有端点,然后选择“选择连接方法”
选择“使用 MongoDB Shell 连接”
选择“我未安装 MongoDB Shell,Ubuntu 20.4”,并确保将第 1 步和第 3 步的内容复制到记事本中。
10. 安装 mongosh 应用
在安装之前,您需要根据第 1 步和第 3 步中获取的先前复制的值创建命令字符串。之后,您将使用 Cloud Shell 通过 SSH 连接到 vm1,然后在主数据库 (us-west1) 中安装和验证 mongosh 应用。在 consumer-vpc 中创建 vm1 时,安装了 Ubuntu 20.4 映像。
选择连接方法:第 1 步,复制下载网址
命令字符串示例,请替换为您的自定义值:
https://downloads.mongodb.com/compass/mongodb-mongosh_1.7.1_amd64.deb
选择连接方法(第 3 步)。
命令字符串示例,请将其中的值替换为您的自定义值:
mongosh "mongodb+srv://psc-mongodb-uswest1-uswest2-pl-0.2wqno.mongodb.net/psc-mongodb-uswest1-uswest2" --apiVersion 1 --username codelab
登录 vm1
在 Cloud Shell 中,执行以下操作:
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=YOUR-PROJECT-NAME
echo $projectname
在 Cloud Shell 中使用 IAP 登录 vm1,如果超时,请重试。
gcloud compute ssh vm1 --project=$projectname --zone=us-west1-a --tunnel-through-iap
通过操作系统执行安装
通过 Cloud Shell 操作系统登录执行安装,可参阅更多详细信息,使用自定义字符串更新以下语法
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
该操作应返回
OK
.
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt-get update -y
wget https://downloads.mongodb.com/compass/mongodb-mongosh_1.7.1_amd64.deb
sudo dpkg -i mongodb-mongosh_1.7.1_amd64.deb
连接到 MongoDB 部署
在 Cloud Shell 中登录后,执行以下操作。配置的用户名和密码为 codelab。
mongosh
mongosh "mongodb+srv://psc-mongodb-uswest1-uswest2-pl-0.2wqno.mongodb.net/psc-mongodb-uswest1-uswest2" --apiVersion 1 --username codelab
示例如下:
针对数据库执行命令
在 Cloud Shell 中登录后,执行以下操作。
show dbs
use Company
db.Employee.insertOne({"Name":"cosmo","dept":"devops"})
db.Employee.findOne({"Name":"cosmo"})
11. 故障切换的主动 MongoDB 区域,us-west1
在执行故障切换之前,我们先验证一下 us-west1 是主节点,us-west2 有两个辅助节点。
依次前往“数据库”→“psc-mongodb-uswest1-uswest2”→“概览”
在下一部分中,登录位于 us-west1 的 vm1,将主 MongoDB 集群区域 us-west1 切换到故障转移状态,然后验证数据库是否仍可从 us-west2 中的 MongoDB 集群访问。
您可以通过 Atlas 界面同时测试主副本故障切换和区域故障切换。
- 登录 Atlas 界面。
- 点击集群名称 psc-mongodb-uswest1-uswest2 旁边的 [...] →“测试服务中断”。
- 依次选择“区域性服务中断”→“选择地区”。
- 依次选择主区域 us-west1 →“模拟区域性服务中断”。
选择集群后,3-4 分钟后集群将显示服务中断模拟
关闭窗口
验证 us-west1 处于停机状态,并且 us-west2 现在已接管为主服务器
依次前往“数据库”→“psc-mongodb-uswest1-uswest2”→“概览”
通过新主副本 us-west2 验证与集群的连接
登录位于 us-west1 的 vm1,然后访问 us-west2 中的 MongoDB,以验证 Private Service Connect 全局访问权限。
如果您的 Cloud Shell 会话终止,请执行以下操作:
在 Cloud Shell 中,执行以下操作:
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=YOUR-PROJECT-NAME
echo $projectname
在 Cloud Shell 中使用 IAP 登录 vm1,如果超时,请重试。
gcloud compute ssh vm1 --project=$projectname --zone=us-west1-a --tunnel-through-iap
连接到 MongoDB 部署
在 Cloud Shell 中登录后,执行以下操作。
mongosh
mongosh "mongodb+srv://psc-mongodb-uswest1-uswest2-pl-0.2wqno.mongodb.net/psc-mongodb-uswest1-uswest2" --apiVersion 1 --username codelab
示例如下:
针对数据库执行命令
在 Cloud Shell 中登录后,执行以下操作。
show dbs
use Company
db.Employee.insertOne({"Name":"cosmo","dept":"devops"})
db.Employee.findOne()
exit
成功:您已验证 PSC 全球访问权限可让使用方端点在各个区域之间实现无缝连接,从而实现高可用性或应对区域性服务中断。在本 Codelab 中,位于 us-west1 的主节点发生了 MongoDB 区域故障切换,因此辅助区域 us-west2 接管了主区域。虽然该集群导致了区域性中断,但位于 us-west1 的使用方虚拟机 vm1 成功连接到了 us-west2 中的新主集群。
12. 清理
在 Cloud 控制台中删除使用方端点
依次前往“网络服务”→“Private Service Connect”→“已连接的端点”
使用过滤条件 psc-endpoint 可避免非实验版使用端点被删除。选择所有端点 → 删除
删除与使用方端点关联的静态内部 IP 地址
依次前往“VPC 网络”→“consumer-vpc”→“静态内部 IP 地址”
使用过滤条件 psc-endpoint 可避免系统删除非实验性消费者端点,并将每页行数增加到 100 行。选择所有端点 → 发布
在 Cloud Shell 中,删除 Codelab 组件。
gcloud compute instances delete vm1 --zone=us-west1-a --quiet
gcloud compute networks subnets delete psc-endpoint-us-west1 vm-subnet --region=us-west1 --quiet
gcloud compute networks subnets delete psc-endpoint-us-west2 --region=us-west2 --quiet
gcloud compute firewall-rules delete ssh-iap-consumer --quiet
gcloud compute routers delete consumer-cr --region=us-west1 --quiet
gcloud compute networks delete consumer-vpc --quiet
在 Atlas 界面中,找到集群 psc-mongodb-uswest1-uswest2 → 结束模拟
依次选择“结束服务中断模拟”->“退出”
集群现在正在将 us-west1 恢复为主节点,此过程将需要 3 到 4 分钟。完成后,终止集群,并注意灰色轮廓,它表示状态已更改。
插入集群名称 → 终止
删除与 us-west1 和 us-west2 关联的专用端点
在 Atlas 界面中,依次选择“安全性”→“网络访问”→“专用端点”→“选择终止”
13. 恭喜
恭喜,您已成功配置并验证了一个 Private Service Connect 端点,该端点可跨区域访问 MongoDB。您已成功创建使用方 VPC、多区域 MongoDB 和使用方端点。位于 us-west1 的虚拟机在区域故障转移后,成功连接到 us-west1 和 us-west2 中的 MongoDB。
Cosmopup 认为 Codelab 很棒!
后续操作
查看下列 Codelab…
- 使用 Private Service Connect 通过 GKE 发布和使用服务
- 使用 Private Service Connect 发布和使用服务
- 使用 Private Service Connect 和内部 TCP 代理负载平衡器通过混合网络连接到本地服务
- 将 Private Service Connect 与自动 DNS 配置搭配使用