通过ALB实例克隆实现多环境快速部署

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

在快速部署环境、容灾备份、配置迁移等场景中,您可以通过ALB的实例克隆快速创建与源实例相同或相似的实例,从而提高业务部署效率,减少运维复杂度。

ALB实例克隆功能简介

ALB实例克隆允许您快速复制现有ALB实例的配置,包括监听、后端服务器组、转发规则、健康检查等关键配置。通过该功能,您可以避免手动重新配置的繁琐过程,确保新实例与原有实例具有相同或相似配置。该功能特别适用于容灾备份和配置迁移等场景。

关键特性

  • 快速复制:通过资源编排ROS自动化流程实现一键克隆现有ALB实例的配置,快速生成新实例,显著提升部署效率并降低运维复杂度。

  • 配置一致性:确保新实例与原有实例具有相同或相似配置,避免配置错误。

  • 灵活部署:支持在不同地域或可用区中部署克隆实例,满足多区域业务扩展、容灾切换等复杂场景需求。

适用场景

  • 环境迁移:将测试环境配置克隆至预发布或正式环境,确保多环境一致性以支持功能快速上线。

  • 容灾备份:业务发生故障时,通过实例克隆快速部署备用负载均衡资源,提升业务连续性与高可用性。

  • 配置迁移:将现有实例的配置迁移到新的实例中(如版本升级、架构调整),避免重复配置的人力消耗。

使用限制

  • 克隆的目标ALB实例与源ALB实例功能版本一致。

  • ALB Ingress实例不支持实例克隆。

  • 已开启配置修改保护ALB实例不支持实例克隆。

  • 如果源ALB实例已加入共享带宽,克隆的目标ALB实例不会自动加入共享带宽。您可在目标ALB实例详情页中手动加入共享带宽

  • 对于未升级的ALB实例,会默认克隆为ALB升级实例,您需要关注ALB升级前后差异

场景示例

某企业新开发的功能部署在测试环境中,通过ALB进行流量负载均衡,并且该ALB实例已配置转发规则实现HTTP访问重定向至HTTPS,使用自有域名提供测试服务。测试终端访问域名www.example.com时,DNS解析会根据CNAME记录将测试流量指向该ALB实例,ALB实例根据转发规则将流量转发到ECS01ECS02处理。

经测试验收后,需要将测试环境的ALB实例配置迁移到生产环境。由于生产环境流量较大,手动配置ALB实例不仅耗时,还可能导致配置不一致,影响业务运行。

为了解决这一问题,企业决定使用ALB实例克隆,将测试环境的ALB配置快速复制到生产环境。通过实例克隆功能,企业成功在短时间内完成了生产环境的ALB部署,确保了新功能的快速上线和业务稳定。

image

前提条件

  • ALB实例已配置监听和后端服务器,且该ALB实例已设置CNAME解析,可通过自有域名www.example.com进行测试访问。具体操作请参见ALB快速实现IPv4服务的负载均衡

    • ALB实例的监听包括HTTP监听和HTTPS监听,且HTTP监听已配置重定向转发规则,实现HTTP访问重定向至HTTPS

    • ALB实例的后端服务器ECS01ECS02已部署了服务。

      本文以Alibaba Cloud Linux 3操作系统为例,并使用Nginx配置HTTP 80服务。

      参考示例:ECS01部署测试服务

      yum install -y nginx
      systemctl start nginx.service
      cd /usr/share/nginx/html/
      echo "Hello World ! This is ECS01." > index.html
  • 您可能需要为克隆的目标ALB实例准备后端服务器:

    • 如果目标ALB实例与源ALB实例在同一VPC,则源ALB实例的后端服务器ECS01ECS02也会作为目标ALB实例的后端服务器,您可以直接使用。

    • 如果目标ALB实例与源ALB实例不在同一VPC内,您需要在目标VPC内准备后端服务器ECS03ECS04,并部署服务。

  • 已准备用于模拟客户端的服务器:ECS-A用于测试迁移前流量,ECS-B用于验证迁移时的访问流量,且均具备公网访问能力。本文以Alibaba Cloud Linux 3操作系统为例。

    如果您已有测试服务器,无需创建ECS-AECS-B。

操作步骤

步骤一:对源ALB实例进行实例克隆

  1. 应用型负载均衡ALB控制台顶部菜单栏选择源ALB实例所属地域。

  2. ALB实例页面,找到目标实例,然后在操作列选择更多操作 > 实例克隆

  3. 实例克隆对话框,设置目标ALB实例参数,然后单击下一步

    目标ALB实例的参数配置默认与源ALB实例一致。本文场景中,需要将目标地域从德国(法兰克福)修改为美国(硅谷)、将目标专有网络从默认的VPC1修改为目标VPC2,并选择相应目标可用区及交换机,其他参数配置可保持默认值或根据实际情况进行修改。

    ALB 实例克隆

  4. 配置预览步骤中,确认目标ALB实例信息及费用信息,单击开始克隆

  5. 确认克隆结果。

    当克隆结果步骤中显示实例克隆成功时,说明克隆任务已完成,您可以对克隆的目标ALB实例与源ALB实例业务数据进行对比。

    实例克隆由资源编排ROS提供,克隆过程中,您可以登录资源编排管理控制台查看克隆进度。

  6. 将后端服务器ECS03ECS04,添加至目标ALB实例的服务器组中。

