最近更新时间:2024-08-27 19:39:35
本快速入门主要介绍如何通过配置基于URL的转发策略,将来自同一个域名不同URL的请求转发到不同的后端服务器进行处理。
您需要根据业务需求规划ALB实例的地域,创建VPC和后端服务器KEC实例等。
在实例页面,单击新建负载均衡。
在新建页面,根据需要配置实例。
配置 | 说明 |
地域 | 选择实例所属的地域。目前只支持北京、俄罗斯。 |
功能版本 | 选择实例的功能版本。
|
负载均衡名称 | 输入实例名称。本文将ALB实例命名为Test-ALB。 |
所属项目 | 选择实例所属项目。 |
所属虚拟私有网络 | 选择实例所属的VPC。 |
负载均衡版本 | 选择实例的协议版本。本文选择IPv4。
|
网络类型 | 选择实例网络类型,系统会根据您的选择分配私网或公网服务地址。本文选择公网。
|
单击购买,然后根据所选配置完成实例开通。
返回实例页面,选择对应的地域即可看到新建的实例。
在左侧导航栏,选择负载均衡>应用型(新) > 服务器组。
在服务器组页面,单击新建服务器组。
在新建服务器组页面配置服务器组相关的参数,然后单击确定。
参数 | 描述 |
服务器组名称 | 输入服务器组名称。本文新建两个服务组,分别命名为Test-Group-01和Test-Group-02。 |
虚拟私有网络 | 选择服务器组所属的VPC。 |
服务器组类型 | 选择一种服务器组类型:
本文选择服务器类型。 |
开启后端长连接 | 选择后端是否开启长连接:
|
可添加的服务器 | 勾选后端服务器,设置端口和权重,添加到服务器组中。 |
单击确定,返回服务器组页面,查看完成配置的服务器组。
在左侧导航栏,选择应用型(新) > 监听器。
在监听器页面,找到目标ALB实例,单击新建监听器。
在新建监听器页面,完成以下配置,然后单击下一步。
参数 | 描述 | |
基本信息 | 监听器名称 | 输入监听器的名称。本文将ALB实例命名为Test-Listener。 |
前端协议 | 选择监听的协议类型。本文选择HTTP。 | |
监听端口 | 用来接收请求并向后端服务器进行请求转发的监听端口,端口范围为1~65535,本文填写81。 | |
转发方式 | 选择转发到后端服务器的负载算法:
| |
会话保持 | 选择会话保持是否开启,开启会话保持可以将同一客户端的请求始终转发给同一后端服务器。 | |
访问控制 | 选择访问控制是否开启,若开启,需选择关联的ACL。通过设置入站允许/拒绝规则,对入监听器的流量进行精确控制。 | |
默认转发策略 | 动作 | 默认为转发 |
服务器组 | 选择默认转发的后端服务器组。 | |
健康检查 | 健康检查开启 | 健康检查方法:选择一种健康检查方法。
响应超时时间:健康检查请求返回的等待时间,超过此时间将会被判定为一次失败的检查,取值范围:1~3600秒,默认值为4秒。 健康检查间隔:连续进行两次健康检查的时间间隔。取值范围:1~1000秒,默认值为5秒。 健康阈值:健康检查连续成功多少次后,会将后端服务恢复,取值范围:1-10次,默认值为5。 不健康阈值:健康检查连续失败多少次后,会将后端服务器屏蔽,取值范围:1-10次,默认值为4。 健康检查路径:HTTP协议的健康检查将使用HEAD方法请求此URL。 健康检查域名:健康检查的服务域名。 |
个性化配置 | 个性化配置开启 | 可通过X-Forwarded-For字段获取客户端源IP,或者根据其他需求配置相应的字段。详情请见个性化配置。 |
单击确定,返回监听器页面,查看完成配置的监听器。
在新添加的监听器的操作栏,单击“添加/编辑转发策略”。
在转发策略页面,配置转发策略。
名称:填写转发策略的名称。
添加域名:填写转发的域名,支持精确域名和泛域名。示例为”www.a.com”。
添加路径:填写转发的URL路径,示例为“/ALB01”。
转发动作:选择“转发”。
后端服务器组:选择“Test-Group-01”。
单击“确定”,转发策略添加完成。
重复执行以上步骤,添加另一条转发策略,添加域名“www.a.com”,路径为“/ALB02”,后端服务器组选择“Test-Group-02”。
在后端服务器KEC实例上部署Nginx,具体步骤如下:
登录云服务器控制台,新建两台云服务器Test-KEC-01和Test-KEC-02,分别移入后端服务器组Test-Group-01和Test-Group-02。
使用wget命令,下载对应当前操作系统版本的Nginx安装包。本文以CentOS 7.6版本的操作系统为例。
wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
执行以下命令,建立Nginx的yum仓库。
rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
执行以下命令,安装Nginx。
yum -y install nginx
执行以下命令,启动Nginx并设置开机启动。
systemctl start nginx
systemctl enable nginx
修改实例Test-KEC-01和Test-KEC-02里Nginx的相关配置,当有访问请求时,能标识到是来自Test-KEC-01还是Test-KEC-02的响应。
6.1 执行以下命令打开配置文件。
vi /etc/nginx/conf.d/default.conf
6.2 按i键进入编辑模式。
6.4 修改文件内容,涉及内容修改部分如下所示:
...
location /ALB01{
return 200 alb01;
}
...
location /ALB02{
return 200 alb02;
}
6.5 编辑完后按Esc键退出编辑模式,并输入:wq保存后退出。
执行下述命令重启nginx。
nginx -s reload
负载均衡实例配置完成后,可通过访问ALB实例对应的域名,验证是否实现访问到不同的后端服务器。
登录云服务器控制台,新建一台KEC实例作为客户端。
使用vi /etc/hosts
命令,在客户端的host文件中将域名映射到创建的ALB实例的EIP上。
客户端使用curl 域名:端口/路径
命令访问负载均衡,显示如下,说明访问不同的路径能将请求转发到服务器组Test-Group-01和Test-Group-02,服务器组里的服务器能正常响应请求。
纯净模式