什么是虚拟IP
虚拟IP(Virtual IP Address,简称VIP)是一个未分配给真实弹性云主机网卡的IP地址。弹性云主机除了拥有私有IP地址外,还可以拥有虚拟IP地址,用户可以通过其中任意一个IP(私有IP/虚拟IP)访问此弹性云主机。同时,虚拟IP地址拥有私有IP地址同样的网络接入能力,包括VPC内二三层通信、VPC之间对等连接访问,以及弹性IP、VPN、云专线等网络接入。
您可以为多个主备部署的弹性云主机绑定同一个虚拟IP地址,然后为虚拟IP绑定一个弹性IP,搭配Keepalived,实现主服务器故障后,自动切换至备服务器,打造高可用容灾组网。
典型组网
虚拟IP主要用在弹性云主机的主备切换,搭配Keepalived,达到高可用性HA(High Availability)的目的。当主服务器发生故障无法对外提供服务时,动态将虚拟IP切换到备服务器,继续对外提供服务。本节介绍两种典型的组网模式。
- 典型组网1: HA高可用性模式
场景举例:如果您想要提高服务的高可用性,避免单点故障,可以用“一主一备”或“一主多备”的方法组合使用弹性云主机,这些弹性云主机对外表现为一个虚拟IP。当主服务器故障时,备服务器可以转为主服务器,继续对外提供服务。
图 HA高可用性模式组网图
− 将2台同子网的弹性云主机绑定同一个虚拟IP。
− 将这2台弹性云主机配置Keepalived,实现一台为主服务器,一台为备份服务器。Keepalived可参考业内通用的配置方法,此处不做详细介绍。
- 典型组网2: 高可用负载均衡集群
场景举例:如果您想搭建高可用负载均衡集群服务,您可以采用Keepalived + LVS(DR)来实现。
图 高可用负载均衡集群
− 将2台弹性云主机绑定同一个虚拟IP。
− 将绑定了虚拟IP的这2台弹性云主机配置Keepalived+LVS(DR模式),组成LVS主备服务器。这2台服务器作为分发器将请求均衡地转发到不同的后端服务器上执行。
− 配置另外2台弹性云主机作为后端RealServer服务器。
− 关闭2台后端RealServer弹性云主机的源/目的检查。
Keepalived + LVS调度服务端安装配置以及后端RealServer服务器配置可以参考业内通用的配置方法。
应用场景
- 场景一:通过弹性IP访问虚拟IP。
您的应用需要具备高可用性并通过Internet对外提供服务,推荐使用弹性IP绑定虚拟IP功能。
- 场景二:通过VPN/云专线/对等连接访问虚拟IP。
您的应用需要具备高可用性并且需要通过Internet访问,同时需要具备安全性(VPN),保证稳定的网络性能(云专线),或者需要通过其他VPC访问(对等连接)。
约束与限制
- 虚拟IP与弹性IP绑定将受弹性IP相关配额限制,具体可参看弹性IP服务约束与限制内容。
- 不推荐在弹性云主机配置多个同子网网卡的场景下,使用虚拟IP功能。若在该场景下使用虚拟IP功能,弹性云主机内部会存在路由冲突,导致虚拟IP通信异常。
- 备弹性云主机需要关闭IP转发功能。确认方式如下:
a. 登录弹性云主机执行如下命令,查看IP转发功能是否已开启。
cat /proc/sys/net/ipv4/ip_forward
回显结果:1为开启,0为关闭,默认为0。
n 回显为1,执行b和c关闭IP转发功能。
n 回显为0,操作完成。
b. 使用vi打开“/etc/sysctl.conf”文件,修改net.ipv4.ip_forward = 0,按“:wq”保存退出。或使用sed命令修改,参考命令如下:
sed -i '/net.ipv4.ip_forward/s/1/0/g' /etc/sysctl.conf
c. 执行如下命令,使修改生效。
sysctl -p /etc/sysctl.conf