通过ALB实现应用流量高级负载分发

更新时间: 2024-04-10 11:01:16

slb

一键配置

12

教程简介

通过本教程,您将学习如何在阿里云应用型负载均衡ALB上部署七层负载均衡服务,将来自客户端的请求分发至后端ECS上,并使用ALB丰富的应用层转发特性定制流量转发。

应用型负载均衡ALB(Application Load Balancer):专门面向七层应用,提供强大的应用层处理能力和丰富的高级转发规则。单ALB实例性能最大可达100万QPS。更多信息,请参见什么是应用型负载均衡ALB

image.png

试用权益说明

仅首次使用应用型负载均衡ALB产品的用户支持一次领取3个自然月的ALB免费试用。(自然月是指每个月的1号到该月的最后一天,是按照阳历来计算的)

免费试用权益包括:

  • 每月750个小时ALB实例使用时间(多个ALB实例共享)

  • 每月15个LCU用于ALB(多个ALB实例共享)

  • 每月1500个小时EIP实例使用时间(多个EIP实例共享)

试用负载均衡产品过程中,如果购买了ALB资源包,ALB的实例和LCU使用量会优先从资源包中抵扣,其次从免费试用领取的权益中抵扣。为避免影响试用权益的抵扣,建议您在试用过程中暂不购买ALB资源包。

我能学到什么

  • 学会如何创建ALB实例。

  • 学会如何一键配置监听,完成七层负载均衡的请求转发。

操作难度

所需时间

15分钟

使用的阿里云产品

所需费用

领取ALB、ECS免费试用权益并开通CDT服务后,在权益有效期内,您可以体验免费的应用型负载均衡服务。领取入口请参见下一步准备资源及环境

超出权益额度部分的收费标准请参见ALB计费规则ECS计费规则EIP计费规则CDT公网流量计费规则

准备资源及环境

3

资源需求

  • 1个公网ALB实例

  • 2个ECS实例用于部署服务端应用(建议与ALB实例同地域、同VPC)

本文以ALB实例和ECS实例的地域相同,且属于同一个专有网络VPC为例。

领取免费权益

进入以下资源领取入口,单击页面右上方的登录/注册按钮,并根据页面提示完成账号登录(已有阿里云账号)、账号注册(尚无阿里云账号)或实名认证(根据试用产品要求完成个人实名认证或企业实名认证)。

如果您已有相应资源,可能会无法领取免费权益,请直接前往下一步检查资源

资源领取入口

本教程配置

领取应用型负载均衡ALB

应用型负载均衡ALB卡片

每月750个小时 15个LCU(免费:每月750小时ALB实例使用时间,每月15个LCU,每月1500小时EIP实例使用时间,时长3个月)

  • 地域:本文选择华东1(杭州)地域

  • 实例网络类型:公网

  • VPC:选择ECS所在的VPC

  • 可用区:按需配置

  • IP模式:按需配置,本文选择固定IP

  • 功能版本(实例费):按需配置,本文选择标准版。您可以查看三个版本功能特性差异配额差异

  • 实例名称:ALB01

  • 其他参数:保持默认值或按需配置

领取云服务器ECS

2核4GB 3个月

  • 地域:选择与ALB实例相同的地域

  • 操作系统:CentOS 7.9 64位

  • 试用数量:2(ECS01、ECS02)

  • 专有网络:选择ALB实例所在的VPC

  • 其他参数:保持默认值或按需选择

开通云数据传输CDT

CDT每月赠送200GB免费公网流量(其中20GB全地域可用,180GB仅限海外地域可用),可用于抵扣云服务器ECS、弹性公网IP、应用型负载均衡ALB的公网流量,超出部分采用阶梯计费,详情参考CDT公网流量计费规则

检查资源

登录应用型负载均衡ALB控制台ECS控制台,检查以下要素:

部署应用

