1. 简介
上次更新日期:2022 年 9 月 22 日
什么是 DNS 路由政策
借助 Cloud DNS 路由政策,用户可以根据特定条件(例如权重、地理位置或健康检查)配置基于 DNS 的流量导向。
Cloud DNS 支持以下路由政策:
- 加权轮循路由政策
- 地理定位路由政策
- 地理围栏路由政策
- 故障切换路由政策
在本实验中,您将配置和测试故障切换路由政策。
故障切换路由政策
Cloud DNS 支持对已启用全球访问权限的内部 TCP/UDP 负载平衡器进行健康检查。借助故障切换路由政策,您可以为资源记录配置主 IP 地址和备用 IP 地址。在正常操作中,Cloud DNS 将使用主服务器集中预配的 IP 地址来响应查询。当主服务器集中的所有 IP 地址都失败(运行状况变为运行状况不佳)时,Cloud DNS 会开始处理备份集中的 IP 地址。
健康检查
DNS 路由政策将依赖于原生内部负载平衡器统一健康检查(UHC)。如果 20%(或更多)后端的健康状况良好,则内部负载平衡器会被视为健康状况良好。内部 TCP/UDP 和内部 HTTP(S) 负载平衡器的健康检查提供不同的信息。对于内部 HTTP(S) 负载平衡器,UHC 提供所有 Envoy 代理的健康状况,但对于内部 TCP/UDP 负载平衡器,Cloud DNS 从各个后端实例获取直接健康状况信号。如需详细了解健康检查,请点击此处。
构建内容
在此 Codelab 中,您将构建一个在 2 个区域运行的网站,并为其关联故障切换 DNS 路由政策。此设置将:
有效资源 -
- REGION_1 中的 L4 内部负载平衡器
- 在 REGION_1 中运行 Apache Web 服务器的虚拟机
备份资源 -
- REGION_2 中的 L4 内部负载平衡器
- 在 REGION_2 中运行 Apache Web 服务器的虚拟机
设置如下所示:
学习内容
- 如何创建故障切换路由政策
- 触发 DNS 故障切换
- 如何将流量引向备份集
所需条件
- DNS 基础知识
- 具备 Google Compute Engine 的基础知识
- 具备 L4 内部负载平衡器的基础知识
2. 设置和要求
- 登录 Google Cloud 控制台,然后创建一个新项目或重复使用现有项目。如果您还没有 Gmail 或 Google Workspace 账号,则必须创建一个。
- 项目名称是此项目参与者的显示名称。它是 Google API 尚未使用的字符串。您可以随时对其进行更新。
- 项目 ID 在所有 Google Cloud 项目中必须是唯一的,并且不可变(一经设置便无法更改)。Cloud 控制台会自动生成一个唯一字符串;通常您不在乎这是什么在大多数 Codelab 中,您都需要引用项目 ID(它通常标识为
PROJECT_ID
)。如果您不喜欢生成的 ID,可以再随机生成一个 ID。或者,您也可以尝试自己的项目 ID,看看是否可用。完成此步骤后便无法更改该 ID,并且该 ID 在项目期间会一直保留。 - 此外,还有第三个值,即某些 API 使用的项目编号,供您参考。如需详细了解所有这三个值,请参阅文档。
- 接下来,您需要在 Cloud 控制台中启用结算功能,以便使用 Cloud 资源/API。运行此 Codelab 应该不会产生太多的费用(如果有费用的话)。如需关停资源,以免产生超出本教程范围的结算费用,您可以删除自己创建的资源或删除整个项目。Google Cloud 的新用户符合参与 $300 USD 免费试用计划的条件。
启动 Cloud Shell
虽然可以通过笔记本电脑对 Google Cloud 进行远程操作,但在此 Codelab 中,您将使用 Google Cloud Shell,这是一个在云端运行的命令行环境。
在 Google Cloud 控制台 中,点击右上角工具栏中的 Cloud Shell 图标:
预配和连接到环境应该只需要片刻时间。完成后,您应该会看到如下内容:
这个虚拟机已加载了您需要的所有开发工具。它提供了一个持久的 5 GB 主目录,并且在 Google Cloud 中运行,大大增强了网络性能和身份验证功能。您在此 Codelab 中的所有工作都可以在浏览器中完成。您无需安装任何程序。
3. Google Cloud SDK 版本
在撰写本文时,401.0.0
是最新的 Google Cloud SDK 版本。本实验中的所有命令均使用最新版 Google Cloud SDK 进行了测试。在继续操作之前,请确保 Cloud Shell 使用的是最新版本的 SDK。
检查 SDK 版本
使用 gcloud version
命令检查 SDK 版本。在 Cloud Shell 中运行以下命令
命令
gcloud version | grep "Google Cloud SDK"
输出示例
Google Cloud SDK 401.0.0
后续步骤
- 如果 SDK 版本为
401.0.0
或更高版本,请跳至下一部分。 - 如果 SDK 版本低于
401.0.0
,请运行下面列出的命令来更新 SDK。
可选命令
sudo apt-get update && sudo apt-get install google-cloud-sdk
4. 准备工作
在开始部署上文所述的架构之前,请先确保 Cloud Shell 已正确配置且所有必需的 API 均已启用。
设置项目 ID
在 Cloud Shell 中,确保已设置项目 ID。如果您的 Cloud Shell 提示与以下输出类似,并且您不打算更改项目 ID,则可以跳至下一步(设置环境变量)。
USER@cloudshell:~ (PROJECT_ID)$
如果您仍想更改项目 ID,请使用下列命令,Cloud Shell 提示符将从 (PROJECT_ID)
更改为 (YOUR-PROJECT-ID)
可选命令
gcloud config set project [YOUR-PROJECT-ID]
输出示例
Updated property [core/project]. USER@cloudshell:~ (YOUR-PROJECT-ID)$
设置环境变量
设置环境变量
我们将使用 export
命令设置环境变量。在 Cloud Shell 中运行以下命令
命令
export REGION_1=us-west1
export REGION_1_ZONE=us-west1-a
export REGION_2=us-east4
export REGION_2_ZONE=us-east4-a
验证
现在,环境变量已设置完毕,我们将使用 echo
命令进行验证。每个命令的输出都应为我们在上面使用 export
命令配置的值。在 Cloud Shell 中运行以下命令
命令
echo $REGION_1
echo $REGION_1_ZONE
echo $REGION_2
echo $REGION_2_ZONE
启用所有必要的服务
使用 gcloud services enable
命令启用 Compute API 和 DNS API。在 Cloud Shell 中运行以下命令
启用 Compute API
命令
gcloud services enable compute.googleapis.com
启用 DNS API
命令
gcloud services enable dns.googleapis.com
验证
现在,服务已启用,让我们使用 gcloud services list
命令进行验证,列出所有已启用的 API。
命令
gcloud services list | grep -E 'compute|dns'
输出示例
NAME: compute.googleapis.com NAME: dns.googleapis.com
5. 创建 VPC 网络、子网和防火墙规则
在本部分,我们将创建 VPC 网络、两个子网(每个区域一个)以及所需的防火墙规则。
创建 VPC 网络
使用 gcloud compute networks create
命令创建 VPC 网络。我们将子网模式设置为“自定义”,因为我们将在下一步中创建自己的子网。在 Cloud Shell 中运行以下命令。
命令
gcloud compute networks create my-vpc --subnet-mode custom
创建子网
使用 gcloud compute networks subnets create
命令创建两个子网,一个位于 REGION_1,另一个位于 REGION_2。在 Cloud Shell 中运行以下命令
REGION_1 子网
命令
gcloud compute networks subnets create ${REGION_1}-subnet \ --network my-vpc \ --range 10.1.0.0/24 \ --region $REGION_1
REGION_2 子网
命令
gcloud compute networks subnets create ${REGION_2}-subnet \ --network my-vpc \ --range 10.2.0.0/24 \ --region $REGION_2
创建防火墙规则
您需要允许端口 80 上来自 VPC 子网和负载平衡器健康检查 IP 地址范围的流量通过。
除此之外,您还需要创建防火墙规则来允许客户端虚拟机上的 SSH 流量。
使用 gcloud compute firewall-rules create
命令创建防火墙规则。在 Cloud Shell 中运行以下命令
允许端口 80 上的流量
命令
gcloud compute firewall-rules create allow-http-lb-hc \ --allow tcp:80 --network my-vpc \ --source-ranges 10.1.0.0/24,10.2.0.0/24,35.191.0.0/16,130.211.0.0/22 \ --target-tags=allow-http
允许客户端虚拟机上的 SSH 流量
命令
gcloud compute firewall-rules create allow-ssh \ --allow tcp:22 --network my-vpc \ --source-ranges 0.0.0.0/0 \ --target-tags=allow-ssh
6. 创建 Cloud NAT
您需要这两个区域中的 Cloud NAT 网关,才能让专用虚拟机从互联网下载并安装软件包。
- 我们的网络服务器虚拟机需要下载并安装 Apache 网络服务器。
- 客户端虚拟机将需要下载并安装 dnsutils 软件包,该软件包将用于测试。
每个 Cloud NAT 网关都与一个 VPC 网络、区域和 Cloud Router 路由器相关联。因此,在创建 NAT 网关之前,我们需要在每个区域中创建 Cloud Router 路由器。
创建 Cloud Router 路由器
使用 gcloud compute routers create
命令在 us-west1 和 us-east4 区域中创建 Cloud Router 路由器。在 Cloud Shell 中运行以下命令。
Region_1 Cloud Router
命令
gcloud compute routers create "${REGION_1}-cloudrouter" \ --region $REGION_1 --network=my-vpc --asn=65501
Region_2 Cloud Router
命令
gcloud compute routers create "${REGION_2}-cloudrouter" \ --region $REGION_2 --network=my-vpc --asn=65501
创建 NAT 网关
使用 gcloud compute routers nat create
命令在 us-west1 和 us-east4 区域中创建 NAT 网关。在 Cloud Shell 中运行以下命令。
Region_1 NAT 网关
命令
gcloud compute routers nats create "${REGION_1}-nat-gw" \ --router="${REGION_1}-cloudrouter" \ --router-region=$REGION_1 \ --nat-all-subnet-ip-ranges --auto-allocate-nat-external-ips
Region_2 NAT 网关
命令
gcloud compute routers nats create "${REGION_2}-nat-gw" \ --router="${REGION_2}-cloudrouter" \ --router-region=$REGION_2 \ --nat-all-subnet-ip-ranges --auto-allocate-nat-external-ips
7. 创建 Compute Engine 虚拟机
在本部分中,您将创建 Web 服务器、Web 服务器和客户端虚拟机的非托管式实例组。
创建 Web 服务器虚拟机
使用 gcloud compute instances create
命令创建 Web 服务器。我们需要创建两个网络服务器,一个位于 REGION_1,另一个位于 REGION_2。我们使用启动脚本在网络服务器上安装和配置 Apache。
REGION_1 Web 服务器
在 Cloud Shell 中运行以下命令
命令
gcloud compute instances create "${REGION_1}-instance" \ --image-family=debian-11 --image-project=debian-cloud \ --zone=$REGION_1_ZONE \ --network-interface=network=my-vpc,subnet=${REGION_1}-subnet,no-address \ --tags=allow-http \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://169.254.169.254/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
REGION_2 Web 服务器
在 Cloud Shell 中运行以下命令
命令
gcloud compute instances create "${REGION_2}-instance" \ --image-family=debian-11 --image-project=debian-cloud \ --zone=$REGION_2_ZONE \ --network-interface=network=my-vpc,subnet=${REGION_2}-subnet,no-address \ --tags=allow-http \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://169.254.169.254/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
创建非代管式实例组
在本部分,我们将创建两个非托管式实例组。在下一部分中,我们将使用这些实例组来配置 ILB 后端服务。创建实例组后,我们会将 Web 服务器虚拟机添加到这些实例组。
创建非托管式实例组
使用 gcloud compute instance-groups unmanaged create
命令创建两个非托管式实例组,一个用于 us-west1 网络服务器,另一个用于 us-east4 网络服务器。
Region_1 实例组
命令
gcloud compute instance-groups unmanaged create \ "${REGION_1}-instance-group" --zone=$REGION_1_ZONE
Region_2 实例组
命令
gcloud compute instance-groups unmanaged create \ "${REGION_2}-instance-group" --zone=$REGION_2_ZONE
将虚拟机添加到实例组
使用 gcloud compute instance-groups unmanaged add-instances
命令将实例添加到我们刚刚创建的实例组中。将 REGION_1 网络服务器添加到 REGION_1 实例组,并将 REGION_2 网络服务器添加到 REGION_2 实例组
Region_1 实例组
命令
gcloud compute instance-groups unmanaged add-instances \ "${REGION_1}-instance-group" --instances $REGION_1-instance \ --zone=$REGION_1_ZONE
Region_2 实例组
命令
gcloud compute instance-groups unmanaged add-instances \ "${REGION_2}-instance-group" --instances $REGION_2-instance \ --zone=$REGION_2_ZONE
创建客户端虚拟机
我们将使用此虚拟机运行测试并验证 DNS 配置。我们将使用启动脚本安装 dnsutils 软件包。在 Cloud Shell 中运行以下命令。
命令
gcloud compute instances create client-instance --image-family=debian-11 \ --image-project=debian-cloud \ --zone=$REGION_1_ZONE \ --network-interface=network=my-vpc,subnet=${REGION_1}-subnet,no-address \ --tags=allow-ssh \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install dnsutils -y'
8. 创建 L4 内部负载平衡器
如需创建 L4 ILB,我们需要创建健康检查、后端服务和转发规则。
创建健康检查
使用 gcloud compute health-checks create
命令创建健康检查。我们正在创建基本的 HTTP 健康检查,目标端口为端口 80。在 Cloud Shell 中运行以下命令
命令
gcloud compute health-checks create http http-hc --port 80
配置后端服务
使用 gcloud compute backend-services create
命令创建后端服务。创建后端服务后,我们将使用 gcloud compute backend-services add-backend
命令将非代管实例组添加到后端服务。在 Cloud Shell 中运行以下命令。
创建后端服务
命令
gcloud compute backend-services create $REGION_1-backend-service \ --load-balancing-scheme=INTERNAL --protocol=TCP \ --health-checks=http-hc --region=$REGION_1
gcloud compute backend-services create $REGION_2-backend-service \ --load-balancing-scheme=INTERNAL --protocol=TCP \ --health-checks=http-hc --region=$REGION_2
添加后端
命令
gcloud compute backend-services add-backend $REGION_1-backend-service \ --instance-group=$REGION_1-instance-group \ --region=$REGION_1 \ --instance-group-zone=$REGION_1_ZONE
gcloud compute backend-services add-backend $REGION_2-backend-service \ --instance-group=$REGION_2-instance-group \ --region=$REGION_2 \ --instance-group-zone=$REGION_2_ZONE
创建转发规则
使用 gcloud compute forwarding-rules create
命令在两个区域中创建转发规则。在 Cloud Shell 中运行以下命令
REGION_1 转发规则
命令
gcloud compute forwarding-rules create $REGION_1-ilb \ --region=$REGION_1 \ --load-balancing-scheme=internal \ --network=my-vpc \ --subnet=$REGION_1-subnet \ --ip-protocol=TCP \ --ports=80 \ --backend-service=$REGION_1-backend-service \ --backend-service-region=$REGION_1 \ --allow-global-access
REGION_2 转发规则
gcloud compute forwarding-rules create $REGION_2-ilb \ --region=$REGION_2 \ --load-balancing-scheme=internal \ --network=my-vpc \ --subnet=$REGION_2-subnet \ --ip-protocol=TCP \ --ports=80 \ --backend-service=$REGION_2-backend-service \ --backend-service-region=$REGION_2 \ --allow-global-access
9. 配置 DNS
在本部分中,我们将使用故障切换路由政策创建专用区域和 DNS 记录集。
创建专用 DNS 区域
使用 gcloud dns managed-zones create
命令为 example.com 创建专用区域。我们将使用此可用区创建具有故障切换路由政策的资源记录集。在 Cloud Shell 中运行以下命令
命令
gcloud dns managed-zones create example-com \ --dns-name example.com. --description="My private zone" \ --visibility=private --networks my-vpc
创建包含故障切换路由政策的 DNS 记录
使用 gcloud dns record-sets create
命令创建包含故障切换路由政策的 DNS 记录。主要目标是 REGION_1 中的负载平衡器。Cloud DNS 仅支持基于地理位置的备份目标,备份集是一项地理位置政策,将 REGION_2 负载平衡器作为 REGION_1 和 REGION_2 的目标。在 Cloud Shell 中运行以下命令
命令
gcloud dns record-sets create failover.example.com --ttl 5 --type A \ --routing-policy-type=FAILOVER \ --routing-policy-primary-data=$REGION_1-ilb \ --routing-policy-backup-data="${REGION_1}=${REGION_2}-ilb;${REGION_2}=${REGION_2}-ilb" \ --routing-policy-backup-data-type=GEO \ --zone=example-com \ --enable-health-checking
输出示例
NAME: failover.example.com. TYPE: A TTL: 5 DATA: Primary: "10.1.0.4, 80, tcp, https://www.googleapis.com/compute/v1/projects/my-clouddns-codelab/global/networks/my-vpc, my-clouddns-codelab, us-west1, regionalL4ilb" Backup: us-west1: "10.2.0.3, 80, tcp, https://www.googleapis.com/compute/v1/projects/my-clouddns-codelab/global/networks/my-vpc, my-clouddns-codelab, us-east4, regionalL4ilb";us-east4: "10.2.0.3, 80, tcp, https://www.googleapis.com/compute/v1/projects/my-clouddns-codelab/global/networks/my-vpc, my-clouddns-codelab, us-east4, regionalL4ilb"
10. 测试 DNS 解析
在测试故障切换设置之前,请记下这两个内部负载平衡器的 IP 地址。在 Cloud Shell 中运行以下命令。
命令
gcloud compute forwarding-rules list --filter="name:($REGION_1-ilb $REGION_2-ilb)"
输出示例
在此示例中,us-west1-ilb
的 IP 地址为 10.1.0.4
,us-east4-ilb
的 IP 地址为 10.2.0.3
NAME: us-west1-ilb REGION: us-west1 IP_ADDRESS: 10.1.0.4 IP_PROTOCOL: TCP TARGET: us-west1/backendServices/us-west1-backend-service NAME: us-east4-ilb REGION: us-east4 IP_ADDRESS: 10.2.0.3 IP_PROTOCOL: TCP TARGET: us-east4/backendServices/us-east4-backend-service
现在,我们将登录到 client-instance 并测试 DNS 解析。在 Web 控制台中,前往“Compute Engine |虚拟机实例”
点击 SSH 按钮,从控制台登录 client-instance。
现在,我们位于客户端虚拟机中,使用 dig
命令解析 failover.example.com
域名。
该循环配置为运行该命令十次,休眠计时器为 6 秒。
命令
for i in {1..10}; do echo $i; dig failover.example.com +short; sleep 6; done
由于 DNS 记录的 TTL 设置为 5 秒,因此添加了一个 6 秒的休眠计时器。休眠计时器将确保您针对每个 DNS 请求都能获得未缓存的 DNS 响应。此命令大约需要一分钟时间才能执行完毕。
在输出中,您会在资源记录的主要集中看到负载平衡器的 IP 地址。在我们的设置中,这将是 us-west1 区域中负载平衡器的 IP。
11. 测试故障切换
我们将通过从 REGION_1 虚拟机中移除网络标记来模拟故障切换。这将阻止访问端口 80,因此健康检查将开始失败。
移除网络标记
使用 gcloud compute instances remove-tags
命令从虚拟机中移除网络标记。在 Cloud Shell 中运行以下命令
命令
gcloud compute instances remove-tags $REGION_1-instance \ --zone=$REGION_1_ZONE --tags=allow-http
健康检查将在 10 秒后失败。再次运行 DNS 解析测试。
DNS 解析
从客户端实例运行以下命令
命令
for i in {1..10}; do echo $i; dig failover.example.com +short; sleep 6; done
在输出中,您会在资源记录的备份集中看到负载平衡器的 IP 地址。在我们的设置中,这将是 us-east4 区域中负载平衡器的 IP。
12. 测试流量小流
默认情况下,故障切换政策会返回所有 DNS 请求的主要端点 IP,并且仅在主要端点未通过健康检查时返回备用 IP。Cloud DNS 允许用户配置 Trickle Ratio,这样即使主要目标运行状况良好,Cloud DNS 也可以将一部分流量发送到备份目标。比例必须是介于 0
到 1
之间的值。默认值为 0
为了对此进行测试,我们将网络标记添加回 REGION_1 网络服务器。
添加网络标记
将标记重新添加到 Web 服务器虚拟机,以允许 http 流量传输到主要区域虚拟机。在 Cloud Shell 中运行以下命令。
命令
gcloud compute instances add-tags $REGION_1-instance \ --zone $REGION_1_ZONE --tags allow-http
健康检查将在 10 秒后通过
验证 DNS 解析是否指向主负载平衡器。在我们的设置中,这将是 us-west1 区域中负载平衡器的 IP 地址。
从客户端实例运行以下命令
命令
dig +short failover.example.com
更新 DNS 记录
现在,我们将修改 failover.example.com
的 DNS 记录,使 30% 的流量流向备份集,即使主实例运行状况良好也是如此。在 Cloud Shell 中运行以下命令
命令
gcloud dns record-sets update failover.example.com --ttl 30 --type A \ --routing-policy-type=FAILOVER \ --routing-policy-primary-data=$REGION_1-ilb \ --routing-policy-backup-data="${REGION_1}=${REGION_2}-ilb;${REGION_2}=${REGION_2}-ilb" \ --routing-policy-backup-data-type=GEO \ --zone=example-com --enable-health-checking \ --backup-data-trickle-ratio=0.3
DNS 解析
从客户端虚拟机运行以下命令。您会发现 DNS 记录 failover.example.com
将解析为主负载平衡器的 IP 近似值。大约 70% 的时间发送到备用负载平衡器 IP 地址。30% 的时间
for i in {1..10}; do echo $i; dig failover.example.com +short; sleep 6; done
13. 清理步骤
如需清理本实验中使用的资源,请从 CloudShell 中运行以下命令
gcloud dns record-sets delete failover.example.com --type=A \ --zone=example-com --quiet gcloud dns managed-zones delete example-com --quiet gcloud compute forwarding-rules delete $REGION_1-ilb \ --region=$REGION_1 --quiet gcloud compute forwarding-rules delete $REGION_2-ilb \ --region=$REGION_2 --quiet gcloud compute backend-services delete $REGION_1-backend-service \ --region=$REGION_1 --quiet gcloud compute backend-services delete $REGION_2-backend-service \ --region=$REGION_2 --quiet gcloud compute health-checks delete http-hc --quiet gcloud compute instances delete client-instance --zone=$REGION_1_ZONE --quiet gcloud compute instance-groups unmanaged delete $REGION_1-instance-group \ --zone=$REGION_1_ZONE --quiet gcloud compute instance-groups unmanaged delete $REGION_2-instance-group \ --zone=$REGION_2_ZONE --quiet gcloud compute instances delete $REGION_1-instance \ --zone=$REGION_1_ZONE --quiet gcloud compute instances delete $REGION_2-instance \ --zone=$REGION_2_ZONE --quiet gcloud compute routers nats delete $REGION_1-nat-gw \ --router=$REGION_1-cloudrouter --region=$REGION_1 --quiet gcloud compute routers nats delete $REGION_2-nat-gw \ --router=$REGION_2-cloudrouter --region=$REGION_2 --quiet gcloud compute routers delete $REGION_1-cloudrouter \ --region=$REGION_1 --quiet gcloud compute routers delete $REGION_2-cloudrouter \ --region=$REGION_2 --quiet gcloud compute firewall-rules delete allow-ssh allow-http-lb-hc --quiet gcloud compute networks subnets delete $REGION_1-subnet \ --region=$REGION_1 --quiet gcloud compute networks subnets delete $REGION_2-subnet \ --region=$REGION_2 --quiet gcloud compute networks delete my-vpc --quiet
14. 恭喜
恭喜,您已成功部署并测试了 Cloud DNS 故障切换路由政策
所学内容
- 如何配置 Cloud DNS 故障切换路由政策
- 测试 DNS 故障切换
- 如何将流量引向备份集
后续操作
- 尝试为活跃集和备份集设置多个 IP
- 尝试向非代管实例组添加多个后端虚拟机
- 尝试在不同区域中为备份集中的地理定位政策设置多个负载平衡器。
了解详情
https://cloud.google.com/dns/docs/zones/manage-routing-policies