本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
在快速部署环境、容灾备份、配置迁移等场景中,您可以通过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实例根据转发规则将流量转发到ECS01和ECS02处理。
经测试验收后,需要将测试环境的ALB实例配置迁移到生产环境。由于生产环境流量较大,手动配置ALB实例不仅耗时,还可能导致配置不一致,影响业务运行。
为了解决这一问题,企业决定使用ALB实例克隆,将测试环境的ALB配置快速复制到生产环境。通过实例克隆功能,企业成功在短时间内完成了生产环境的ALB部署,确保了新功能的快速上线和业务稳定。
前提条件
源ALB实例已配置监听和后端服务器,且该ALB实例已设置CNAME解析,可通过自有域名
www.example.com
进行测试访问。具体操作请参见ALB快速实现IPv4服务的负载均衡。源ALB实例的监听包括HTTP监听和HTTPS监听,且HTTP监听已配置重定向转发规则,实现HTTP访问重定向至HTTPS。
源ALB实例的后端服务器ECS01和ECS02已部署了服务。
本文以Alibaba Cloud Linux 3操作系统为例,并使用Nginx配置HTTP 80服务。
您可能需要为克隆的目标ALB实例准备后端服务器:
如果目标ALB实例与源ALB实例在同一VPC,则源ALB实例的后端服务器ECS01和ECS02也会作为目标ALB实例的后端服务器,您可以直接使用。
如果目标ALB实例与源ALB实例不在同一VPC内,您需要在目标VPC内准备后端服务器ECS03和ECS04,并部署服务。
已准备用于模拟客户端的服务器:ECS-A用于测试迁移前流量,ECS-B用于验证迁移时的访问流量,且均具备公网访问能力。本文以Alibaba Cloud Linux 3操作系统为例。
如果您已有测试服务器,无需创建ECS-A和ECS-B。
操作步骤
步骤一:对源ALB实例进行实例克隆
在应用型负载均衡ALB控制台顶部菜单栏选择源ALB实例所属地域。
在ALB实例页面,找到目标实例,然后在操作列选择
。在实例克隆对话框,设置目标ALB实例参数,然后单击下一步。
目标ALB实例的参数配置默认与源ALB实例一致。本文场景中,需要将目标地域从德国(法兰克福)修改为美国(硅谷)、将目标专有网络从默认的VPC1修改为目标VPC2,并选择相应目标可用区及交换机,其他参数配置可保持默认值或根据实际情况进行修改。
在配置预览步骤中,确认目标ALB实例信息及费用信息,单击开始克隆。
确认克隆结果。
当克隆结果步骤中显示实例克隆成功时,说明克隆任务已完成,您可以对克隆的目标ALB实例与源ALB实例业务数据进行对比。
将后端服务器ECS03和ECS04,添加至目标ALB实例的服务器组中。
步骤二:测试流量
为确保目标ALB实例与后端服务正常连通,如您的后端服务中存在访问策略(包括iptables或其他任何第三方安全策略软件),建议您提前放通ALB实例所属交换机网段。
远程连接测试服务器ECS-A。
执行以下命令修改hosts文件。
sudo vi /etc/hosts
进入hosts文件中,新增以下目标ALB实例的弹性公网IP地址和域名。修改完成后,保存并退出该文件的修改。
47.251.XX.XX www.example.com
执行以下命令,测试目标ALB的流量转发。
curl -v -L www.example.com
返回如下,可看到成功实现HTTP访问重定向至HTTPS,应答服务器为ECS03。
重复执行命令,应答服务器变为ECS04。
步骤三:迁移流量至目标ALB实例
流量迁移前,请比对您的源ALB实例与目标ALB实例转发规则的配置,确保二者提供的能力完全一致,且所有配置经过完备的测试验收,以免在迁移过程中对您的业务产生非预期的影响。
建议在业务低谷期进行ALB流量的迁移。
源ALB实例已设置CNAME解析,在目标ALB实例完成配置验收后,您可以将源ALB实例流量按需迁移至目标ALB实例。
本文以阿里云云解析DNS的权重配置功能为例,通过动态调整源ALB实例与目标ALB实例的权重比例,逐步将解析流量从原实例迁移至新实例。
第一步:目标ALB实例添加CNAME解析
在左侧导航栏,选择ALB实例的DNS名称。
,在实例页面,复制已创建的执行以下步骤添加CNAME解析记录。
在域名解析页面,找到目标自有域名,在操作列单击解析设置。
说明对于非阿里云注册域名,需先添加域名到云解析控制台,才可以进行域名解析设置。
在解析设置页面,单击添加记录,配置CNAME记录,然后单击确定。
本文场景中,记录类型配置为CNAME,记录值配置为目标ALB实例的DNS名称,解析记录其他参数配置可保持默认值或根据实际情况修改。
第二步:设置权重,开始流量灰度
在域名解析页面,单击目标自有域名,在解析设置页面, 选择权重配置页签。
在权重配置页面,找到目标子域名,在操作列单击开启权重,然后单击设置权重。
权重配置的启用条件是域名下存在相同的主机记录、相同解析线路的多条A记录、CNAME记录、AAAA记录。
在设置权重面板,分别为源ALB实例和目标ALB实例的解析记录设置权重。将源ALB实例对应的解析记录的权重设置为100,同时将目标ALB实例对应的解析记录的权重设置为0。
在观察业务没有影响的情况下,逐步减小源ALB实例解析记录的权重值,同时逐步增加目标ALB实例解析记录的权重值。
远程连接测试服务器ECS-B实例,多次执行
dig
命令,验证流量迁移效果。dig www.example.com
运行结果如下图所示。您可以通过多次运行结果观察到,请求会根据权重分配至源ALB实例或目标ALB实例处理。
(可选)第三步:完成流量迁移
根据流量迁移的验证结果,逐步将源ALB实例解析记录的权重值减小至0,同时逐步增加目标ALB实例解析记录的权重值至100。至此,您已完成源ALB实例流量至目标ALB实例的迁移。
当源ALB实例长连接全部处理完成,且源ALB实例没有新增流量时,您可以根据业务场景静默观察一段时间后释放该源ALB实例。
相关文档
克隆ALB实例后,您可以通过访问日志监控目标ALB实例的负载情况并定位相关问题。
如果您需要将CLB七层监听迁移至ALB:
您可以按需选择DNS流量管理策略: