跳至内容

如何使用 Route 53 运行状况检查进行 DNS 故障转移?

2 分钟阅读
0

我想使用 Amazon Route 53 运行状况检查来配置 DNS 故障转移。

概述

您可以使用 Route 53 来检查资源的运行状况,并且在响应 DNS 查询时仅返回正常运行的资源。DNS 故障转移配置有三种类型:

  1. 主动-被动: Route 53 主动返回主资源。如果出现故障,Route 53 将返回备份资源。Route 53 通过失效转移策略配置此方法。
  2. 主动-主动: Route 53 主动返回多个资源。如果出现故障,则 Route 53 会故障转移到正常运行的资源。Route 53 通过除失效转移之外的任一路由策略配置此方法。
  3. 组合: 多个路由策略(例如基于延迟的策略和加权策略)组合成一棵树,配置更复杂的 DNS 故障转移。

解决方法

**注意:**如果 Amazon CloudFront 是您的主要目标,以下解决方案不适用。

主动-被动失效转移

要同时使用一个主资源和一个辅助资源,主动-被动 DNS 故障转移是最简单的方法。

**注意:**在继续操作之前,请务必为您的主资源创建 Route 53 运行状况检查

使用失效转移别名记录的值为您的主资源和辅助资源创建两个资源记录。对于每条记录,请完成以下步骤:

  1. 输入资源的 Name(名称)(例如 resource.example.com)。
    **注意:**对两个资源使用相同的名称。
  2. 对于 Type(类型),选择 A - IPv4 地址
  3. 对于 Alias(别名),选择 Yes(是)。
  4. Alias Target(别名目标)中,输入您的主资源的 DNS 名称。然后会出现 Alias Hosted Zone ID(别名托管区 ID)。
  5. 对于 Routing Policy(路由策略),选择 Failover(失效转移)。
  6. 对于主记录,请在 Failover Record Type(失效转移记录类型)中选择 Primary(主要)。为 Set ID(集合 ID)输入一个唯一的名称(例如 elb-Primary)。
  7. 对于辅助记录,请在 Failover Record Type(失效转移记录类型)中选择 Secondary(辅助)。为 Set ID(集合 ID)输入一个唯一的名称(例如 elb-Secondary)。
  8. Evaluate Target Health(评估目标运行状况)中,选择 Yes(是)作为您的主记录。为辅助记录选择 No(否)。
  9. 对于您的主记录,请为 Associate with Health Check(关联运行状况检查)选择 Yes(是)。对于 Health Check to Associate(要关联的运行状况检查),请选择您为主资源创建的运行状况检查。
  10. 选择 Create(创建)以创建您的记录。

现在,记录将域指向您的主资源或失效转移到您的辅助资源。

主动-主动失效转移

主动-主动 DNS 故障转移会向 DNS 查询返回多个资源。如果一个资源运行状况不佳,Route 53 会失效转移到另一个资源。

**注意:**在继续操作之前,请务必为这两个资源创建 Route 53 运行状况检查。

使用失效转移别名记录的值为每个资源创建记录。对于每条记录,请完成以下步骤:

  1. 输入资源的 Name(名称)(例如 resource.example.com)。
    **注意:**确保为每条记录使用相同的 Name(名称)。
  2. 选择记录 Type(类型)(例如 A - IPv4 地址)。
    **注意:**资源的所有记录必须是相同的 Type(类型)。
  3. 对于 Alias(别名),选择 Yes(是)。
  4. 对于 Alias Target(别名目标),输入资源的 DNS 名称。然后会出现 Alias Hosted Zone ID(别名托管区 ID)。
  5. 选择 Routing Policy(路由策略)并输入该策略的相应值(例如加权策略权重)。在 Set ID(集合 ID)中,输入此资源的唯一名称(例如资源 1)。
    **注意:**对于加权路由策略,请将所有记录设为同等权重(例如 10)。您也可以将所有记录设置为不同的权重(例如 20 和 10,其中记录 20 接收的流量是原来的两倍)。
  6. 对于 Evaluate Target Health(评估目标运行状况),选择 Yes(是)。
  7. 对于 Associate with Health Check(关联运行状况检查),选择 Yes(是)。
  8. 对于 Health Check to Associate(要关联的运行状况检查),请选择您为此资源创建的运行状况检查。
  9. 选择 Create(创建)以创建您的记录。

组合失效转移

您可以组合多个路由策略和运行状况检查来创建复杂的失效转移机制。通过这些机制,Route 53 在返回相应的记录之前会遍历多层记录。

例如,您有三个端点。您可以对端点 A 和 B 之间的流量执行负载均衡操作。如果前两个端点未通过运行状况检查,您可以回退到端点 C。在此配置中,您有两个路由层。在下路由层中,Route 53 使用记录的运行状况检查来确认端点 A 和 B 是否正常。然后,流量在两个主资源之间均匀路由。如果端点 A 和 B 未通过运行状况检查,则流量会失效转移到上路由层。在上路由层中,Route 53 将流量作为辅助备用资源路由到端点 C。

要创建此配置,请完成以下步骤:

  1. 为这三个端点创建 Route 53 运行状况检查,将其与运行状况检查记录相关联。
  2. 对于下路由层,请为端点 A 和 B 的域名创建两条权重相等的加权记录。
    **重要事项:**请务必将端点 A 和 B 的运行状况检查与其加权记录相关联。此步骤让 Route 53 确定每条记录的运行状况检查状态,然后相应地在它们之间实现流量负载均衡。
  3. 对于上路由层,请为端点 C 的域名(例如 domain.example.com)创建失效转移记录。
    **重要事项:**请确保主记录是指向您在步骤 2 中创建的 resource.example.com 记录的别名记录。另外,请确认辅助记录指向端点 C 作为失效转移资源。
  4. 配置 Route 53 以确定主失效转移记录的运行状况。创建自定义运行状况检查以确定两个加权记录的运行状况(例如,计算出的运行状况检查)。或者,使用记录选项来评估目标运行状况

此失效转移配置使用以下工作流程:

  1. 客户端请求 domain.example.com
  2. 如果主记录通过了运行状况检查,则 Route 53 会将流量发送到 resource.example.com 的负载均衡主资源记录。这会将客户端指向端点 A 或 B。
  3. 如果主记录未通过运行状况检查(端点 A 和 B 未通过运行状况检查),则主记录将被标记为运行不正常。主记录会失效转移到辅助记录。然后,Route 53 将客户端请求发送到端点 C(备用资源)。
  4. 当主记录再次通过运行状况检查时,Route 53 会故障转移到主资源记录(端点 A 和 B)。

相关信息

配置运行状况检查时,Route 53 如何选择记录?

AWS 官方已更新 3 年前