在 AWS 中实施
您可以使用 Amazon Elastic Compute Cloud (Amazon EC2)、Amazon EC2 API、弹性 IP 地址中的核心功能以及 Amazon EC2 上对辅助私有 IP 地址的支持,在 AWS 上实施此模式。
-
启动两个 EC2 实例以承担主节点和次节点的角色,其中,默认情况下,假定主节点处于活动状态。
-
为主 EC2 实例分配额外的辅助私有 IP 地址。
-
弹性 IP 地址(类似于虚拟 IP (VIP))与辅助私有地址相关联。此辅助私有地址是外部终端节点用来访问应用程序的地址。
-
要将辅助 IP 地址作为别名添加到主网络接口,需要进行一些操作系统配置。
-
应用程序必须绑定到此弹性 IP 地址。对于 Asterisk 软件,您可以通过高级 Asterisk SIP 设置来配置绑定。
-
在每个节点上运行监控脚本(自定义、Linux 上的 KeepAlive、Corosync 等)以监控对等节点的状态。如果当前活动节点发生故障,则对等节点会检测到此故障,并调用 Amazon EC2 API 将辅助私有 IP 地址重新分配给自己。
-
因此,侦听与辅助私有 IP 地址关联的 VIP 的应用程序可通过备用节点供终端节点使用。
图 4:使用弹性 IP 地址在有状态 EC2 实例之间进行故障转移