阿里云应用型负载均衡ALB支持HTTP、HTTPS和QUIC协议,专门面向网络应用层,提供强大的业务处理能力。
为了实现IPv4服务的负载均衡,需要快速创建一个ALB实例,并将来自客户端的访问请求转发至后端服务器。
操作流程
第一步,准备工作。
搭建负载均衡服务前,需要根据业务需求规划ALB实例的地域,创建专有网络VPC和云服务器ECS实例等。
1)已经规划了ALB实例的地域。
确保ECS实例的地域和ALB实例的地域相同,并且ECS实例与ALB实例属于同一个VPC。
建议将ECS实例部署在不同的可用区内,提高业务的可用性。
2)已经创建了VPC。
创建ALB实例前,确保实例所选可用区的交换机中预留了足够的可用IP。
创建新实例时会从每个指定的交换机中扣取3个IP地址,包含2个Local IP(用于与后端服务器交互并进行健康检查)和一个VIP(用于对外提供服务,创建后IP不会变化),如果IP不足会出现报错并且无法创建实例。
注意:为确保ALB各项弹性能力可以使用,建议在ALB实例所在的每个交换机内预留至少8个IP地址。
3)已经在VPC中创建了2台ECS实例。
ECS01和ECS02实例作为ALB实例的后端服务器,且在ECS01和ECS02实例中部署nginx。
第二步,创建ALB实例。
使用负载均衡服务时,需要先创建一个ALB实例,每一个ALB实例代表一个负载均衡服务实体,用于接收来自客户端的请求,并将请求分发至后端服务器。
1)登录“应用型负载均衡ALB控制台”。
2)在顶部菜单栏,选择ALB实例所属的地域。
3)在“实例”页面,单击“创建应用型负载均衡”。
4)在应用型负载均衡(按量付费)购买页面,完成以下配置。
“地域”选择实例所属的地域;
“实例网络类型”选择实例网络类型,系统会根据选择的实例网络类型分配“私网”或“公网”服务地址;
私网:每个可用区提供一个私网IP,只能通过阿里云内部网络访问ALB,无法从互联网访问。
公网:每个可用区提供一个公网IP和一个私网IP。公网ALB默认通过弹性公网IP(EIP)提供公网能力,选择公网将会收取弹性公网IP实例费、带宽或流量费用。弹性公网IP对外提供服务,支持通过互联网访问ALB。私网IP,支持云上VPC内的ECS访问ALB。
“VPC”选择实例所属的VPC;
“可用区”:ALB支持多可用区部署,若当前地域支持2个及2个以上的可用区,为保障业务高可用,至少选择2个可用区,且ALB不会额外收取可用区的费用。然后分别在所选可用区内选择交换机,如果可用区下无交换机,根据控制台提示创建交换机。当实例网络类型选择公网时,需分别在所选可用区内选择EIP。
如果可用区下无EIP,可保持默认选项自动分配公网IP:系统将自动创建按量付费(按使用流量计费)的BGP多线默认安全防护EIP,并绑定至ALB实例上。
如果选择已有的EIP:可以指定已创建的EIP并绑定至新购的ALB实例上。
仅可绑定暂未加入共享带宽的按量付费(按使用流量计费)的已购EIP。
同一个ALB实例不同可用区分配的EIP类型需保持一致。
“IP模式”选择实例的IP地址模式;
“协议版本”选择实例的协议版本;
IPv4:表示ALB实例仅支持客户端使用IPv4地址访问。
双栈:表示ALB实例支持客户端同时使用IPv4和IPv6地址访问。
“功能版本(实例费)”选择实例的功能版本;
“加入共享带宽”选择是否要加入共享带宽;
如果不选中加入共享带宽,则“公网计费方式”采用“按流量计费”。
如果选中加入共享带宽,则需选择共享带宽包,如果没有共享带宽包可选择,可单击“购买共享带宽包”并完成购买,然后返回ALB购买页面单击“刷新图标”,即可选择共享带宽包。建议购买后付费共享带宽。该参数仅在实例网络类型为公网时生效。
“公网计费方式”默认选项为“按流量计费”:带宽峰值不作为业务承诺指标,仅作为参考值和带宽上限峰值。当出现资源争抢时,带宽峰值可能会受到限制。该参数仅在实例网络类型为公网,且未选择加入共享带宽时有效。
“实例名称”:自定义实例名称;
“资源组”选择所属的资源组;
“服务关联角色”:首次创建ALB实例时,需要单击“创建服务关联角色”关联服务角色,创建一个名称为AliyunServiceRoleForAlb的服务关联角色。系统会为该角色添加名称为AliyunServiceRolePolicyForAlb的权限策略,授予ALB拥有访问其他云产品实例的权限。
5)单击“立即购买”,然后根据控制台提示完成实例购买。
6)返回“实例”页面,选择对应的地域即可看到新创建的实例。
第三步,创建服务器组。
需要创建服务器组并添加后端服务器来接收ALB转发的客户端请求。
1)在左侧导航栏,选择“应用型负载均衡 ALB > 服务器组”。
2)在“服务器组”页面,单击“创建服务器组”。
3)在“创建服务器组”对话框中,完成以下配置,然后单击“创建”。
“服务器组类型”选择一种服务器组类型;
服务器类型:支持添加ECS、ENI、ECI类型的后端服务器。
IP类型:支持添加IP类型的后端服务器。
“服务器组名称”输入服务器组名称。
“VPC”:从VPC下拉列表中选择一个VPC,只有该VPC下的服务器可以加入到该服务器组。
“选择后端协议”选择一种后端协议;
“选择调度算法”选择一种调度算法;
点击“所属资源组和标签”,在“选择资源组”选择归属的资源组。在“标签”设置标签键和标签值。
点击“高级配置”,保持默认配置,即关闭IPv6挂载功能,关闭会话保持功能,关闭后端长连接功能,关闭慢启动功能,关闭连接优雅中断功能。
点击“高级配置”,在“IPv6挂载”关闭IPv6挂载功能。
开启IPv6挂载功能后,服务器组支持挂载IPv4、IPv6类型的后端服务器。
不开启IPv6挂载功能时,服务器组仅支持挂载IPv4类型的后端服务器。
当服务器组选择的VPC未开启IPv6功能时,默认不开启IPv6挂载功能。
在“会话保持”开启会话保持功能。在“后端长连接”开启后端长连接功能。在“慢启动”关闭慢启动功能。
在“连接优雅中断”关闭连接优雅中断。
保持默认配置,即关闭连接优雅中断。
启用连接优雅中断后,可以在移除后端服务器或者健康检查失败后,使现有连接在一定时间内正常传输。
在“健康检查”开启健康检查功能;
“健康检查配置”保持默认配置,如果需要展开进行更多配置,可以单击后面的“编辑”。
第四步,配置监听。
需要为实例配置监听。监听负责检查连接请求,并根据调度算法将客户端请求分发至后端服务器。
1)在左侧导航栏,选择“应用型负载均衡 ALB > 实例”。
2)单击“监听”页签,然后单击“创建监听”。
3)在“配置监听”配置向导页面,完成以下配置,然后单击下一步。
此处仅列出强相关的配置项,其他未列出的配置项使用默认值。
“选择监听协议”选择监听的协议类型。一般选择HTTP。
“监听端口”设置前端协议端口,即用来接收请求并向后端服务器进行请求转发的监听端口。
可以直接单击常用监听端口快捷填写,或者输入端口。
监听端口范围:1~65535。一般输入80。
“监听名称”输入自定义监听名称。
“高级配置”一般保持默认,可单击“修改”进行设置。
4)在“选择服务器组”配置向导,选择服务器类型及服务器类型下的目标服务器组,查看后端服务器信息,然后单击下一步。
5)在“配置审核”配置向导页面,确认监听配置信息,然后单击“提交”。
6)单击“知道了”返回“监听”页签,查看目标监听的“健康检查状态”列为“正常”时,表示后端服务器ECS01和ECS02实例可以正常处理ALB实例转发的请求。
第五步,设置域名解析。
ALB支持将您拥有的常用域名通过CNAME方式解析到ALB实例的公网服务域名上,可以更加方便地访问各种网络资源。
1)在左侧导航栏,选择“应用型负载均衡 ALB > 实例”。
2)在“实例”页面,复制已创建的ALB实例的DNS名称。
3)执行以下步骤添加CNAME解析记录。
登录“域名解析控制台” ——> 在“域名解析”页面单击“添加域名” ——> 在“添加域名”对话框中输入主机域名,然后单击“确认” ——> 在目标域名的“操作”列单击“解析设置” ——> 在“解析设置”页面,单击“添加记录” ——> 在“添加记录”面板,配置以下信息完成CNAME解析配置,然后单击“确认”。
注意:主机域名需已完成TXT记录验证。
在添加记录面板,配置以下信息完成CNAME解析配置:
“记录类型”:在下拉列表中选择CNAME。
“主机记录”:您的域名的前缀。一般输入@。
“解析请求来源”选择默认。
“记录值”输入域名对应的CNAME地址,即复制的ALB实例的DNS名称。
“TTL”:全称Time To Live,表示DNS记录在DNS服务器上的缓存时间,一般使用默认值。
新增CNAME记录实时生效,修改CNAME记录取决于本地DNS缓存的解析记录的TTL到期时间,一般默认为10分钟。
添加时如遇添加冲突,换一个解析域名。
第六步,访问测试。
测试后端服务器是否可以正常接收和处理ALB监听转发的请求。
1)获取测试访问域名:
如果设置了域名解析,使用了自有域名进行CNAME解析到ALB域名,则测试访问域名为自有域名。
如果未使用自有域名,可登录“应用型负载均衡ALB控制台”,顶部选择实例所属地域,在目标ALB实例DNS名称列复制ALB实例的域名,作为测试访问域名。
2)多次刷新浏览器,可以观察到客户端的请求在ECS01和ECS02服务器之间的转换。
完成上述操作后,表明客户端可以通过ALB以轮询的方式访问不同的后端服务。
第七步,释放资源。
1)清理ECS实例、安全组等资源。
登录“云服务器ECS实例控制台”,顶部选择实例所属地域,单击实例得到一个弹出的窗口,在弹出的窗口中选择释放,立即释放实例并确认。
登录“云服务器ECS安全组控制台”,顶部选择实例所属地域,勾选ECS自定义安全组并单击删除,删除安全组。
2)删除域名解析记录。
3)清理ALB资源。
登录“应用型负载均衡ALB控制台”,顶部选择实例所属地域,单击实例得到一个弹出的窗口,在弹出的窗口中选择释放,立即释放实例并确认。
移除后端服务器。
删除服务器组。
4)清理VPC资源。
登录“专有网络VPC控制台”,顶部选择实例所属地域,单击实例右侧“删除”,删除时并且勾选“强制删除”,完成VPC与交换机资源的删除。