当前位置:主页 > 查看内容

共享型负载均衡快速入门 (进阶版)_弹性负载均衡 ELB_快速入门

发布时间:2021-09-18 00:00| 位朋友查看

简介:操作场景 假如您有两个Web应用,需要部署在两个 弹性云服务器 (简称ECS)上。对外提供同一个访问域名“www.example.com”,根据不同的URL(/ELB01/和/ELB02/)来决定需要访问的应用。 共享型 负载均衡,可以配置基于域名和URL的转发策略,将来自不同域名或……

操作场景

假如您有两个Web应用,需要部署在两个弹性云服务器(简称ECS)上。对外提供同一个访问域名“www.example.com”,根据不同的URL(/ELB01/和/ELB02/)来决定需要访问的应用。

共享型负载均衡,可以配置基于域名和URL的转发策略,将来自不同域名或者不同URL的请求转发到不同的后端服务器组处理。此功能目前仅支持协议类型为HTTP、HTTPS的监听器。

本文以HTTP转发为例,通过配置ELB的转发策略,实现基于访问同一个域名下的不同的URL,ELB实例根据URL将访问请求转发到不同的后端服务器组进行处理。

前提条件

  • 后端服务器的安全组已经开通了业务需要使用的端口(也可以先开通所有端口,业务部署完成后再限制不使用的端口)。具体操作可参见“后端服务器配置安全组”
  • 由于弹性负载均衡通过“100.125.0.0/16”网段的IP与后端服务器互访,为了保证健康检查功能正常使用,后端服务器的安全组必须开通“100.125.0.0/16”网段。

创建弹性云服务器

负载均衡只负责流量转发,不具备处理请求的能力。因此,需要通过ECS实例处理用户的请求。

在当前场景中,弹性云服务器需要创建并绑定弹性公网IP (简称EIP)。ECS绑定EIP仅作为本次示例中配置ECS后端业务所需,用户实际使用时,需要根据自身业务规划确定ELB是否绑定EIP,具体原则请参见公网和私网负载均衡器

  1. 登录管理控制台。
  2. 在管理控制台左上角单击图标,选择区域和项目。

    区域和项目选择“华北-北京一”。

  3. 选择“服务列表 > 计算 > 弹性云服务器”。
  4. 在“弹性云服务器”界面单击“购买弹性云服务器”,根据界面提示配置参数,并单击“立即购买”。

    示例中使用的两台弹性云服务器的规格如下:
    表1 弹性云服务器规格

    参数项

    参数值

    名称

    ECS01、ECS02

    操作系统

    CentOS 7.2 64bit

    CPU

    2vCPUs

    内存

    4GB

    系统盘

    40GB

    数据盘

    100GB

    公网带宽

    5 Mbit/s

    区域

    华北-北京一

  5. 单击“提交”。

搭建后端服务

