操作场景
通过弹性云主机搭建服务(例如Web服务),当业务量大时单台云主机能力有限,需要两台同时进行业务负载。
本场景通过将弹性负载均衡和弹性云主机的组合使用,实现用户请求分均衡发至两台云主机。
创建弹性云主机
天翼云弹性负载均衡只负责将访问流量自动分发到多台弹性云主机上,不具备处理请求的能力。在当前场景中,需要通过弹性云主机实例来处理用户的请求。
弹性IP(EIP)是可以独立申请的公网IP地址,包括公网IP地址与公网出口带宽服务。在当前场景中,创建的弹性云主机需要与EIP绑定,后续操作需要使用浏览器进行公网IP地址访问,验证最终操作结果。具体操作,请参见创建弹性云主机。
- 登录控制中心。
- 在控制中心页面左上角点击,选择区域,本文我们选择华东1。
- 在控制中心页面,依次选择“计算 > 弹性云主机”。
- 在“弹性云主机”界面单击“创建云主机”,根据界面提示配置参数,并单击“立即购买”。
示例中使用的两台弹性云主机的规格如下:
参数项 | 参数值 |
---|---|
实例名称 | ecs-01、ecs-02 |
区域 | 华东-华东1 |
操作系统 | CentOS7.6 |
CPU | 2vCPUs |
内存 | 4GB |
系统盘 | 40GB |
数据盘 | 10GB |
公网带宽 | 5 Mbit/s |
安全组 | 默认安全组,开放22、80端口,实际业务中根据具体情况而定。 |
弹性IP | 自动分配 |
登录方式 | 密码 |
创建密码 | 自定义 |
注意由于弹性负载均衡服务向后端主机转发流量和健康检查的源地址为100.89.0.0/16(IPv4)、100:0:0:2::100.89.0.0/112(IPv6)地址段的地址,所选择的安全组需要对100.89.0.0/16(IPv4)、100:0:0:2::100.89.0.0/112(IPv6)地址段的入向流量放行。
搭建Nginx后端服务
在弹性云主机实例上部署Nginx,设置Nginx的默认目录下的index.html页面内容,使访问ecs-01时返回一个标题为“Welcome to ecs-01”的页面,访问ecs-02时返回一个标题为“Welcome to ecs-02”的页面。主要是为了区分访问不同云主机实例时,返回的页面呈现效果不一样。具体步骤如下:
- 登录弹性云服务器,具体操作请参见登录弹性云主机。
- 安装Nginx,执行以下命令,下载对应当前系统版本的nginx包。此处以CentOS 7.6版本的操作系统为例。
wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
- 执行以下命令,建立Nginx的yum仓库。此处以CentOS 7.6版本的操作系统为例。
rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
- 安装Nginx,执行以下命令。
yum -y install nginx
- 安装完成之后,启动Nginx并设置开机启动,执行以下命令。
systemctl start nginx
systemctl enable nginx
-
使用浏览器访问“http://ECS的公网IP地址”,显示如下页面,说明nginx安装成功。
-
修改ecs-01的index.html页面,index.html的默认目录是“/usr/share/nginx/html”,修改“index.html”页面,使访问ecs-01时返回一个标题为“Welcome to ecs-01”的页面。
a. 进入到index.html所在的目录执行以下命令。
cd /usr/share/nginx/html
b. 执行以下命令打开文件“index.html”。
vim /usr/share/nginx/html/index.html
c. 按i键进入编辑模式。修改index.html的文件内容,修改的部分如下所示:
<body> <h1>Welcome to <strong>ELB</strong> ecs-01</h1> <div class="content"> <div class="alert"> <h2>ELB01</h2> <div class="content"> <p><strong>Welcome to ecs-01</strong></p> <p><strong>Welcome to ecs-01</strong></p> <p><strong>Welcome to ecs-01</strong></p> </div> </div> </div> </body>
d. 按Esc退出编辑,输入:wq保存后退出。
-
修改ecs-02的index.html页面,index.html的默认目录是“/usr/share/nginx/html”,修改“index.html”页面,使访问ecs-02时返回一个标题为“Welcome to ecs-02”的页面。
a. 进入到index.html所在的目录执行以下命令。cd /usr/share/nginx/html
b. 执行以下命令打开文件“index.html”。
vim /usr/share/nginx/html/index.html
c. 按i键进入编辑模式。修改index.html的文件内容,修改的部分如下所示:
<body> <h1>Welcome to <strong>ELB</strong> ecs-02</h1> <div class="content"> <div class="alert"> <h2>ELB02</h2> <div class="content"> <p><strong>Welcome to ecs-02</strong></p> <p><strong>Welcome to ecs-02</strong></p> <p><strong>Welcome to ecs-02</strong></p> </div> </div> </div> </body>
d. 按Esc退出编辑,输入:wq保存后退出。
-
使用任意浏览器分别访问“http://ECS01的公网IP地址”和“http://ECS02的公网IP地址”,分别出现标题为“Welcome to ecs-01”和“Welcome to ecs-02”页面时,说明部署修改html页面成功。
创建负载均衡器
负载均衡实例接收来自客户端的请求,并按照监听规则将请求分发至后端服务器。使用ELB服务,您需要创建一个ELB实例,在实例中添加监听和后端服务器。
- 登录天翼云控制中心,选择资源节点;本文我们选择的是华东-华东1。
- 在控制中心页面,依次选择“网络 > 弹性负载均衡”。
- 在网络控制台页面,点击“创建负载均衡”。
- 在“创建负载均衡”页面,根据界面提示配置参数。
- 点击“立即创建”。
- 创建完成后,在“负载均衡器”界面,即可看到新建的负载均衡器。
- 具体配置参数如下:
参数项 | 参数值 |
---|---|
地域 | 华东-华东1 |
类型 | 经典型 |
名称 | CT-ELB的名称,名称由数字、字母、中文、-、_组成,不能以数字、_和-开头。 |
所属VPC | 使用和ECS相同的VPC |
网络类型 | 外网 |
弹性IP | 使用已有 |
企业项目 | default |
描述 | 选填 |
添加监听器、后端服务器
配置完负载均衡实例后,需要为实例配置监听器。监听器负责检查连接请求,根据负载均衡算法和转发策略配置将请求流量分发到后端主机。具体步骤如下:
- 登录天翼云控制中心,选择资源节点;本文我们选择的是华东-华东1。
- 在控制中心页面,依次选择“网络 > 弹性负载均衡”。
- 在负载均衡页面,点击名称为elb-01的负载均衡器。
- 在“监听器”页签,点击“添加监听器”。
- 在“协议&监听器”页面,根据界面提示配置参数。
参数项 | 描述 | 参数值 |
---|---|---|
名称 | 监听器的名称,名称应为2-32位,英文开头,支持大小写英文和数字。 | listener01 |
负载均衡器协议/端口 | 协议可选择TCP、UDP、HTTP、HTTPS,端口取值范围1~65535。 | HTTP/80 |
描述 | 关于监听器的描述。 | 选填 |
- 点击“下一步”,新建后端主机组。配置参数如下:
参数项 | 描述 | 参数值 |
---|---|---|
后端主机组名称 | 名称应为2-32位,英文开头,支持大小写英文和数字。 | group01 |
选择后端主机组 | 一组处理负载均衡分发的前端请求的云主机实例。 | 云主机 |
可添加主机 | 可在搜索栏根据主机名、IP地址搜索,勾选搜索结果中的云主机。 | ecs-01、ecs-02 |
端口 | 后端云主机的服务监听端口,取值范围[1-65535]。 | 80 |
权重 | 后端云主机权重。权重值决定了后端云主机处理的请求的比例。例如,一个权重为2的云主机处理的请求数是权重为1的两倍。 | 用户自行配置权重大小。 |
- 添加后端云主机后,点击“下一步”,进入“负载均衡方式&健康检查”配置页面。具体配置参数如下:
参数项 | 描述 | 参数值 |
---|---|---|
后端主机组名称 | 默认 | group01 |
负载方式 | 可选择轮询算法、最少连接算法、源算法三种。 轮询算法:请求以轮询的方式依次分发给各后端主机,加权轮询对权重高的主机会获得更多的轮询次数; 最小连接算法:动态调度算法,通过服务器当前活跃的连接数来评估服务器的负载情况,负载均衡将请求分发给活跃连接数最小的后端主机。加权最小连接数会结合权重分配后端主机; 源算法:基于源IP地址的一致性哈希,相同的源地址会调度到相同的后端主机。 |
轮询算法 |
健康检测 | 开启健康检查,负载均衡对后端主机的服务状态进行探测。负载均衡将不会分发流量给服务异常的主机。 | 开启 |
健康检查类型 | 可选择HTTP、TCP | HTTP |
间隔时间(秒) | 取值范围1~20940 | 5 |
超时时间(秒) | 取值范围2~60 | 2 |
检查路径 | 长度范围1~80 以‘/’开头,可包含数字、大小写字母或‘/’,路径中可包含‘-’ ‘_’ ‘.’ ‘=’ | / |
HTTP方法 | 可选择GET、HEAD两种 | GET |
- 点击“立即创建”,即可完成配置,在监听器页签能查看到创建的监听器。
验证负载均衡服务
将域名映射到ELB实例的EIP上,然后可通过访问ELB实例对应的域名,验证是否实现访问到不同的后端服务器。
- 使用浏览器访问对应域名,显示一个标题为“Welcome to ecs-01”的页面,说明本次访问请求被ELB实例转发到弹性云服务器"ecs-01"。
- 多次使用浏览器访问对应域名,当显示一个标题为“Welcome to ecs-02”的页面,说明本次访问请求被ELB实例转发到弹性云服务器"ecs-02"。
用户在实际使用弹性负载均衡时,应该根据自身业务和应用场景选择合适的配置方式和策略,以实现负载均衡、扩展性和高可用性等目标。