应用型负载均衡ALB(Application Load Balancer)相比传统型负载均衡CLB(Classic Load Balancer),具有强大的七层负载均衡处理能力与丰富的高级路由功能,具备大规模应用层流量处理能力,可以一键开启WAF应用防护,转发与防护完全解耦。且支持更多高阶功能,让您拥有更好的负载均衡体验。本文为您介绍如何将CLB七层监听一键迁移至ALB。
迁移限制
CLB一键迁移ALB的功能默认不开放,如需使用,请登录配额中心控制台,在权益配额列表页面,输入配额ID为slb_user_visible_gray_label/clone_clb
,然后进行申请。更多信息,请参见管理ALB配额。
支持迁移的CLB实例类型
专有网络类型的IPv4私网CLB实例,且已配置七层监听(HTTP或HTTPS监听)
IPv4公网CLB实例,且已配置七层监听(HTTP或HTTPS监听)
不支持一键迁移的场景
以下三个场景不支持使用迁移向导一键迁移,建议您手动迁移CLB七层监听至ALB。
未配置HTTP或HTTPS监听的CLB实例
经典网络类型的私网CLB实例
IPv6类型的CLB实例
迁移过程注意事项
ALB未支持的地域不支持迁移。ALB支持的地域,请参见ALB支持的地域与可用区。
WAF应用防护的相关配置不支持迁移。若CLB已开启WAF,迁移后需要您手动开启WAF防护。新建ALB实例推荐开启WAF3.0,具体操作,请参见开通和管理ALB WAF增强版。
CLB监控的阈值报警配置不支持迁移,需要您通过云监控控制台、API、SDK配置。迁移后如需配置,请参见设置ALB监控项报警规则。
默认开启DDoS防护。提升DDoS阈值的相关配置不支持迁移,迁移后需要您在DDoS控制台手动配置。
访问控制相关配置不支持迁移。迁移后如需配置,请参见访问控制。
HTTPS监听的服务器证书与CA证书需要您手动指定。
CLB主备服务器组的相关配置不支持迁移至ALB。
私网CLB实例的后端服务器会直接迁移至ALB。公网CLB的后端服务器暂不支持迁移ALB,系统将在ALB所在VPC内创建一个新的服务器组,您需要手动添加后端服务器至该服务器组中(后端服务器需与ALB实例处于同一VPC)。
计费说明
CLB一键迁移ALB功能不收取额外费用,新创建的ALB实例按照ALB计费规则收费。
ALB相关计费规则,请参见ALB计费规则。
CLB相关计费规则,请参见:
前提条件
待迁移的CLB实例已配置七层监听(HTTP或HTTPS监听)。
本文操作过程中使用了4台ECS服务器。
承载业务应用的服务器:ECS01和ECS02作为后端服务器。
用于测试的服务器:ECS03用于测试迁移前流量,ECS04用于验证迁移时的访问流量。
如果您已有测试服务器,无需创建ECS03和ECS04。
步骤一:在控制台一键迁移
请选择以下任一方式进入迁移向导。
方式一:通过CLB控制台进入
在顶部菜单栏,选择待迁移CLB实例所属的地域。
在实例管理页面,找到目标实例,单击实例ID。
单击迁移向导页签,确认提示信息后,单击启动ALB迁移向导。
方式二:通过ALB控制台进入
- 登录应用型负载均衡ALB控制台。
在顶部菜单栏,选择待迁移CLB实例所属的地域。
在实例页面,单击CLB迁移ALB向导。
在CLB迁移ALB向导对话框中,确认提示信息,选择待迁移CLB实例后,单击进入迁移向导。
在配置审核配置向导,确认CLB基本信息和ALB预配置信息,并根据提示信息完成所有监听列表提示的配置,选中确认复选框,然后单击下一步。
:表示需要用户手动完成的配置项。
:表示系统自动变更的配置项。
您可以单击编辑监听、编辑证书,修改ALB监听配置,仅HTTPS监听支持编辑证书。
在创建实例配置向导,配置迁移后ALB实例所属的专有网络和交换机,然后单击下一步。
配置
说明
专有网络
私网CLB实例:默认为ALB实例分配与CLB实例相同的专有网络。
公网CLB实例:您需要手动配置一个专有网络。
可用区
选择可用区和交换机。
ALB支持多可用区部署,若当前地域支持2个及2个以上的可用区,为保障业务高可用,请至少选择2个可用区,且ALB不会额外收取可用区的费用。
分别在所选可用区内选择交换机,如果可用区下无交换机,请根据控制台提示创建交换机。
可选:公网CLB实例迁移时,需要在所选可用区内选择EIP。
如果无可用存量EIP,可选择新购弹性公网IP:系统将帮您自动创建按量付费(按使用流量计费)的BGP多线默认安全防护EIP,并绑定至ALB实例。
选择已有的EIP:您可以指定已创建的EIP并绑定至新购的ALB实例上。
重要仅可绑定暂未加入共享带宽的按量付费(按使用流量计费)的已购EIP。
同一个ALB实例不同可用区分配的EIP类型需保持一致。
在确认订单配置向导,确认ALB实例的配置信息,选中价格计费和服务协议复选框,然后单击下一步。
在完成配置向导,等待迁移任务执行完成后,您可以执行以下操作。
迁移任务大约需要1~10分钟,请您耐心等待。该迁移任务由资源编排服务完成,您可以根据提示前往ROS资源栈控制台查看资源栈任务执行过程。
单击查看实例,查看迁移后ALB实例的实例详情。
单击返回CLB实例列表,查看CLB实例列表。
单击返回ALB实例列表,查看ALB实例列表。
后续操作。迁移任务执行完成后,请检查迁移后的ALB实例是否有后端服务器。
在左侧导航栏选择
。在实例页面,找到迁移后的ALB实例,单击实例ID。
单击监听页签,找到目标监听,在操作列单击查看详情。
在监听详情页签,在服务器组(监听默认转发)区域,单击查看/编辑后端服务器,跳转至后端服务器页签后,查看是否有后端服务器。
若无后端服务器,请单击添加后端服务器为ALB实例添加至少2台后端服务器,并为该后端服务器部署应用服务,以确保ALB实例可以正常分发客户端的访问请求。本文ALB实例已添加后端服务器ECS01和ECS02。
关于如何创建ECS实例,请参见自定义购买实例。
本文ECS01与ECS02部署测试应用示例如下:
步骤二:测试流量
(可选)开启访问日志
ALB联合日志服务(SLS)推出了访问日志功能,您可以通过访问日志监控ALB实例的负载情况和定位问题。
- 登录应用型负载均衡ALB控制台。
在顶部菜单栏处,选择ALB实例所属的地域。
在实例页面,找到目标ALB实例,单击实例ID。
在实例详情页,单击访问日志页签。在访问日志页签,单击创建访问日志。
在创建访问日志对话框,配置项目Project和日志库Logstore,然后单击确定,在弹出的对话框中确认提示信息后,再次单击确定。
配置
说明
项目Project
日志服务中的资源管理单元,用于资源隔离和控制。
选择现有Project:在下拉框中选择一个Project。
新建Project:在文本框中输入新建Project名称。
日志库Logstore
日志服务中日志数据的采集、存储和查询单元。
选择现有Logstore:在下拉框中选择一个Logstore。
新建Logstore:在文本框中输入新建Logstore名称。Project选择新建时,Logstore也需选择新建。
服务关联角色创建须知
执行此操作时,将会为您自动创建一个服务关联角色,以完成相应功能。
流量测试
远程登录ECS03,具体操作,请参见ECS远程连接操作指南。
说明购买时,该ECS03实例已分配公网IP地址。
执行以下命令修改hosts文件。
sudo vi /etc/hosts
进入hosts文件中,新增以下ALB实例的弹性公网IP地址和域名。修改完成后,保存并退出该文件的修改。
118.XX.XX.113 www.example.net
执行以下命令,测试ALB的流量转发。
curl -v www.example.net
运行结果如下图所示:
(可选)返回ALB控制台,找到目标ALB实例的访问日志页签,单击SLS日志存储右侧的链接,查看访问日志。
在日志服务控制台,您也可以根据需求结合request_uri、http_host、upstream_addr、status等字段查看ALB域名或路径转发策略的运行日志。
步骤三:迁移流量至ALB实例
流量迁移前,请比对您的CLB转发策略和ALB转发规则的配置,确保二者提供的能力完全一致,且所有配置经过完备的测试验收,以免在迁移过程中对您的业务产生非预期的影响。
建议在业务低谷期进行CLB流量的迁移。
本文中CLB实例已配置域名解析。您已将业务域名通过A记录解析的方式指向CLB实例的服务地址。在完成ALB实例配置的验收后,本文以阿里云云解析DNS为例,为您介绍CLB流量迁移至ALB的操作步骤。您可以通过以下步骤完成流量的迁移。关于阿里云云解析DNS的介绍,请参见公网权威解析。
第一步:CLB实例配置临时域名
ALB实例推荐使用CNAME解析,为满足域名权重配置的启用条件,您需要为临时域名添加一条CNAME解析记录,同时将该临时域名指向待迁移CLB实例的服务地址。本文假设CLB实例配置的域名为example.net
。
权重配置的启用条件是域名下存在相同的主机记录、相同解析线路的多条A记录、CNAME记录、AAAA记录。
登录域名解析控制台。
在权威域名解析页面,找到指向待迁移CLB实例的DNS域名
www.example.net
,单击该域名。在解析设置页面,单击添加记录,在添加记录面板,完成以下参数的配置,然后单击确定。
配置
说明
记录类型
在下拉列表中选择CNAME。
主机记录
您的域名的前缀。本文输入www。
解析请求来源
选择默认。
记录值
输入临时域名,本文输入web0.example.net。
TTL
全称Time To Live,表示DNS记录在DNS服务器上的缓存时间,本文设置为5秒。
在解析设置页签,找到指向待迁移CLB实例服务地址的A记录,在操作列单击修改。
在弹出的修改记录面板,修改主机记录,然后单击确定。本文修改主机记录为web0,其余参数保持不变。
第二步:ALB实例添加CNAME解析
在域名解析页面,找到指向待迁移CLB实例的DNS域名
www.example.net
,单击该域名。在解析设置页面单击添加记录,在添加记录面板配置以下信息完成CNAME解析配置,然后单击确定。
配置
说明
记录类型
在下拉列表中选择CNAME。
主机记录
您的域名的前缀。本文输入www
解析线路
选择默认。
记录值
输入域名对应的CNAME地址,即您复制的ALB实例的DNS域名。
TTL
全称Time To Live,表示DNS记录在DNS服务器上的缓存时间,本文设置为5秒。
第三步:设置权重,开始流量灰度
在权威域名解析页面,单击目标域名实例ID。
单击权重配置页签,找到目标域名,在操作列单击设置权重。
权重配置的启用条件是域名下存在相同的主机记录、相同解析线路的多条A记录、CNAME记录、AAAA记录。
在设置权重面板,分别为CLB和ALB实例的解析记录设置权重。将CLB实例对应的解析记录的权重设置为100,同时将ALB实例对应的解析记录的权重设置为0。
在观察业务没有影响的情况下,逐步减小CLB实例解析记录的权重值,同时逐步增加ALB实例解析记录的权重值。
登录与ALB实例所属同一VPC的ECS04实例,多次执行
dig
命令,验证流量迁移效果。说明该ECS04实例已分配公网IP地址,且已通过
yum install bind-utils
命令安装了dig命令。dig www.example.net
运行结果如下图所示。您可以通过多次运行结果观察到,请求会根据权重分配至ALB或CLB处理。
第四步:完成流量迁移
根据流量迁移的验证结果,逐步将CLB实例解析记录的权重值减小至0,同时逐步增加ALB实例解析记录的权重值至100。至此,您已完成CLB实例流量至ALB实例的迁移,当CLB实例长连接全部处理完成,且CLB实例没有新增流量时,您可以根据业务场景静默观察一段时间后释放该CLB实例。关于如何释放CLB实例,请参见释放CLB实例。
常见问题
CLB重定向和转发策略如何迁移?
迁移后,自动为ALB实例配置重定向和域名路径转发规则。更多信息,请参见配置监听转发规则。
CLB HTTPS监听的证书如何迁移?
迁移过程中需要您手动指定证书。若没有证书,您需要先前往证书中心购买或上传证书。
服务器证书请参见购买SSL证书和上传和共享SSL证书。
CA证书请参见购买及启用私有CA。
迁移后,系统将根据您指定的服务器证书、扩展证书和CA证书,自动配置对应的证书。
ALB提供多域名负载分发的能力。更多信息,请参见单ALB实例配置多域名HTTPS网站。
ALB支持部署HTTPS单向认证和HTTPS双向认证。更多信息,请参见配置全链路HTTPS访问实现加密通信和使用ALB部署HTTPS业务(双向认证)。
同一个公网CLB实例挂载不同VPC下ECS时,如何迁移后端服务器?
ALB服务器组有VPC属性,系统将在ALB所在VPC内创建一个新的服务器组,您需要手动添加后端服务器至该服务器组中(后端服务器需与ALB实例处于同一VPC)。
ALB IP类型的服务器组支持跨VPC挂载服务器,如有跨VPC挂载ECS的需求,在使用迁移向导迁移完成后,您可以为ALB实例创建IP类型的服务器组,并将不同VPC下的ECS添加至该服务器组。更多信息,请参见使用ALB挂载跨地域VPC内的服务器。