在ECS实例上部署Nginx,编辑HTML页面,使访问ECS01时返回一个标题为“Welcome to ELB test page one!”的页面,访问ECS02时返回一个标题为“Welcome to ELB test page two!”的页面。

  1. 登录弹性云服务器
  2. 安装nginx。
    1. 执行以下命令,安装nginx。

      yum -y install nginx

    2. 执行以下命令,启动nginx。

      systemctl start nginx.service

    3. 使用浏览器访问“http://ECS的公网IP地址”,显示如下页面,说明nginx安装成功。
      图1 nginx安装成功
  3. 修改ECS实例ECS01的html页面。
    Nginx的默认根目录是“/usr/share/nginx/html”,移动并修改“index.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905”页面,用来标识到ECS01的访问。
    1. 依次执行以下命令,创建“ELB01”目录,并复制一个“index.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905”文件到“ELB01”目录下。

      mkdir /usr/share/nginx/html/ELB01

      cp /usr/share/nginx/html/index.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905 /usr/share/nginx/html/ELB01/

    2. 执行以下命令打开文件“index.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905”。

      vim /usr/share/nginx/html/ELB01/index.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905

    3. i键进入编辑模式。
    4. 修改打开的“index.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905”文件。
      修改文件内容,涉及内容修改部分如下所示:
       ...
          <body>
              <h1>Welcome to <strong>ELB</strong> test page one!</h1>
      
              <div class="content">
                  <p>This page is used to test the <strong>ELB</strong>!</p>
      
                  <div class="alert">
                      <h2>ELB01</h2>
                      <div class="content">
                          <p><strong>ELB test (page one)!</strong></p>
                          <p><strong>ELB test (page one)!</strong></p>
                          <p><strong>ELB test (page one)!</strong></p>
                      </div>
                  </div>
              </div>
          </body>
    5. Esc键退出编辑模式,并输入:wq保存后退出。
  4. 修改ECS实例ECS02的html页面。
    Nginx的默认根目录是“/usr/share/nginx/html”,移动并修改“index.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905”页面,用来标识到ECS02的访问。
    1. 依次执行以下命令,创建“ELB02”目录,并复制一个“index.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905”文件到“ELB02”目录下。

      mkdir /usr/share/nginx/html/ELB02

      cp /usr/share/nginx/html/index.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905 /usr/share/nginx/html/ELB02/

    2. 执行以下命令打开文件“index.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905”。

      vim /usr/share/nginx/html/ELB02/index.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905

    3. i键进入编辑模式。
    4. 修改打开的“index.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905”文件。

      修改文件内容,涉及内容修改部分如下所示:

      ...
          <body>
              <h1>Welcome to <strong>ELB</strong> test page two!</h1>
      
              <div class="content">
                  <p>This page is used to test the <strong>ELB</strong>!</p>
      
                  <div class="alert">
                      <h2>ELB02</h2>
                      <div class="content">
                          <p><strong>ELB test (page two)!</strong></p>
                          <p><strong>ELB test (page two)!</strong></p>
                          <p><strong>ELB test (page two)!</strong></p>
                      </div>
                   </div>
              </div>
          </body>
    5. Esc键退出编辑模式,并输入:wq保存后退出。
  5. 使用浏览器分别访问“http://ECS01的公网IP地址/ELB01/”和“http://ECS02的公网IP地址/ELB02/”,验证nginx服务。

    如果页面显示修改后的html页面,说明nginx部署成功。

    • ECS01的html页面:
      图2 ECS01的nginx部署成功页面
    • ECS02的html页面:
      图3 ECS02的nginx部署成功页面

新建负载均衡器

  1. 在管理控制台左上角单击图标,选择区域和项目。

    区域和项目选择与使用的弹性云服务器保持一致,选择“华北-北京一”。

  2. 选择“服务列表 > 网络 > 弹性负载均衡”。
  3. 在“负载均衡器”界面单击“购买弹性负载均衡”,根据界面提示配置参数,如下图所示。
    图4 购买弹性负载均衡器
  4. 单击“立即购买”。
  5. 确认配置信息,并单击“提交”。
  6. 创建完成后,在“负载均衡器”界面,选择对应的区域即可看到新建的负载均衡器。

添加监听器

负载均衡监听器通过指定的协议和端口进行流量转发。同时监听器将根据健康检查的配置自动检查其后端云服务器的运行状况。如果发现某台云服务器运行不正常,则会停止向该云服务器发送流量,并重新将流量发送至正常运行的云服务器。

