当前位置: 首页 > news >正文

[专有网络VPC]高可用虚拟IP(HaVip)

借助VPC提供的高可用虚拟IP HaVip(High-Availability Virtual IP Address)功能,您可在云上基于ARP协议,通过Keepalived或Heartbeat软件来搭建服务高可用架构,以确保主备切换过程中服务IP不变(即IP漂移)。

什么是高可用虚拟IP(HaVip)

定义

HaVip是一种可以独立创建和释放的私网IP资源,具备与ECS实例主私网IP地址一样的网络接入能力,可以与高可用软件,例如Keepalived配合使用,搭建高可用主备服务,提高业务的可用性。

HaVip支持绑定多个ECS实例或多个ECS实例的主网卡或辅助网卡,以实现同可用区、多服务器高可用架构下的IP漂移,确保对外提供服务的私网IP始终不变。您可以将HaVip与EIP绑定,绑定后HaVip可以通过弹性公网IP(EIP)提供公网服务。此外,该架构下的多个ECS实例还可以利用部署集能力进一步提升业务的可靠性,更多信息,请参见部署集。

Keepalived就可以支持实现虚拟IP高可用,为什么要配合HaVip来实现呢?

在传统数据中心里,服务器可以通过地址解析协议ARP(Address Resolution Protocol)声明自己的IP地址并对外提供服务,很多应用场景或常用软件需要主机具备此能力。例如,使用Keepalived、Heartbeat等软件实现容灾恢复过程中服务IP不变的高可用方案。

然而,大部分云厂商采用SDN架构后,在VPC环境下不支持免费ARP广播功能。因为云上网络环境需使用虚拟化技术构建,虚拟服务器IP地址由云平台底层的虚拟化平台分配和管理。您的应用无法像传统方式一样修改主机IP地址,且整个虚拟网络是基于3层的隧道技术,ARP被终结在发送端,主机无法声明IP地址。为此,阿里云推出HaVip功能,解决此问题。

使用场景

如下图所示,ECS1和ECS2实例基于HaVip,使用Keepalived组合成一个高可用的私网服务。VPC内的其他实例ECS3可以通过私网访问该服务,服务地址为HaVip的地址。当ECS1发生故障时,ECS2会自动调用自身的接管程序,接管ECS1的服务,实现业务高可用。

 

说明

如果您有公网访问需求,您可为高可用虚拟IP绑定EIP,绑定后该高可用虚拟IP可以通过EIP面向公网提供高可用服务。

配额和费用

HaVip功能正在公测,您可以登录阿里云配额中心控制台进行自助申请。

重要

公测期间,HaVip免费使用,且不承诺任何服务等级协议(SLA)相关的保障条款。

支持的地域

公有云支持的地域

区域

支持高可用虚拟IP的地域

亚太

华东1(杭州)、华东2(上海)、华东5 (南京-本地地域)、华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华南1(深圳)、华南2(河源)、华南3(广州)、西南1(成都)、中国香港、华中1(武汉-本地地域)、华东6(福州-本地地域)、日本(东京)、韩国(首尔)、新加坡、澳大利亚(悉尼)(关停中)、马来西亚(吉隆坡)、印度尼西亚(雅加达)、菲律宾(马尼拉)、泰国(曼谷)

欧洲与美洲

德国(法兰克福)、英国(伦敦)、美国(硅谷)、美国(弗吉尼亚)

中东

阿联酋(迪拜)、沙特(利雅得)

重要

沙特(利雅得)地域由合作伙伴运营。

金融云支持的地域

区域

支持高可用虚拟IP的地域

亚太

华南1 金融云、华东2 金融云、华北2 金融云(邀测)

政务云支持的地域

区域

支持高可用虚拟IP的地域

亚太

华北2 阿里政务云1

使用限制与配额

配额名称

描述

默认限制

提升配额

支持创建高可用虚拟IP(HaVip)的网络类型

VPC类型

无法提升

单个ECS实例支持同时绑定的HaVip数量

5个

单个HaVip支持同时绑定的EIP数量

1个

单个HaVip支持同时绑定的ECS实例或弹性网卡的数量

10个

说明

  • 1个HaVip支持同时绑定10个ECS实例或同时绑定10个弹性网卡,但1个HaVip不能既绑定ECS实例又绑定弹性网卡。

  • HaVip具有子网属性,仅支持绑定到同一交换机下的ECS实例或弹性网卡上。

