我在 Amazon Route 53 中对指向具有多个目标组的应用程序负载均衡器的别名记录使用运行状况检查。但是,我的别名记录被标记为“运行不正常”。
简短描述
当为别名记录将评估目标运行状况设置为是时,Route 53 会评估别名目标值指定的资源的运行状况。对于应用程序负载均衡器,Route 53 将考虑与负载均衡器后面的目标组关联的运行状况检查。
当应用程序负载均衡器中的所有目标组都正常时,Route 53 才会将别名记录标记为“正常”。 要通过目标组运行状况检查,正常目标的数量应达到目标组属性中定义的阈值。然后,Route 53 会根据您的路由策略返回记录。例如,如果您使用基于延迟的路由,则 Route 53 会从您的 DNS 客户端或解析器所在位置返回潜在性最低的记录。
如果应用程序负载均衡器中的任何目标组不正常,则别名记录无法通过 Route 53 运行状况检查。然后,Route 53 会根据您的路由策略返回正常记录之一。例如,如果您使用基于延迟的路由,则 Route 53 会从您的 DNS 客户端或解析器所在位置返回潜在性最低的正常记录。
**注意:**如果负载均衡器后面的所有目标组都为空(无实例),则 Route 53 也会将记录视为不正常。
解决方法
使用您的首选方法查询应用程序负载均衡器的域名,例如 dig 或 nslookup。记下您的查询的输出。
如果 Route 53 返回的记录不是应用程序负载均衡器的别名记录,请检查负载均衡器背后的目标组。如果运行状况良好的实例的数量或百分比未达到以下属性中定义的阈值,则 Route 53 会认为该记录不正常:
- target_group_health.dns_failover.minimum_healthy_targets.count
- target_group_health.dns_failover.minimum_healthy_targets.percentage
有关详细信息,请参阅目标组的运行状况检查。
如果负载均衡器后面的所有目标组均为空,且其中没有实例,则 Route 53 也会认为记录不正常。要向目标组添加实例,请参阅在目标组中注册目标。
故障排除示例
下表显示了域 example.com 的 Route 53 配置示例。示例客户端和解析器位于 us-east-1 区域。示例应用程序负载均衡器包含两个目标组,即 TargetGroup1 和 TargetGroup2,每个都有两个实例。示例配置使用基于延迟的路由。有应用程序负载均衡器的别名记录和标准 A 记录:
| | | | |
---|
名称 | 类型 | 值 | 评估目标运行状况 | 可用区 |
example.com | A | ALIAS ALB-XXXXXX.us-east-1.elb.amazonaws.com | 是 | us-east-1 |
example.com | A | 198.51.100.1 | - | us-west-2 |
在以下情况,Route 53 会返回应用程序负载均衡器别名记录:
- TargetGroup1 正常,TargetGroup2 不正常
- TargetGroup1 正常,TargetGroup2 为空(未向该组添加任何实例)
在以下情况下,Route 53 会返回另一个 A 记录:
- TargetGroup1 或 TargetGroup2 不正常
- TargetGroup1 正常,TargetGroup2 不正常,并且附加的目标组 TargetGroup3 为空(无实例)
相关信息
在创建 Route 53 别名资源记录集时,为什么无法选择我的首选别名目标?
运行状况检查在简单的 Amazon Route 53 配置中是如何进行的
运行状况检查在复杂的 Amazon Route 53 配置中是如何进行的