3

  1. 登录ECS控制台

  2. 在顶部菜单栏左上角处,选择ECS01和ECS02实例所属的地域。

  3. 设置ECS01和ECS02实例登录密码。在操作列单击 image..png> 实例属性 > 重置实例密码,按照界面提示设置ECS实例的登录密码。保存密码后,在弹出的页面,单击立即重启使密码生效。

    实例创建完成大约3~5分钟后,才支持重置实例密码,如不可重置请耐心等待后重试。

  4. 远程连接ECS01和ECS02实例。

    1. 返回实例页面,单击目标实例对应操作列下的远程连接

    2. 在弹出的连接与命令对话框中,单击通过Workbench远程连接对应的立即登录

    3. 在弹出的登录实例对话框中,输入登录信息。

  5. 分别执行以下命令为ECS01实例部署Nginx静态页面。以下命令以CentOS 7.9 64位操作系统为例。

    yum install -y nginx

    systemctl start nginx.service

    cd /usr/share/nginx/html/

    echo "Hello World ! This is ECS01." > index.html

  6. 分别执行以下命令为ECS02实例部署Nginx静态页面。以下命令以CentOS 7.9 64位操作系统为例。

    yum install -y nginx

    systemctl start nginx.service

    cd /usr/share/nginx/html/

    echo "Hello World ! This is ECS02." > index.html

一键配置

2

准备好资源并部署应用后,您可以通过一键配置快速完成ALB实例后端服务器组和监听的配置。一键配置基于阿里云资源编排服务ROS(Resource Orchestration Service)实现,旨在帮助开发者通过IaC(Infrastructure as Code)的方式体验资源的自动化配置。如需查看ALB实例、后端服务器组和监听配置的具体信息,可查看教程的手动配置。模板完成的内容包括:

  • 创建后端服务器组

  • 配置监听

操作步骤

  1. 打开一键配置模板链接前往ROS控制台,系统自动打开使用新资源(标准)创建资源栈的页面,并在模板内容区域展示YAML文件的详细信息。

    ROS控制台默认处于您上一次访问控制台时的地域,请根据您创建的资源所在地域修改地域后再执行下一步。

  2. 确认好地域后,保持页面所有选项不变,单击下一步进入配置模板参数页面。

  3. 配置模板参数页面,完成以下参数的配置,然后单击创建开始一键配置。

    配置

    说明

    示例

    资源栈名称

    修改资源栈名称。

    alb01

    ALB实例ID

    输入已创建的ALB实例ID。

    您可以前往应用型负载均衡ALB控制台,在实例页面,找到并复制已创建的alb01实例的ID。

    alb-7ag72cgtndyr83****

    ECS实例ID列表

    单击选择实例,在弹出的对话框中,选择已创建的2台ECS实例,然后单击确定

    选择的ECS实例均已部署应用服务,且ECS实例和ALB实例需属于同一个VPC。

    单击选择实例并在弹出的对话框中选择2台ECS

  4. 资源栈信息页面的状态显示为创建成功时表示一键配置完成。

    通常一键配置创建监听和后端服务器组大约需要1~2分钟,但可能由于网络等原因有一定的延时,请您耐心等待几分钟。

    image

完成

5

您可以选择以下方式测试ALB实例是否能够将请求分发至后端ECS,并使用ALB的高级转发规则验证灰度发布。

  1. 在浏览器中输入ALB实例的弹性公网IP,验证ALB的负载均衡转发能力。

    1. 登录应用型负载均衡控制台,在ALB实例页面找到目标ALB实例,单击实例ID,在实例详情可用区右侧查看并复制一个弹性公网IP。

      image.png

    2. 在浏览器中输入ALB的弹性公网IP地址http://121.XX.XX.218。刷新浏览器,您可以观察到请求在两台ECS之间转换。

      验证过程表明:ALB能够将客户端流量分发至不同的后端服务器。

      image.pngimage.png

  2. (可选)标准版ALB实例提供丰富的高级转发规则,您可以使用高级转发规则实现灰度发布功能。

      登录应用型负载均衡ALB控制台检查您的ALB实例版本。如ALB实例为基础版,请变配实例功能版本为标准版。

      image.png

    1. 您可以参考使用ALB实现灰度发布教程体验ALB的灰度发布功能。更多信息,请参见

      1. 配置监听转发规则

      2. 配置域名和路径的转发规则

      3. ALB高级特性转发

清理及后续

2

