全部產品
Search
文件中心

ENS:建立和管理邊緣高可用虛擬IP

更新時間:Jan 21, 2026

本文為您介紹建立、綁定、解除綁定和釋放邊緣高可用虛擬IP的相關操作。

HAVIP配置樣本

image

建立邊緣高可用虛擬IP

  1. 登入邊緣節點服務ENS控制台

  2. 在左側導覽列選擇网络管理 > 高可用VIP

    image

  3. 高可用VIP頁面,單擊建立高可用VIP,配置以下參數。

    配置

    說明

    執行個體名稱

    高可用VIP的名稱。長度為2~128個字元,必須以大小寫字母或中文開頭,不能以http://https://開頭,可以包含數字、半形冒號:、底線_或者連字號-

    有序尾碼

    在同一節點一次建立多個高可用VIP執行個體時,執行個體名稱尾碼會從-1開始有序遞增,例如:ENSHAVIP-1ENSHAVIP-2

    地區

    • 地區:選擇要建立高可用VIP的邊緣節點。

    • 數量:每個節點建立高可用VIP的數量。

    • 專用網路:選擇高可用VIP所屬的專用網路。

    • 交換器:選擇高可用VIP所屬的交換器。

    說明

    在控制台可同時建立多個邊緣節點的高可用VIP,且高可用VIP只支援在VPC網路下建立。

    建立成功後,您可以在高可用VIP列表頁查看建立的HAVIP。

綁定邊緣高可用虛擬IP

高可用VIP可以綁定到ENS執行個體、彈性網卡執行個體上,也可以綁定Elastic IP Address被公網訪問。

ENS執行個體綁定HAVIP

  1. 高可用VIP列表頁,找到目標高可用VIP執行個體,在操作列單擊綁定資源

  2. 在彈出的對話方塊,選擇要綁定的ENS執行個體彈性網卡,單擊确定

    說明
    • 所綁定的執行個體必須和當前高可用VIP執行個體處於同一交換器下。

    • 綁定類型為彈性網卡時,彈性網卡需要綁定到計算執行個體後才能夠被選擇,否則無法與HAVIP綁定。

Elastic IP Address綁定HAVIP

  1. 高可用VIP列表頁,找到目標高可用VIP執行個體,在操作列單擊公網IP

  2. 在彈出的對話方塊,選擇要綁定的公網IP(一次只能綁定一個邊緣彈性公網執行個體),單擊确定

解除綁定邊緣高可用虛擬IP

  1. 高可用VIP列表頁,找到目標高可用VIP執行個體,在操作列單擊解除綁定資源

  2. 在彈出的對話方塊,選擇要解除綁定ENS執行個體或彈性網卡(一次只能解除綁定一個執行個體),單擊确认

說明
  • 解除綁定ENS執行個體,只有狀態為運行中或已停止時才能解除綁定。

  • 解除綁定彈性網卡執行個體,只有狀態為可用和已綁定時才能解除綁定。

釋放邊緣高可用虛擬IP

釋放高可用VIP前,請確保沒有綁定任何雲資源,否則無法釋放。

  1. 高可用VIP列表頁,找到目標高可用VIP執行個體,在操作列單擊釋放

  2. 在彈出的對話方塊,單擊确定

Keepalived配置參考

本樣本以雙機主備為例,介紹作業系統為CentOS的ENS執行個體如何安裝Keepalived。推薦使用V1.2.15及以上版本的Keepalived。

說明

如有多台備用 ENS 執行個體,需在各 ENS 執行個體的unicast_peer中聲明所有對端執行個體的 IP。可前往Keepalived GitHub瞭解更多資訊。

