通过CLB将四层或七层业务流量分发至ECS

更新时间: 2024-04-10 11:02:31

slb

一键配置

16

教程简介

在本教程中,您将学习如何在阿里云传统型负载均衡CLB上部署四层和七层负载均衡服务,将来自客户端的请求分发至多台后端ECS上,并模拟ECS单点故障场景验证业务的高可用。

传统型负载均衡CLB(Classic Load Balancer):具备基础的四层和七层负载均衡能力,可扩展应用系统对外服务能力、消除单点故障,提升应用系统的可用性。更多信息,请参见什么是传统型负载均衡CLBimage..png

试用权益说明

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

  • 每月CLB包含750个小时的免费试用额度(多个CLB实例共享)

  • 每月CLB包含15个LCU的免费试用额度(多个CLB实例共享)

以上传统型负载均衡CLB卡片中领取的试用权益均为按量付费CLB实例。

我能学到什么

  • 学会如何创建CLB实例。

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

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

操作难度

所需时间

16分钟

使用的阿里云产品

所需费用

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

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

准备资源及环境

3

资源需求

部署CLB负载均衡服务需要1个CLB实例、2个ECS实例,且CLB实例和ECS实例属于同一地域。

领取免费权益

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

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

资源领取入口

本教程配置

领取传统型负载均衡CLB

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

  • 地域和可用区:本文选择华东1(杭州)地域,可用区按需配置

  • 实例计费方式:按使用量计费

  • 实例类型:公网

  • IP 版本:IPv4

  • 试用数量:1

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

领取云服务器ECS

2核4GB 3个月

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

  • 操作系统:CentOS 7.9 64位

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

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

开通云数据传输CDT

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

检查资源

登录传统型负载均衡CLB控制台ECS控制台,检查CLB实例和ECS实例是否位于同一地域,如不属于同一地域,请参见创建和管理CLB实例自定义购买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

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

  • 配置监听

  • 配置虚拟服务器组

操作步骤

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

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

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

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

    配置

    说明

    示例

    资源栈名称

    修改资源栈名称。

    test

    CLB实例ID

    在下拉框中选择已创建的私网CLB实例。

    lb-bp1g9vutth8xvnznn****

    ECS实例ID列表

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

    选择的ECS实例均已部署应用服务,且ECS实例和CLB实例所属的地域相同。

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

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

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

    image

完成

5

一键配置完成后,您可以根据配置的四层监听和七层监听,选择以下方式测试CLB实例是否将请求分发至后端ECS,并模拟ECS单点故障场景验证业务的高可用。

验证七层负载均衡

  1. 登录传统型负载均衡CLB控制台,在CLB实例管理页面,在服务地址列查看并复制CLB实例的公网服务地址。

  2. 在浏览器输入CLB实例的公网服务地址http://120.XX.XX.50:81,验证CLB的七层负载均衡转发能力。

    刷新浏览器,您可以观察到请求在两台ECS之间转换。

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

    image

    image

验证四层负载均衡

  1. 登录传统型负载均衡CLB控制台,在CLB实例管理页面,在服务地址列查看并复制CLB实例的公网服务地址。

  2. 在浏览器中输入CLB实例的公网服务地址http://120.XX.XX.50,您可以观察到请求已转发至一台后端ECS服务器,以下操作以第一次返回内容为ECS01为例。

    1. 停用ECS01,刷新浏览器访问CLB实例的公网服务地址,可以观察到请求已转发至ECS02。

    2. 启动ECS01并等待几分钟。

    3. 停用ECS02,刷新浏览器访问CLB实例的公网服务地址,可以观察到请求已转发至ECS01。

    以上验证过程表明:在单台后端服务器出现故障时,CLB仍然能够保证业务的可用性。

    image

    image

清理及后续

2

清理

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

    • 如果无需使用CLB实例,您可以登录传统型负载均衡CLB控制台在左侧导航栏,选择传统型负载均衡CLB(原SLB)>实例管理,在实例管理页面,找到目标CLB实例,在操作列单击1111>释放设置,按照界面提示手动释放实例。

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

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

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

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

后续

在试用期有效期间,您还可以根据希望测试的其他业务场景继续使用传统型负载均衡CLB产品。关于CLB相关教程,请参见CLB教程

总结

常用知识点

问题1:CLB实例支持配置什么协议的监听?(单选题)

  • 仅四层(TCP或UDP协议)监听

  • 四层(TCP或UDP协议)和七层(HTTP或HTTPS协议)监听

正确答案是四层(TCP或UDP协议)和七层(HTTP或HTTPS协议)监听。

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

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

  • 未开启健康检查

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

延伸阅读

手动配置

20

教程简介

通过本教程,您将学习如何在阿里云传统型负载均衡上部署四层和七层负载均衡服务,将来自客户端的请求转发至后端ECS上,并模拟ECS单点故障场景验证业务的高可用。

传统型负载均衡CLB(Classic Load Balancer):具备基础的四层和七层负载均衡能力,可扩展应用系统对外服务能力、消除单点故障,提升应用系统的可用性。更多信息,请参见什么是传统型负载均衡CLBimage..png

试用权益说明

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

  • 每月CLB包含750个小时的免费试用额度(多个CLB实例共享)

  • 每月CLB包含15个LCU的免费试用额度(多个CLB实例共享)

以上传统型负载均衡CLB卡片中领取的试用权益均为按量付费CLB实例。

我能学到什么

  • 学会如何创建CLB实例。

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

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

操作难度

所需时间

20分钟

使用的阿里云产品