清理

  • ALB试用实例有期限限制,到期未释放可能产生费用。完成教程后,请参考以下场景处理ALB实例:

    • 如果无需使用ALB实例,您可以登录应用型负载均衡控制台实例页面,找到目标ALB实例,在操作列单击1111>释放,按照界面提示手动释放ALB实例。

    • 如果需继续使用ALB实例,请至少在试用到期1小时前为您的阿里云账号充值,确保账户金额不小于100.00元人民币。到期未续费的ALB实例会因欠费而被自动停机,停机7天内ALB实例将保留,7天后ALB实例和数据都将被自动释放。

  • 本教程使用的是个人版ECS实例,默认为按量付费实例,完成教程后,请参考以下场景处理ECS实例:

    • 如果无需继续使用实例,可以登录ECS控制台,找到目标实例,在操作列单击icon1,搜索并单击释放设置,根据界面提示释放实例。

    • 如果需要继续使用实例,请至少在试用到期1小时前为阿里云账号充值,确保账户金额不小于100.00元人民币。到期未续费的实例会因欠费而被自动停机,停机15天内实例将保留,15天后实例和数据都将被自动释放。

  • EIP提供的按量付费试用实例到期未释放可能产生费用。

    若您在创建ALB实例时,EIP使用默认的自动分配公网IP配置,公网ALB实例释放后,自动分配的EIP也会同步释放。若您在创建ALB实例时,选择自有EIP资源,ALB实例释放后,请参考以下场景处理EIP实例:

    • 如果无需使用EIP实例,您可以登录弹性公网IP管理控制台,在弹性公网IP页面,找到目标EIP实例,在操作列单击1111>释放,按照界面提示手动释放EIP实例。

    • 如果需继续使用EIP实例,请至少在试用到期1小时前为阿里云账号充值,确保账户余额不小于100.00元人民币。到期未续费的EIP实例会因欠费而被自动停机,停机7天内EIP实例将保留,7天后EIP实例和数据都将被自动释放。

后续

在试用期有效期间,您还可以根据需要测试的其他业务场景继续使用七层负载均衡ALB产品。

总结

常用知识点

问题1:单ALB实例性能最大可达多少QPS?(单选题)

  • 100万

  • 10万

正确答案是100万。

问题2:以下哪个版本的ALB具备高级转发规则?(单选题)

  • 标准版

  • 基础版

正确答案是标准版。

问题3:健康检查失败的常见原因?(单选题)

  • 可能是后端ECS未部署服务

  • 未开启健康检查

正确答案是后端ECS未部署服务。

延伸阅读

手动配置

16

教程简介

通过本教程,您将学习如何在阿里云应用型负载均衡ALB上部署七层负载均衡服务,将来自客户端的请求分发至后端ECS上,并使用ALB丰富的应用层转发特性定制流量转发。

应用型负载均衡ALB(Application Load Balancer):专门面向七层应用,提供强大的应用层处理能力和丰富的高级转发规则。单ALB实例性能最大可达100万QPS。更多信息,请参见什么是应用型负载均衡ALB

image.png

试用权益说明

仅首次使用应用型负载均衡ALB产品的用户支持一次领取3个自然月的ALB免费试用。(自然月是指每个月的1号到该月的最后一天,是按照阳历来计算的)

免费试用权益包括:

  • 每月750个小时ALB实例使用时间(多个ALB实例共享)

  • 每月15个LCU用于ALB(多个ALB实例共享)

  • 每月1500个小时EIP实例使用时间(多个EIP实例共享)

试用负载均衡产品过程中,如果购买了ALB资源包,ALB的实例和LCU使用量会优先从资源包中抵扣,其次从免费试用领取的权益中抵扣。为避免影响试用权益的抵扣,建议您在试用过程中暂不购买ALB资源包。

我能学到什么

  • 学会如何创建ALB实例。

  • 学会如何创建后端服务器组并配置监听,完成七层负载均衡的请求转发。

操作难度

所需时间

19分钟

使用的阿里云产品

所需费用

领取ALB、ECS免费试用权益并开通CDT服务后,在权益有效期内,您可以体验免费的应用型负载均衡服务。领取入口请参见下一步准备资源及环境

超出权益额度部分的收费标准请参见ALB计费规则ECS计费规则EIP计费规则CDT公网流量计费规则

准备资源及环境

3

资源需求

  • 1个公网ALB实例

  • 2个ECS实例用于部署服务端应用(建议与ALB实例同地域、同VPC)

本文以ALB实例和ECS实例的地域相同,且属于同一个专有网络VPC为例。

领取免费权益

进入以下资源领取入口,单击页面右上方的登录/注册按钮,并根据页面提示完成账号登录(已有阿里云账号)、账号注册(尚无阿里云账号)或实名认证(根据试用产品要求完成个人实名认证或企业实名认证)。

如果您已有相应资源,可能会无法领取免费权益,请直接前往下一步检查资源