HaVip是否支持广播和组播通信

不支持

说明

HaVip只支持单播,如果您使用Keepalived等第三方软件实现高可用,需要修改配置文件中的通信方式为单播通信。

单个账号支持创建的HaVip的数量

50个

单个VPC支持创建的HaVip的数量

50个

vpc_quota_havip_custom_route_entry

单个VPC内,目的地址指向HaVip的路由条目的数量

5条

您可以通过以下任意方式自助提升配额:

  • 前往配额管理页面提升配额。具体操作,请参见管理VPC配额。

  • 前往配额中心自助提升配额。具体操作,请参见创建配额提升申请。

HaVip的使用示例

您可使用Terraform自动化脚本体验快速部署,也可以通过控制台操作手动部署ECS实例,来搭配HaVip和Keepalived实现同可用区双机高可用,架构图可参见本文使用场景。

配置流程

 

前提条件

  • 配额:已通过阿里云配额中心控制台自助申请高可用虚拟IP。

  • 权限:如果您使用的是RAM用户,请确保该账号已被阿里云账号授予以下VPC和ECS的最小权限。

    权限策略Action列表

    更多信息,请参见RAM鉴权和授权RAM用户使用ECS资源。

  • 针对通过控制台手动部署的操作,还需准备以下资源:

    • 已创建3台ECS实例,并在主备ECS实例部署了Nginx服务,确保Nginx正常运行。具体操作,请参见自定义购买实例和安装Nginx。

费用

  • 快速部署:执行Terraform脚本后,会为您创建3个ECS 1 vCPU 2 GiB的抢占式实例、1个VPC、1个vSwitch、1个HaVip。具体费用取决于您创建的ECS实例留存时间,建议您及时清除资源,防止继续计费。

  • 手动部署:具体费用取决于您创建的ECS资源规格。

说明

如果您有公网访问需求,为高可用虚拟IP绑定了EIP后,您需要为绑定的EIP支付费用。更多计费信息,请参见EIP计费概述。

配置步骤

快速部署(Terraform)

手动部署(控制台)

  1. 下载项目文件iac-example-havip.zip。

  2. 登录阿里云Cloud Shell,上传下载的文件至Cloud Shell。

    image

  3. 依次执行以下命令,解压压缩包,进入工程根目录,初始化脚本并创建资源。

    unzip iac-example-havip.zip
    cd iac-example-havip
    terraform init
    terraform apply -auto-approve

    返回结果:

    output.png

  4. 结果验证。

    1. 登录ECS3实例。执行curl ha_vip_private_ip命令,即可查看到ECS1(主)实例返回的信息。

      result1.png

    2. 在Cloud Shell中执行以下命令停止ECS1实例。

      aliyun ecs StopInstance --InstanceId <$instance_id_ecs1> --ForceStop false --StoppedMode KeepCharging --DryRun false
    3. 登录ECS3实例。再次执行curl ha_vip_private_ip命令,即可查看到返回的信息是ECS2。

      result2.png

    此时,由于ECS1宕机,ECS2作为备机将自动接管ECS1实例的服务,以保证对外提供服务的IP不变,实现IP漂移。

  5. 执行以下命令,清除资源,防止继续计费。

    terraform destroy -auto-approve

管理HaVip

通过控制台管理HaVip

操作入口
  1. 登录专有网络管理控制台。
  2. 在左侧导航栏,单击高可用虚拟IP

  3. 在顶部菜单栏处,选择高可用虚拟IP的地域。

根据您具体的需求,继续执行以下操作。

创建高可用虚拟IP
  1. 高可用虚拟IP页面,单击创建高可用虚拟IP

  2. 创建高可用虚拟IP对话框,根据以下信息配置高可用虚拟IP,然后单击确定

    • 资源组:为HaVip选择所属的资源组。

    • 标签键:为HaVip输入新标签键或选择已有标签键。最多支持128个字符,不能以aliyunacs:开头,不能包含http://https://。一次最多绑定20个标签键。

    • 标签值:为HaVip输入新标签值或选择已有标签值。最多支持128个字符,不能以aliyunacs:开头,不能包含http://https://。一次最多绑定20个标签值。

    • 地域:显示要创建HaVip的地域。

    • 专有网络:选择HaVip所属的专有网络。

    • 交换机:选择HaVip所属的交换机。

    • 交换机网段:显示交换机的网段。

    • 是否自动分配私网IP地址:选择是否自动分配私网IP地址。

      • :由系统在所选交换机的网段中分配一个未被占用的私网IP地址。

      • :手动输入一个私网IP地址,该IP地址必须为所选交换机的网段中未被占用的私网IP地址。