所需费用

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

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

准备资源及环境

3

资源需求

部署CLB负载均衡服务需要1个CLB实例、2个ECS实例,且CLB实例和ECS实例属于同一地域。

领取免费权益

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

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

资源领取入口

本教程配置

领取传统型负载均衡CLB

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

  • 地域和可用区:本文选择华东1(杭州)地域,可用区按需配置

  • 实例计费方式:按使用量计费

  • 实例类型:公网

  • IP 版本:IPv4

  • 试用数量:1

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

领取云服务器ECS

2核4GB 3个月

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

  • 操作系统:CentOS 7.9 64位

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

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

开通云数据传输CDT

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

检查资源

登录传统型负载均衡CLB控制台ECS控制台,检查CLB实例和ECS实例是否位于同一地域,如不属于同一地域,请参见创建和管理CLB实例自定义购买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

配置CLB监听

7

配置四层监听

  1. 登录传统型负载均衡CLB控制台

  2. 在顶部菜单栏,选择CLB实例所属的地域。本文选择华东1(杭州)

  3. 实例管理页面,单击已创建的CLB实例ID。

    领取CLB免费试用权益后,系统将自动为您创建CLB实例。创建CLB实例一般需要1~3分钟,请您耐心等待。当实例状态变为运行中时,表示CLB实例创建完成。

  4. 单击监听页签,在监听页签单击添加监听

  5. 协议&监听配置向导,完成以下主要参数的配置,其余参数保持默认配置,然后单击下一步

    监听配置

    说明

    示例值

    选择负载均衡协议

    选择监听的协议类型。

    TCP

    监听端口

    设置前端协议端口,即用来接收请求并向后端服务器进行请求转发的监听端口。

    监听端口范围:1~65535。

    80

    监听名称

    自定义监听的名称。

    TCP_80

  6. 后端服务器配置向导,选择默认服务器组,然后单击继续添加

    1. 选择服务器配置向导,选择已创建的ECS01和ECS02实例,然后单击下一步

    2. 配置端口和权重配置向导,保持默认配置,单击添加

    3. 输入ECS01和ECS02的端口,本教程都设置为80,然后单击下一步

  7. 健康检查配置向导,保持默认配置,单击下一步,然后单击提交。等待配置成功后,单击知道了

配置七层监听

  1. 监听页签单击添加监听

  2. 协议&监听配置向导,完成以下主要参数的配置,其余参数保持默认配置,然后单击下一步

    监听配置

    说明

    示例值

    选择负载均衡协议

    选择监听的协议类型。

    HTTP

    监听端口

    设置前端协议端口,即用来接收请求并向后端服务器进行请求转发的监听端口。

    监听端口范围:1~65535。

    81

    监听名称

    自定义监听的名称。

    HTTP_81

  3. 后端服务器配置向导,选择默认服务器组,可以看到已添加的ECS01和ECS02。

  4. 输入ECS01和ECS02的端口,本教程都设置为80,然后单击下一步

  5. 健康检查配置向导,保持默认配置,单击下一步,然后单击提交。等待配置成功后,单击知道了

完成

5

验证七层负载均衡

创建完CLB实例并配置了七层监听后,您可以通过以下方式测试CLB实例是否将请求分发至后端ECS,并模拟ECS单点故障场景验证业务的高可用。

  1. 登录传统型负载均衡CLB控制台,在CLB实例管理页面,在服务地址列查看并复制CLB实例的公网服务地址。

  2. 在浏览器输入CLB实例的公网服务地址http://120.XX.XX.50:81,验证CLB的七层负载均衡转发能力。

    刷新浏览器,您可以观察到请求在两台ECS之间转换。

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

    image

    image

验证四层负载均衡

创建完CLB实例并配置了四层监听后,您可以通过以下方式测试CLB实例是否将请求分发至后端ECS,并模拟ECS单点故障场景验证业务的高可用。

  1. 登录传统型负载均衡CLB控制台,在CLB实例管理页面,在服务地址列查看并复制CLB实例的公网服务地址。

  2. 在浏览器中输入CLB实例的公网服务地址http://120.XX.XX.50,您可以观察到请求已转发至一台后端ECS服务器,以下操作以第一次返回内容为ECS01为例。

    1. 停用ECS01,刷新浏览器访问CLB实例的公网服务地址,可以观察到请求已转发至ECS02。

    2. 启动ECS01并等待几分钟。

    3. 停用ECS02,刷新浏览器访问CLB实例的公网服务地址,可以观察到请求已转发至ECS01。

    以上验证过程表明:在单台后端服务器出现故障时,CLB仍然能够保证业务的可用性。

    image

    image

清理及后续

2

清理

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

    • 如果无需使用CLB实例,您可以登录传统型负载均衡CLB控制台在左侧导航栏,选择传统型负载均衡CLB(原SLB)>实例管理,在实例管理页面,找到目标CLB实例,在操作列单击1111>释放设置,按照界面提示手动释放实例。

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

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

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

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

后续

在试用期有效期间,您还可以根据希望测试的其他业务场景继续使用传统型负载均衡CLB产品。关于CLB相关教程,请参见CLB教程

总结

常用知识点

问题1:CLB实例支持配置什么协议的监听?(单选题)

  • 仅四层(TCP或UDP协议)监听

  • 四层(TCP或UDP协议)和七层(HTTP或HTTPS协议)监听

正确答案是四层(TCP或UDP协议)和七层(HTTP或HTTPS协议)监听。

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

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

  • 未开启健康检查

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

延伸阅读