使用 Cloud DNS 路由政策和内部 TCP/UDP 负载平衡器健康检查的多区域故障切换

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 服务器的虚拟机

设置如下所示:

d0a91d3d3698f544.png

学习内容

  • 如何创建故障切换路由政策
  • 触发 DNS 故障切换
  • 如何将流量引向备份集

所需条件

  • DNS 基础知识
  • 具备 Google Compute Engine 的基础知识
  • 具备 L4 内部负载平衡器的基础知识

2. 设置和要求

  1. 登录 Google Cloud 控制台,然后创建一个新项目或重复使用现有项目。如果您还没有 Gmail 或 Google Workspace 账号,则必须创建一个

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

  • 项目名称是此项目参与者的显示名称。它是 Google API 尚未使用的字符串。您可以随时对其进行更新。
  • 项目 ID 在所有 Google Cloud 项目中必须是唯一的,并且不可变(一经设置便无法更改)。Cloud 控制台会自动生成一个唯一字符串;通常您不在乎这是什么在大多数 Codelab 中,您都需要引用项目 ID(它通常标识为 PROJECT_ID)。如果您不喜欢生成的 ID,可以再随机生成一个 ID。或者,您也可以尝试自己的项目 ID,看看是否可用。完成此步骤后便无法更改该 ID,并且该 ID 在项目期间会一直保留。
  • 此外,还有第三个值,即某些 API 使用的项目编号,供您参考。如需详细了解所有这三个值,请参阅文档
  1. 接下来,您需要在 Cloud 控制台中启用结算功能,以便使用 Cloud 资源/API。运行此 Codelab 应该不会产生太多的费用(如果有费用的话)。如需关停资源,以免产生超出本教程范围的结算费用,您可以删除自己创建的资源或删除整个项目。Google Cloud 的新用户符合参与 $300 USD 免费试用计划的条件。

启动 Cloud Shell

虽然可以通过笔记本电脑对 Google Cloud 进行远程操作,但在此 Codelab 中,您将使用 Google Cloud Shell,这是一个在云端运行的命令行环境。

Google Cloud 控制台 中,点击右上角工具栏中的 Cloud Shell 图标:

55efc1aaa7a4d3ad.png

预配和连接到环境应该只需要片刻时间。完成后,您应该会看到如下内容:

7ffe5cbb04455448.png

这个虚拟机已加载了您需要的所有开发工具。它提供了一个持久的 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

后续步骤

  1. 如果 SDK 版本为 401.0.0 或更高版本,请跳至下一部分。
  2. 如果 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.4us-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 |虚拟机实例”

5c824940bf414501

点击 SSH 按钮,从控制台登录 client-instance。

b916eb32c60a4156.png

现在,我们位于客户端虚拟机中,使用 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 也可以将一部分流量发送到备份目标。比例必须是介于 01 之间的值。默认值为 0

为了对此进行测试,我们将网络标记添加回 REGION_1 网络服务器。

添加网络标记

将标记重新添加到网络服务器虚拟机,以允许 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