全部产品
Search
文档中心

边缘节点服务ENS:创建和管理边缘高可用虚拟IP

更新时间:Jan 20, 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实例、弹性网卡实例上,也可以绑定弹性公网IP被公网访问。

ENS实例绑定HAVIP

  1. 高可用VIP列表页,找到目标高可用VIP实例,在操作列单击绑定资源

  2. 在弹出的对话框,选择要绑定的ENS实例弹性网卡,单击确定

    说明
    • 所绑定的实例必须和当前高可用VIP实例处于同一交换机下。

    • 绑定类型为弹性网卡时,弹性网卡需要绑定到计算实例后才能够被选择,否则无法与HAVIP绑定。

弹性公网IP绑定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         # 关闭严格模式以允许单播
        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         # 关闭严格模式以允许单播
        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