AWS Global Accelerator通过不断监视端点组中所有端点的健康并将流量仅路由到健康的终点,从而为双堆栈端点处理故障转移。双堆栈端点支持IPv4和IPv6,并且可以是网络负载平衡器,应用程序负载平衡器或Amazon EC2实例,这些实例附加了主要的IPv6地址[3] [9] [6] [6]。
这是故障转移如何详细介绍双堆栈端点:
- 全球加速器对端点组中的所有端点进行健康检查。如果端点变得不健康,它将停止将流量路由到该端点,而是将流量路由到同一组中的其他健康端点[3] [5]。
- 如果在当前端点组中不存在重量大于零的健康端点,则全球加速器试图在另一个端点组的健康端点(通常在不同的AWS地区)中失败。此故障转移忽略了流量拨号设置,这意味着在故障转移尝试期间考虑了将流量拨号设置为零的端点组[5]。
- 如果在检查三个最接近的端点组后没有发现重量大于零的健康端点,则无论健康状况如何,全局加速器“失败”通过将流量路由到最接近端点组的随机端点,无论健康状况如何[5]。
- 当先前不健康的端点恢复时,全局加速器会恢复正常的路由行为,将流量引导回到健康的端点,流量表盘高于零。但是,现有的活动连接继续路由到其原始端点直到重置[5]。
- 双堆栈加速器都要求所有端点也是双堆栈。在将加速器更新为双堆栈时,全局加速器确保所有端点都具有主要的IPv6地址,并在必要时将其添加到EC2实例[6] [9]。
- 全球加速器提供静态双堆IP地址作为单个联系点,将客户端流量通过AWS全球网络将客户流量路由到最接近健康的双堆栈端点,从而提高了可用性和性能[3] [10]。
- 可以为某些双堆栈端点启用客户端IP地址保存,但是有一些限制,例如在IPv4加速器中为双堆栈网络加载平衡器禁用此功能[3]。
总而言之,AWS全球加速器通过健康监控,加权路由,区域故障转移和后备到最近的端点来管理双堆栈端点的故障转移,同时均需要跨端点跨端点的双堆栈支持,以确保无缝IPV4和IPV6交通交通和高可用性和高可用性[3] [5] [5] [5] [5] [5] [6] [9] [9] [9]。
引用:
[1] https://docs.aws.amazon.com/global-accelerator/latest/dg/introduction-how-it-works.html
[2] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints.html
[3] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-caveats.html
[4] https://docs.aws.amazon.com/global-accelerator/latest/disaster-recovery-reslige.html
[5] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoints-endpoint-weights.unhealthy-endhealthy-endpoints.html
[6] https://aws.amazon.com/blogs/networking-and-content-delivery/global-accelerator-ipv6-ec2/
[7] https://docs.aws.amazon.com/pdfs/global-accelerator/latest/dg/global-accelerator-guide.pdf
[8] https://aws.amazon.com/global-accelerator/faqs/
[9] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-adding-endpoints.html
[10] https://aws.amazon.com/global-accelerator/features/