说明

如果您无需再使用HaVip资源,您可以在高可用虚拟IP页面,找到目标高可用虚拟IP,然后在操作列单击删除。请确保需删除的高可用虚拟IP未绑定ECS实例、弹性网卡或EIP,如已绑定,请先解绑。

绑定和解绑ECS实例或弹性网卡
  1. 高可用虚拟IP页面,找到目标高可用虚拟IP实例,单击高可用虚拟IP的ID。

  2. 绑定资源区域ECS实例处,单击立即绑定

  3. 在弹出的对话框,根据以下信息选择要绑定的ECS实例或弹性网卡,然后单击确定

    配置

    说明

    绑定类型

    选择要绑定高可用虚拟IP的资源类型,支持选择以下两种资源类型:

    • ECS实例

    • 弹性网卡

    绑定资源

    选择要绑定高可用虚拟IP的ECS实例或弹性网卡。

    要绑定高可用虚拟IP的ECS实例或弹性网卡必须满足以下条件:

    • ECS实例的网络类型为专有网络类型。

    • ECS实例或弹性网卡所属的交换机与高可用虚拟IP所属的交换机相同。

如需解绑ECS实例或弹性网卡,在绑定资源区域,在已绑定ECS实例处找到目标ECS实例或弹性网卡,单击解除关联

说明

  • 高可用虚拟IP在一个时刻只可绑定同一类型资源,如需绑定其他类型资源,请先解绑已经绑定的资源。

  • 如果删除已绑定高可用虚拟IP的ECS实例,系统会自动解除高可用虚拟IP和该ECS实例的绑定关系。

  • 如果从ECS实例上解绑已绑定高可用虚拟IP的辅助弹性网卡,不会影响高可用虚拟IP和该辅助弹性网卡的绑定关系。

  • 如果删除已绑定高可用虚拟IP的辅助弹性网卡,系统会自动解除高可用虚拟IP和该辅助弹性网卡的绑定关系。

绑定和解绑EIP

您可以将EIP绑定至高可用虚拟IP上,绑定后该高可用虚拟IP可以通过EIP提供公网服务。绑定EIP前,您需要申请EIP。需要绑定的EIP必须满足以下条件:

  • EIP的地域必须和高可用虚拟IP的地域相同。

  • EIP实例的状态必须处于可用状态。

  1. 高可用虚拟IP页面,找到目标高可用虚拟IP实例,然后在操作列单击绑定EIP

  2. 绑定弹性公网IP对话框,选择需要绑定的EIP,然后单击确定


http://www.mrgr.cn/news/58193.html

相关文章:

  • 装了Ubuntu和Windows双系统,如何设置默认启动Windows
  • 1.CentOS安装
  • 手机照片怎么转换成jpg格式?分享6种图片格式转换方法
  • es索引库操作和使用RestHignLevelClient客户端操作es
  • springmvc+jdk1.8升级到springboot3+jdk17(实战)
  • 量化交易:最大回撤(Drawdown)算法
  • 基于SpringBoot的时装购物系统【源码】+【论文】
  • 没有密码,如何取消Word文档的只读模式?
  • RJ45 网口--内部有/没有变压器的连接器
  • MySQL 之 索引
  • BLE 协议之传输层
  • 一文梳理:如何构建并优化GPU云算力中心?
  • 微服务之网关、网关路由、网关登录校验
  • django restful API
  • 迅为RK3568开发板/核心板赋能数字广告,推动智能化新时代
  • axios退休了吗?现代Web开发的新请求策略
  • 企业如何配合好等级保护测评工作?
  • Vue组件学习 | 二、Vuex组件
  • HarmonyOS NEXT应用元服务开发控件位置调整场景与重新设置新焦点位置的场景
  • 【CUDA代码实践02】矩阵加法运算程序
  • GBase8a 审计管理
  • [ARM-2D 专题]4. 快速搭建ARM2D的PC仿真开发环境及避坑手法
  • 4PCS与Super4PCS算法原理介绍
  • JAVA学习-练习试用Java实现“接口 `Flyable` 和一个鸟类 `Bird` ”
  • 想进体制内?到底有哪些路可走?原来有这么多方法
  • opencv学习笔记(4):图像属性和基本图形绘制