什么是虛擬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