我在 Amazon EC2 实例上运行一个实时应用程序。我想使用 VPC、第二个实例和 keepalived 实现主/从冗余。到目前为止,它运行可靠,但在发生故障转移时,EIP 重新分配需要大约 30 秒,这不适用于我的场景,因为当前连接超时并被丢弃。我在 VPC 中使用浮动内部 IP,并在系统之间移动它,因为重新分配公共 EIP 需要更多时间。在具有虚拟机的本地场景中,内部 IP 地址被重新分配,并启动运行 arping 的脚本来更新路由器,因此故障转移最多需要大约 1-2 秒。有没有办法使用 AWS VPC 实现类似的速度?谢谢!
答案1
我认为您无法直接加快 EIP 重新分配的速度,因为没有这样的配置来控制该过程。(也许您可以联系 AWS 支持团队以获取更多信息)。
但是,您可以使用以下选项构建更可靠的环境:
- 用一个AWS ELB,低健康检查值。此方案将使用两个(或更多)应用程序实例(最好在单独的可用区域),并将根据您的配置自动停止发送流量;
- 如果您使用AWS OpsWorks为了进行配置,创建一个 HAproxy 层,配置为使用一个应用程序实例作为故障转移,有关更多信息,请查看这关联;
- 在应用程序前手动设置负载均衡器以实现自动故障转移。
对于所有先前的情况,您的主 DNS 将始终指向负载均衡器公共 EIP,并且您将完全控制配置环境以实现快速故障转移。