Keepalived就可以支持实现虚拟IP高可用,为什么要配合HaVip来实现呢?
如下图所示,ECS1和ECS2实例基于HaVip,使用Keepalived组合成一个高可用的私网服务。VPC内的其他实例ECS3可以通过私网访问该服务,服务地址为HaVip的地址。当ECS1发生故障时,ECS2会自动调用自身的接管程序,接管ECS1的服务,实现业务高可用。
如果您有公网访问需求,您可为高可用虚拟IP绑定EIP,绑定后该高可用虚拟IP可以通过EIP面向公网提供高可用服务。
区域
支持高可用虚拟IP的地域
亚太
欧洲与美洲
德国(法兰克福)、英国(伦敦)、美国(硅谷)、美国(弗吉尼亚)
中东
阿联酋(迪拜)、沙特(利雅得)
沙特(利雅得)地域由合作伙伴运营。
华南1金融云、华东2金融云、华北2金融云(邀测)
华北2阿里政务云1
配额名称
描述
默认限制
提升配额
无
支持创建高可用虚拟IP(HaVip)的网络类型
VPC类型
无法提升
单个ECS实例支持同时绑定的HaVip数量
5个
单个HaVip支持同时绑定的EIP数量
1个
单个HaVip支持同时绑定的ECS实例或弹性网卡的数量
10个
HaVip是否支持广播和组播通信
不支持
HaVip只支持单播,如果您使用Keepalived等第三方软件实现高可用,需要修改配置文件中的通信方式为单播通信。
单个账号支持创建的HaVip的数量
50个
单个VPC支持创建的HaVip的数量
vpc_quota_havip_custom_route_entry
单个VPC内,目的地址指向HaVip的路由条目的数量
5条
您可以通过以下任意方式自助提升配额:
此时,由于ECS1宕机,ECS2作为备机将自动接管ECS1实例的服务,以保证对外提供服务的IP不变,实现IP漂移。
本示例以操作系统为CentOS的ECS实例为例,介绍如何安装Keepalived。
您可以将HaVip与ECS实例进行绑定,绑定后,ECS实例可以使用ARP协议进行该IP的宣告。
HaVip仅支持与同一个交换机下的ECS实例进行绑定,每个HaVip最多可以绑定10台ECS实例。
完成以下操作,将HaVip分别与主备ECS实例绑定。
绑定成功后,您可在绑定资源区域查看HaVip绑定的ECS实例。
测试结果如下:
根据您具体的需求,继续执行以下操作。
如果您无需再使用HaVip资源,您可以在高可用虚拟IP页面,找到目标高可用虚拟IP,然后在操作列单击删除。请确保需删除的高可用虚拟IP未绑定ECS实例、弹性网卡或EIP,如已绑定,请先解绑。
绑定资源
选择要绑定高可用虚拟IP的ECS实例或弹性网卡。
要绑定高可用虚拟IP的ECS实例或弹性网卡必须满足以下条件:
如需解绑ECS实例或弹性网卡,在绑定资源区域,在已绑定ECS实例处找到目标ECS实例或弹性网卡,单击解除关联。
您可以将EIP绑定至高可用虚拟IP上,绑定后该高可用虚拟IP可以通过EIP提供公网服务。绑定EIP前,您需要申请EIP。需要绑定的EIP必须满足以下条件:
如果高可用虚拟IP不再需要通过EIP提供公网服务,您可以将HaVip与EIP解绑。在高可用虚拟IP页面,找到目标高可用虚拟IP实例,在操作列单击解绑EIP。
您可以通过其他方式,SDK、Terraform或ROS调用以下API管理HaVip:
推荐使用V1.2.15及以上版本的Keepalived。
如果您使用Keepalived等第三方软件实现高可用,您需要将心跳检测的源IP修改为ECS实例的私网IP,而不能使用HaVip的私网IP进行心跳检测。
不支持。
HaVip分别与ECS实例和弹性公网IP绑定,持有HaVip的ECS实例进行公网通信时,数据包的源IP为HaVip的私网IP,并非ECS实例的私网IP,因为弹性公网IP是映射在HaVip的私网IP上,而不是映射在ECS实例的私网IP上。