Using Shared Load Balancers — Entry Level

Scenarios

You have a web application, which often needs to handle heavy traffic and is deployed on two ECSs for load balancing.

You can create a shared load balancer to distribute traffic evenly across the two ECSs, which eliminates SPOFs and makes your application more available.

Prerequisites

Creating ECSs

ECSs are used as backend servers.

Each ECS needs an EIP for accessing the Internet, so that The EIP bound to the ECS is required only for configuring ECS backend services in this example. You need to determine whether to bind an EIP to the ECS based on the service plan.

Determine whether you need to bind an EIP to your load balancer by referring to Load Balancing on a Public or Private Network.

  1. Log in to the management console.
  2. In the upper left corner of the page, click and select the desired region and project.
  3. Hover on in the upper left corner to display Service List and choose Computing > Elastic Cloud Server.
  4. Click Create ECS, configure the parameters, and click Create Now.

    The following table lists the specifications of the two ECSs.
    Table 1 ECS specifications

    Item

    Example Value

    Name

    ECS01 and ECS02

    OS

    CentOS 7.2 64bit

    vCPUs

    2

    Memory

    4 GB

    System disk

    40 GB

    Data disk

    100 GB

    Bandwidth

    5 Mbit/s

  5. Submit your request.

Deploying the Application

Deploy Nginx on the two ECSs and edit two HTML pages for the web application so that a page with message "Welcome to ELB test page one!" is returned when ECS01 is accessed, and the other page with message "Welcome to ELB test page two!" is returned when ECS02 is accessed.

  1. Log in to the ECSs.
  2. Install and start Nginx.
    1. Install Nginx:

      yum -y install nginx

    2. Start Nginx:

      systemctl start nginx.service

    3. Enter http://EIP bound to the ECS in the address box of your browser.If the following page is displayed, Nginx has been installed.Figure 1 Nginx installed successfully
  3. Modify the HTML page of ECS01.Modify the index.html file in the default root directory of Nginx /usr/share/nginx/html to identify access to ECS01.
    1. Open the index.html file.

      vim /usr/share/nginx/html/index.html

    2. Press i to enter editing mode.
    3. Modify the index.html file to be as follows:
       ...
          <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>
    4. Press Esc to exit editing mode. Then, enter :wq to save the settings and exit the file.
  4. Modify the HTML page of ECS02.Modify the index.html file in the default root directory of Nginx /usr/share/nginx/html to identify access to ECS02.
    1. Open the index.html file.

      vim /usr/share/nginx/html/index.html

    2. Press i to enter editing mode.
    3. Modify the index.html file to be as follows:
      ...
          <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>
    4. Press Esc to exit editing mode. Then, enter :wq to save the settings and exit the file.
  5. Use your browser to access http://ECS01 EIP and http://ECS02 EIP to verify that Nginx has been deployed.

    If the modified HTML pages are displayed, Nginx has been deployed.

Creating a Load Balancer

  1. In the upper left corner of the page, click and select the desired region and project.
  2. Hover on in the upper left corner to display Service List and choose Network > Elastic Load Balancing.
  3. Click Create Elastic Load Balancer and then configure the parameters.
  4. Click Create Now.
  5. Confirm the configuration and submit your request.
  6. View the newly created load balancer in the load balancer list.

Adding a Listener

Add a listener to the created load balancer. When you add the listener, create a backend server group, configure a health check, and add the two ECSs to the created backend server group.

Figure 4 Traffic forwarding
  1. Hover on in the upper left corner to display Service List and choose Network > Elastic Load Balancing.
  2. Locate the created load balancer (elb-01) and click its name.
  3. Under Listeners, click Add Listener.
  4. Configure the listener and click Next.
  5. Create a backend server group and configure a health check.
  6. Click the name of the newly added listener. On the Backend Server Groups tab page on the right, click Add.
  7. Select the servers you want to add, set the backend port, and click Finish.

Verifying Load Balancing

After the load balancer is configured, you can access the domain name to check whether the two ECSs are accessible.

  1. Modify the C:\Windows\System32\drivers\etc\hosts file on your PC to map the domain name to the load balancer EIP.View the load balancer EIP on the basic information page of the load balancer.Figure 5 hosts file on your PC
  2. On the CLI of your PC, run the following command to check whether the domain name is mapped to the load balancer EIP:

    ping www.example.com

    If data packets are returned, the domain name has been mapped to the load balancer EIP.

  3. Use your browser to access http://www.example.com. If the following page is displayed, the load balancer has routed the request to ECS01.Figure 6 Accessing ECS01
  4. Use your browser to access http://www.example.com. If the following page is displayed, the load balancer has routed the request to ECS02.Figure 7 Accessing ECS02
Parent topic: Getting Started