此处以负载均衡转发客户端的HTTP请求配置为例。配置基于域名和URL的转发策略,将来自域名“www.example.com”+“/ELB01/”URL的请求转发到ECS“ELB01”所在的后端服务器组处理,将来自域名 “www.example.com”+“/ELB02/”URL的请求转发到ECS“ELB02”所在的后端服务器组处理。如下图所示:
图5 数据转发示意图
  1. 选择“服务列表 > 网络 > 弹性负载均衡”。
  2. 在“负载均衡器”界面,单击需要添加监听器的负载均衡名称。
  3. 切换到“监听器”页签,单击“添加监听器”。
  4. 配置监听器,单击“下一步”。
    • 名称:监听器名称,示例为“listener-HTTP”。
    • 前端协议/端口:负载分发的协议和端口,示例为“HTTP/80”。
    图6 配置监听器
  5. 配置后端服务器组和开启健康检查,单击“完成”。
    • 后端服务器组
      • 名称:后端云服务器组名称,示例为“server_group-ELB”。
      • 分配策略类型:负载均衡采用的算法,示例为“加权轮询算法”。
    • 健康检查配置
      • 协议:前端协议为TCP、HTTP或者HTTPS时,健康检查支持TCP和HTTP协议,设置后不可修改,示例为“HTTP”。
      • 域名:健康检查的请求域名。示例为“www.example.com”。
      • 端口:健康检查端口号,示例为“80”。

        未配置健康检查端口时,默认使用后端服务器端口进行健康检查。配置后,使用配置的健康检查端口进行健康检查。

    图7 配置后端服务器组
    图8 开启健康检查

添加转发策略

  1. 在新添加的监听器下,单击转发策略后面的“添加”。
    图9 添加转发策略
  2. 配置转发策略,单击“下一步”。
    • 名称:转发策略的名称,示例为“forwarding_policy-ELB01”。
    • 域名:触发转发的域名,仅支持精确域名。示例为“www.example.com”。
    • URL:触发转发的URL,示例为“/ELB01/”。
    • URL匹配规则:匹配的优先级为“精确匹配 > 前缀匹配 > 正则匹配”,示例为“精确匹配”。
    图10 配置转发策略
  3. 添加后端服务器组和开启健康检查,单击“完成”。
    • 后端服务器
      • 名称:后端服务器组名称,示例为“server_group-ELB01”。
      • 分配策略类型:负载均衡采用的算法,示例为“加权轮询算法”。
    • 健康检查配置
      • 协议:前端协议为TCP、HTTP或者HTTPS时,健康检查支持TCP和HTTP协议,设置后不可修改,示例为“HTTP”。
      • 域名:健康检查的请求域名。示例为“www.example.com”。
      • 端口:健康检查端口号,示例为“80”。

        未配置健康检查端口时,默认使用后端服务器端口进行健康检查。配置后,使用配置的健康检查端口进行健康检查。

    图11 配置后端服务器组
    图12 开启健康检查
  4. 单击新添加的转发策略,在右侧的“后端服务器组”页签,单击“添加”。
    图13 添加服务器
  5. 勾选需要添加的服务器,设置业务端口,单击“完成”。
    • 服务器勾选“ECS01”。
    • 业务端口:业务所使用的端口,示例为“80”。
    图14 添加服务器
  6. 重复执行1~5,添加另一条转发策略、创建后端服务器组,并添加ECS02。配置参数如下图所示。
    图15 基本参数
    图16 后端服务器组

验证负载均衡服务

负载均衡器配置完成后,可通过访问ELB实例对应的域名以及指定的URL,验证是否实现访问到不同的后端服务器

  1. 修改本地PC的“C:\Windows\System32\drivers\etc\hosts”文件,将域名映射到创建的ELB实例的EIP上。
    ELB实例的EIP请在负载均衡器的基本信息界面查看。
    图17 本地PC的hosts文件
  2. 在本地PC的命令行窗口,执行以下命令测试域名映射ELB实例的EIP是否成功。

    ping www.example.com

    如有回复数据包,则说明域名映射成功。

  3. 使用浏览器访问“http://www.example.com/ELB01/”,显示如下页面,说明本次访问请求被ELB实例转发到弹性云服务器"ECS01","ECS01"正常处理请求并返回请求的页面。
    图18 访问到ECS01

    "ELB01/"表示访问的是名为“ELB01”的默认目录,"ELB01"表示访问的是名为“ELB01”的文件。所以,此处"ELB01"后面的“/”符号必须保留。

  4. 使用浏览器访问“http://www.example.com/ELB02/”,显示如下页面,说明本次访问请求被ELB实例转发到弹性云服务器"ECS02","ECS02"正常处理请求并返回请求的页面。
    图19 访问到ECS02

本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:DescribeClusterConnections - 弹性云桌面 下一篇:没有了

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