Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.
  • Labs icon Lab
  • A Cloud Guru
Google Cloud Platform icon
Labs

Configuring HTTP Load Balancing Using HAProxy

HAProxy is well-known for its ability to load balance HTTP traffic. In this lab, we’re going to get hands-on with HAProxy, using it to load balance traffic for a number of nginx web server containers. We’ll get hands-on, configuring a 2-site installation, with round-robin load balancing for each site. Upon completion of the lab, you will be able to configure HAProxy to load balance HTTP connections.

Google Cloud Platform icon
Labs

Path Info

Level
Clock icon Intermediate
Duration
Clock icon 30m
Published
Clock icon Jun 30, 2021

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Table of Contents

  1. Challenge

    Configure HTTP Load Balancing

    For this objective, we're going to configure HTTP load balancing for our 2 sites.

    Before we start, check the status of our nginx containers to make sure they're up and running.

    Perform the following:

    • Configure 2 HTTP frontends, 1 for each site.
      • Make the first site available on port 8000.
      • Make the second site available on port 8100.
    • Configure 2 HTTP backends, one for each site.
      • Use roundrobin load balancing for each site.
      • Add all 3 nginx containers for each site to the backend.
    • Add a configuration block for the stats web page.
      • Use port 8050 for the stats page.
      • Set the mode to http.
    • Enable and start the haproxy service. Check your work.
      • Make sure the haproxy service is enabled and started.
      • Use curl to confirm that you can connect to the following and that load balancing is working:
        • http://127.0.0.1:8000/test.txt
        • http://127.0.0.1:8100/test.txt
      • Confirm you can connect to the stats web page on port 8050.
  2. Challenge

    Test HTTP Load Balancing

    For this objective, we're going to test round-robin load balancing on both sites and confirm it is working as intended.

    Perform the following:

    • We're going to see how HAProxy handles down servers.
      • Use the podman command to stop the site1_server3 container.
      • Use the podman command to stop the site2_server2 container.
      • Use the podman command to show the status of all containers.
        • Confirm the 2 containers you stopped are exited.
      • Reload the sites using a browser or curl, and confirm things still work and that traffic is routed around the down servers.
      • See the change in the stats web page. Refresh and see if HAProxy has picked up the down servers.
      • Use the podman command to stop all the remaining containers.
        • See the change in the stats web page. Refresh and see if HAProxy has picked up the down servers.
        • Try to connect to each site. See how HAProxy responds.
    • Use the podman command to start all the containers.
      • Use the podman command to show the status of all containers.
      • See the change in the stats web page. Refresh and see if HAProxy has picked up the up servers.
      • Try to connect to each site. See how HAProxy responds.

The Cloud Content team comprises subject matter experts hyper focused on services offered by the leading cloud vendors (AWS, GCP, and Azure), as well as cloud-related technologies such as Linux and DevOps. The team is thrilled to share their knowledge to help you build modern tech solutions from the ground up, secure and optimize your environments, and so much more!

What's a lab?

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Provided environment for hands-on practice

We will provide the credentials and environment necessary for you to practice right within your browser.

Guided walkthrough

Follow along with the author’s guided walkthrough and build something new in your provided environment!

Did you know?

On average, you retain 75% more of your learning if you get time for practice.

Start learning by doing today

View Plans