资源领取入口

本教程配置

领取应用型负载均衡ALB

应用型负载均衡ALB卡片

每月750个小时 15个LCU(免费:每月750小时ALB实例使用时间,每月15个LCU,每月1500小时EIP实例使用时间,时长3个月)

  • 地域:本文选择华东1(杭州)地域

  • 实例网络类型:公网

  • VPC:选择ECS所在的VPC

  • 可用区:按需配置

  • IP模式:按需配置,本文选择固定IP

  • 功能版本(实例费):按需配置,本文选择标准版。您可以查看三个版本功能特性差异配额差异

  • 实例名称:ALB01

  • 其他参数:保持默认值或按需配置

领取云服务器ECS

2核4GB 3个月

  • 地域:选择与ALB实例相同的地域

  • 操作系统:CentOS 7.9 64位

  • 试用数量:2(ECS01、ECS02)

  • 专有网络:选择ALB实例所在的VPC

  • 其他参数:保持默认值或按需选择

开通云数据传输CDT

CDT每月赠送200GB免费公网流量(其中20GB全地域可用,180GB仅限海外地域可用),可用于抵扣云服务器ECS、弹性公网IP、应用型负载均衡ALB的公网流量,超出部分采用阶梯计费,详情参考CDT公网流量计费规则

检查资源

登录应用型负载均衡ALB控制台ECS控制台,检查以下要素:

部署应用

3

  1. 登录ECS控制台

  2. 在顶部菜单栏左上角处,选择ECS01和ECS02实例所属的地域。

  3. 设置ECS01和ECS02实例登录密码。在操作列单击 image..png> 实例属性 > 重置实例密码,按照界面提示设置ECS实例的登录密码。保存密码后,在弹出的页面,单击立即重启使密码生效。

    实例创建完成大约3~5分钟后,才支持重置实例密码,如不可重置请耐心等待后重试。

  4. 远程连接ECS01和ECS02实例。

    1. 返回实例页面,单击目标实例对应操作列下的远程连接

    2. 在弹出的连接与命令对话框中,单击通过Workbench远程连接对应的立即登录

    3. 在弹出的登录实例对话框中,输入登录信息。

  5. 分别执行以下命令为ECS01实例部署Nginx静态页面。以下命令以CentOS 7.9 64位操作系统为例。

    yum install -y nginx

    systemctl start nginx.service

    cd /usr/share/nginx/html/

    echo "Hello World ! This is ECS01." > index.html

  6. 分别执行以下命令为ECS02实例部署Nginx静态页面。以下命令以CentOS 7.9 64位操作系统为例。

    yum install -y nginx

    systemctl start nginx.service

    cd /usr/share/nginx/html/

    echo "Hello World ! This is ECS02." > index.html

创建后端服务器组

3

  1. 登录应用型负载均衡ALB控制台
  2. 在左侧导航栏,选择应用型负载均衡ALB>服务器组

  3. 服务器组页面,单击创建服务器组

  4. 创建服务器组对话框,完成以下主要参数的配置,其余参数保持默认配置,然后单击创建。更多信息,请参见创建服务器组

    参数

    描述

    示例值

    服务器组类型

    选择一种服务器组类型。

    服务器类型

    服务器组名称

    输入服务器组名称。

    RS01

    VPC

    从VPC下拉列表中选择一个VPC,与ECS和ALB实例所属的VPC保持一致。

    选择ECS和ALB实例所在的VPC

    选择后端协议

    选择一种后端协议。

    HTTP

    选择调度算法

    选择一种调度算法。

    加权轮询

    选择资源组

    在下拉列表选择所属的资源组。

    按需配置

  5. 服务器组创建成功对话框单击添加后端服务器

  6. 后端服务器页签单击添加后端服务器

  7. 添加后端服务器面板,选择已创建的2台ECS实例,然后单击下一步

  8. 为已添加的服务器设置端口权重,然后单击确定。本文端口设置为80,权重保持默认值,返回服务器组页面,查看完成配置的服务器组。

配置监听