步骤二:测试流量

说明

为确保目标ALB实例与后端服务正常连通,如您的后端服务中存在访问策略(包括iptables或其他任何第三方安全策略软件),建议您提前放通ALB实例所属交换机网段。

  1. 远程连接测试服务器ECS-A。

  2. 执行以下命令修改hosts文件。

    sudo vi /etc/hosts

    进入hosts文件中,新增以下目标ALB实例的弹性公网IP地址和域名。修改完成后,保存并退出该文件的修改。

    47.251.XX.XX www.example.com
  3. 执行以下命令,测试目标ALB的流量转发。

    curl -v -L www.example.com

    返回如下,可看到成功实现HTTP访问重定向至HTTPS,应答服务器为ECS03。

    ECS03响应01

    ECS03响应02

    重复执行命令,应答服务器变为ECS04。

    ECS04响应01

    ECS04响应02

步骤三:迁移流量至目标ALB实例

警告
  • 流量迁移前,请比对您的源ALB实例与目标ALB实例转发规则的配置,确保二者提供的能力完全一致,且所有配置经过完备的测试验收,以免在迁移过程中对您的业务产生非预期的影响。

  • 建议在业务低谷期进行ALB流量的迁移。

ALB实例已设置CNAME解析,在目标ALB实例完成配置验收后,您可以将源ALB实例流量按需迁移至目标ALB实例。

本文以阿里云云解析DNS权重配置功能为例,通过动态调整源ALB实例与目标ALB实例的权重比例,逐步将解析流量从原实例迁移至新实例。

第一步:目标ALB实例添加CNAME解析

  1. 在左侧导航栏,选择应用型负载均衡 ALB > 实例,在实例页面,复制已创建的ALB实例的DNS名称。

  2. 执行以下步骤添加CNAME解析记录。

    1. 域名解析页面,找到目标自有域名,在操作列单击解析设置

      说明

      对于非阿里云注册域名,需先添加域名到云解析控制台,才可以进行域名解析设置。

    2. 在解析设置页面,单击添加记录,配置CNAME记录,然后单击确定

      本文场景中,记录类型配置为CNAME记录值配置为目标ALB实例的DNS名称,解析记录其他参数配置可保持默认值或根据实际情况修改。

      CNAME

第二步:设置权重,开始流量灰度

  1. 域名解析页面,单击目标自有域名,在解析设置页面, 选择权重配置页签。

  2. 权重配置页面,找到目标子域名,在操作列单击开启权重,然后单击设置权重

    权重配置的启用条件是域名下存在相同的主机记录、相同解析线路的多条A记录、CNAME记录、AAAA记录。

  3. 设置权重面板,分别为源ALB实例和目标ALB实例的解析记录设置权重。将源ALB实例对应的解析记录的权重设置为100,同时将目标ALB实例对应的解析记录的权重设置为0。

    设置权重

  4. 在观察业务没有影响的情况下,逐步减小源ALB实例解析记录的权重值,同时逐步增加目标ALB实例解析记录的权重值。

  5. 远程连接测试服务器ECS-B实例,多次执行dig命令,验证流量迁移效果。

    dig www.example.com

    运行结果如下图所示。您可以通过多次运行结果观察到,请求会根据权重分配至源ALB实例或目标ALB实例处理。

    dig解析

(可选)第三步:完成流量迁移

根据流量迁移的验证结果,逐步将源ALB实例解析记录的权重值减小至0,同时逐步增加目标ALB实例解析记录的权重值至100。至此,您已完成源ALB实例流量至目标ALB实例的迁移。

当源ALB实例长连接全部处理完成,且源ALB实例没有新增流量时,您可以根据业务场景静默观察一段时间后释放该源ALB实例。

相关文档

  • 克隆ALB实例后,您可以通过访问日志监控目标ALB实例的负载情况并定位相关问题。

  • 如果您需要将CLB七层监听迁移至ALB:

  • 您可以按需选择DNS流量管理策略:

    • 权重配置:通过权重配置实现加权轮询效果,将DNS解析流量按设定的权重分配,从而在查询请求时返回相应的记录值。

    • 智能解析:支持根据用户的地理位置和运营商来智能返回解析结果,从而减少解析延迟并提升网站访问速度。包括运营商线路、运营商省份、境外线路、境外大洲、境外大洲/国家、自定义解析等线路。

    • 全局流量管理:能够实现访问的就近接入、高并发负载均摊,并能够根据健康检查结果进行流量切换,灵活构建同城多活和异地容灾服务。