主伺服器配置

  1. 登入ENS執行個體

  2. 執行yum install keepalived安裝Keepalived。

  3. 執行vim /etc/keepalived/keepalived.conf編輯keepalived.conf檔案。

    本樣本僅展示需修改部分,請結合具體執行個體修改keepalived.conf檔案配置。請勿直接複製本樣本覆蓋已有keepalived.conf檔案。
    ! Configuration File for keepalived
    vrrp_instance VI_1 {
        strict_mode off         # 關閉strict 模式以允許單播
        state MASTER            # 設定為主執行個體
        interface eth0          # 綁定VIP的網卡,本樣本配置為eth0  
        virtual_router_id 51    # 主備叢集的virtual_router_id;同一VPC下的不同主備叢集需要配置不同的virtual_router_id
        nopreempt               # 設定非搶佔模式
        priority 100            # 設定優先權,數字越大,優先順序越高;本樣本配置優先順序為100,將本執行個體設定為主執行個體
        advert_int 1            # 心跳報文發送間隔,單位為秒。設定過小,易受網路抖動影響,可能發生頻繁倒換和暫時雙主(即腦裂)。設定過大,可能導致主執行個體故障後,主備切換時間長。
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        unicast_src_ip 192.168.0.25     # 本執行個體的私網IP地址,本樣本配置為192.168.0.25
        unicast_peer {
            192.168.0.26          # 對端執行個體的私網IP地址,本樣本配置為192.168.0.26;如有多台備用ENS執行個體,需聲明所有對端執行個體的IP,每個地址單獨佔一行,無需逗號或其他分隔字元。
        }
        virtual_ipaddress {
            192.168.0.24          # 虛擬IP地址,配置為HaVip的IP地址,本樣本為192.168.0.24
        }   
        garp_master_delay 1       # 當切為主執行個體後多久更新ARP緩衝,單位為秒
        garp_master_refresh 5     # 發送ARP報文的時間間隔,單位為秒
    
        track_interface {
            eth0                  # 綁定VIP的網卡,本樣本配置為eth0
        }
    }
  4. 執行systemctl start keepalived啟動 Keepalived。

備伺服器配置

  1. 登入備 ENS 執行個體。

  2. 執行yum install keepalived安裝Keepalived。

  3. 執行vim /etc/keepalived/keepalived.conf編輯keepalived.conf檔案。

    本樣本僅展示需修改部分,請結合具體執行個體修改keepalived.conf檔案配置。請勿直接複製本樣本覆蓋已有keepalived.conf檔案。
    ! Configuration File for keepalived
    vrrp_instance VI_1 {
        strict_mode off         # 關閉strict 模式以允許單播
        state BACKUP            # 設定為備執行個體
        interface eth0          # 綁定VIP的網卡,本樣本配置為eth0  
        virtual_router_id 51    # 主備叢集的virtual_router_id;同一VPC下的不同主備叢集需要配置不同的virtual_router_id
        nopreempt               # 設定非搶佔模式
        priority 10             # 設定優先權,數字越大,優先順序越高;本樣本配置優先順序為10,將本執行個體設定為備執行個體
        advert_int 1            # 心跳報文發送間隔,單位為秒。設定過小,易受網路抖動影響,可能發生頻繁倒換和暫時雙主(即腦裂)。設定過大,可能導致主執行個體故障後,主備切換時間長。
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        unicast_src_ip 192.168.0.26   # 本執行個體的私網IP地址,本樣本配置為192.168.0.26
        unicast_peer {
            192.168.0.25          # 對端執行個體的私網IP地址,本樣本配置為192.168.0.25。需聲明所有對端執行個體的IP,每個地址單獨佔一行,無需逗號或其他分隔字元。
        }
        virtual_ipaddress {
            192.168.0.24          # 虛擬IP地址,配置為HaVip的IP地址,本樣本為192.168.0.24
        }    
        garp_master_delay 1       # 當切為主執行個體後多久更新ARP緩衝,單位為秒
        garp_master_refresh 5     # 發送ARP報文的時間間隔,單位為秒
    
        track_interface {
            eth0                  # 綁定VIP的網卡,本樣本配置為eth0
        }
    }
  4. 執行systemctl start keepalived啟動 Keepalived。

效果驗證

  1. 在主備執行個體分別執行以下命令,建立Web測試服務,返回不同結果。

    netstat -an | grep 8000  # 查看連接埠佔用情況,如果8000連接埠被佔用,需要選擇其他連接埠。

    主執行個體:

    echo "ENS-1" > index.html  # 主執行個體返回"ENS-1"
    python3 -m http.server 8000

    備執行個體:

    echo "ENS-2" > index.html  # 備執行個體返回"ENS-2"
    python3 -m http.server 8000
  2. 在同 VPC 內的其他 ENS 執行個體中,執行curl <havip_private_ip>:8000,將返回ENS-1;當主伺服器停機後,將返回ENS-2