3

  1. 在左侧导航栏,选择应用型负载均衡ALB>实例

  2. 实例页面,找到目标ALB实例,在操作列单击创建监听

  3. 配置监听配置向导页面,完成以下配置,然后单击下一步

    监听配置

    说明

    示例值

    选择负载均衡协议

    选择监听的协议类型。

    HTTP

    监听端口

    用来接收请求并向后端服务器进行请求转发的监听端口,端口范围为1~65535。

    80

    监听名称

    输入自定义监听名称。

    HTTP_80

    高级配置

    您可单击修改进行设置。更多参数说明,请参见添加HTTP监听

    保持默认配置

  4. 选择服务器组配置向导页面,选择已创建的后端服务器组RS01,用于处理ALB实例接收到的访问请求,然后单击下一步

  5. 配置审核配置向导页面,确认监听配置信息,然后单击提交。在实例的监听页签,查看已配置的监听信息。

完成

5

您可以选择以下方式测试ALB实例是否能够将请求分发至后端ECS,并使用ALB的高级转发规则验证灰度发布。

  1. 在浏览器中输入ALB实例的弹性公网IP,验证ALB的负载均衡转发能力。

    1. 登录应用型负载均衡控制台,在ALB实例页面找到目标ALB实例,单击实例ID,在实例详情可用区右侧查看并复制一个弹性公网IP。

      image.png

    2. 在浏览器中输入ALB的弹性公网IP地址http://121.XX.XX.218。刷新浏览器,您可以观察到请求在两台ECS之间转换。

      验证过程表明:ALB能够将客户端流量分发至不同的后端服务器。

      image.pngimage.png

  2. (可选)标准版ALB实例提供丰富的高级转发规则,您可以使用高级转发规则实现灰度发布功能。

      登录应用型负载均衡ALB控制台检查您的ALB实例版本。如ALB实例为基础版,请变配实例功能版本为标准版。

      image.png

    1. 您可以参考使用ALB实现灰度发布教程体验ALB的灰度发布功能。更多信息,请参见

      1. 配置监听转发规则

      2. 配置域名和路径的转发规则

      3. ALB高级特性转发

清理及后续

2

清理

  1. ALB免费试用权益有期限限制,权益到期后未释放的ALB实例可能产生费用。完成教程后,请参考以下场景处理ALB实例:

    • 如果无需使用ALB实例,您可以登录应用型负载均衡控制台实例页面,找到目标ALB实例,在操作列单击1111>释放,按照界面提示手动释放ALB实例。

    • 如果需继续使用ALB实例,请至少在试用到期1小时前为您的阿里云账号充值,确保账户金额不小于100.00元人民币。到期未续费的ALB实例会因欠费而被自动停机,停机7天内ALB实例将保留,7天后ALB实例和数据都将被自动释放。

  2. 本教程使用的是个人版ECS实例,默认为按量付费实例,完成教程后,请参考以下场景处理ECS实例:

    • 如果无需继续使用实例,可以登录ECS控制台,找到目标实例,在操作列单击1111,搜索并单击释放设置,根据界面提示释放实例。

    • 如果需要继续使用实例,请至少在试用到期1小时前为阿里云账号充值,确保账户金额不小于100.00元人民币。到期未续费的实例会因欠费而被自动停机,停机15天内实例将保留,15天后实例和数据都将被自动释放。

  3. EIP提供的按量付费试用实例到期未释放可能产生费用。

    若您在创建ALB实例时,EIP使用默认的自动分配公网IP配置,公网ALB实例释放后,自动分配的EIP也会同步释放。若您在创建ALB实例时,选择自有EIP资源,ALB实例释放后,请参考以下场景处理EIP实例:

    • 如果无需使用EIP实例,您可以登录弹性公网IP管理控制台,在弹性公网IP页面,找到目标EIP实例,在操作列单击1111>释放,按照界面提示手动释放EIP实例。

    • 如果需继续使用EIP实例,请至少在试用到期1小时前为阿里云账号充值,确保账户余额不小于100.00元人民币。到期未续费的EIP实例会因欠费而被自动停机,停机7天内EIP实例将保留,7天后EIP实例和数据都将被自动释放。

后续

在试用期有效期间,您还可以根据需要测试的其他业务场景继续使用七层负载均衡ALB产品。

总结

常用知识点

问题1:单ALB实例性能最大可达多少QPS?(单选题)

  • 100万

  • 10万

正确答案是100万。

问题2:以下哪个版本的ALB具备高级转发规则?(单选题)

  • 标准版

  • 基础版

正确答案是标准版。

问题3:健康检查失败的常见原因?(单选题)

  • 可能是后端ECS未部署服务

  • 未开启健康检查

正确答案是后端ECS未部署服务。

延伸阅读