route53 故障转移策略记录是否仅对非 aws 可别名资源有用?
Are route53 failover policy records only useful for non aws alias-able resources?
如果我所有的端点都是 AWS 服务,如 ELB 或 S3 "Evaluate Target Health" 可以用来代替故障转移记录,对吗?我可以使用多个加权、地理或延迟记录,如果我启用 "Evaluate Target Health" 如果记录指向的资源之一不健康,它也会服务于故障转移的目的 route53 将不会向它发送流量。
我看到的带有自定义健康检查的故障转移记录的唯一用途是用于非 aws 资源,或者如果您有更复杂的决定,您希望 DNS 做出而不只是 ELB/S3/etc 服务健康。
编辑:所以看起来我可以使用 "Evaluate Target Health"(在别名端点上)进行主动-主动,如果我想要主动-被动,我必须使用故障转移策略-这是正确的吗?
基本上,是的。只有在健康时,评估目标健康状况才能使记录成为生成响应的可行候选者。如果没有故障转移策略,当它们都健康时它们都是可行的。
如果您执行基于延迟的路由之类的操作并且您有两个目标,比方说俄亥俄州和伦敦,那么您基本上会有一个双重 active/passive 配置,角色互换 - 俄亥俄主动和伦敦被动对于北美的观众来说,角色颠倒了对于欧洲的观众。但是如果你想要全局 active/passive,你需要一个故障转移策略。
请注意,如果您使用 Route 53 和目标运行状况配置任何类型的高可用性设计,最好的办法是在 CloudFront 后面完成所有这些工作——查看器始终连接到 CloudFront,而 CloudFront 执行 DNS根据您创建的任何规则,查找 Route 53 以找到正确的起点。这样做的原因是 CloudFront 始终遵守 DNS TTL 值。出于性能原因,浏览器不会这样做。您的观众可能会发现自己被死目标的 DNS 记录困住了,因为他们的浏览器不会刷新缓存的 DNS 查找,直到所有 windows 中的所有选项卡都关闭。对于像我这样的用户,这几乎不会发生。
这也适用于 CloudFront 后面的 Route 53 中基于延迟的路由,因为 CloudFront 已经将查看器路由到其最佳边缘,并且当该边缘在 Route 53 中基于延迟的路由上进行查找时,它会收到从处理请求的 CloudFront 边缘具有最低延迟的答案...因此,到 CloudFront 的查看器和到原始路由的 CloudFront 都是最佳的。
另请注意,故障转移路由到仅具有 DNS 的 S3 是不可能的,因为 S3 期望主机名与存储桶名称相匹配,而存储桶名称是全局的。 S3 故障很少见,但至少发生过一次。当它发生时,影响被限制在一个区域,正如设计的那样。要使站点在 S3 区域故障中幸存下来,需要额外的英雄事迹,涉及 CloudFront 和 Lambda@Edge 触发器,或基于 EC2 的代理,这些代理可以根据需要修改请求并将其发送到备用区域中的备用存储桶。
出于同样的原因,也无法使用 Route 53 基于延迟路由到存储桶,但可以通过 Lambda@Edge 源请求触发器来完成。这些触发器知道给定调用所在的 AWS 区域 运行,因此可以根据位置交换源服务器。
如果我所有的端点都是 AWS 服务,如 ELB 或 S3 "Evaluate Target Health" 可以用来代替故障转移记录,对吗?我可以使用多个加权、地理或延迟记录,如果我启用 "Evaluate Target Health" 如果记录指向的资源之一不健康,它也会服务于故障转移的目的 route53 将不会向它发送流量。
我看到的带有自定义健康检查的故障转移记录的唯一用途是用于非 aws 资源,或者如果您有更复杂的决定,您希望 DNS 做出而不只是 ELB/S3/etc 服务健康。
编辑:所以看起来我可以使用 "Evaluate Target Health"(在别名端点上)进行主动-主动,如果我想要主动-被动,我必须使用故障转移策略-这是正确的吗?
基本上,是的。只有在健康时,评估目标健康状况才能使记录成为生成响应的可行候选者。如果没有故障转移策略,当它们都健康时它们都是可行的。
如果您执行基于延迟的路由之类的操作并且您有两个目标,比方说俄亥俄州和伦敦,那么您基本上会有一个双重 active/passive 配置,角色互换 - 俄亥俄主动和伦敦被动对于北美的观众来说,角色颠倒了对于欧洲的观众。但是如果你想要全局 active/passive,你需要一个故障转移策略。
请注意,如果您使用 Route 53 和目标运行状况配置任何类型的高可用性设计,最好的办法是在 CloudFront 后面完成所有这些工作——查看器始终连接到 CloudFront,而 CloudFront 执行 DNS根据您创建的任何规则,查找 Route 53 以找到正确的起点。这样做的原因是 CloudFront 始终遵守 DNS TTL 值。出于性能原因,浏览器不会这样做。您的观众可能会发现自己被死目标的 DNS 记录困住了,因为他们的浏览器不会刷新缓存的 DNS 查找,直到所有 windows 中的所有选项卡都关闭。对于像我这样的用户,这几乎不会发生。
这也适用于 CloudFront 后面的 Route 53 中基于延迟的路由,因为 CloudFront 已经将查看器路由到其最佳边缘,并且当该边缘在 Route 53 中基于延迟的路由上进行查找时,它会收到从处理请求的 CloudFront 边缘具有最低延迟的答案...因此,到 CloudFront 的查看器和到原始路由的 CloudFront 都是最佳的。
另请注意,故障转移路由到仅具有 DNS 的 S3 是不可能的,因为 S3 期望主机名与存储桶名称相匹配,而存储桶名称是全局的。 S3 故障很少见,但至少发生过一次。当它发生时,影响被限制在一个区域,正如设计的那样。要使站点在 S3 区域故障中幸存下来,需要额外的英雄事迹,涉及 CloudFront 和 Lambda@Edge 触发器,或基于 EC2 的代理,这些代理可以根据需要修改请求并将其发送到备用区域中的备用存储桶。
出于同样的原因,也无法使用 Route 53 基于延迟路由到存储桶,但可以通过 Lambda@Edge 源请求触发器来完成。这些触发器知道给定调用所在的 AWS 区域 运行,因此可以根据位置交换源服务器。