Deploy a Highly Available Website with Terraform on AWS

Lab Steps

Logging in to the Amazon Web Services Console
Connecting to the Virtual Machine using SSH
Configuring the Website on the EC2 Instances with Terraform
Configuring Network Resources for Elastic Load Balancing with Terraform
Configuring an Elastic Load Balancer with Terraform
Destroying Resources with Terraform
Validate AWS Lab

The hands-on lab is part of these learning paths

DevOps Playbook - CI/CD Tools and Services
course-steps 5 certification 2 lab-steps 5
Solving Infrastructure Challenges with Terraform
course-steps 1 certification 1 lab-steps 5

Ready for the real environment experience?

Time Limit50m
star star star star star-half


Lab Overview

An attractive feature of the cloud is that you can deploy applications in multiple data centers making them highly available and able to tolerate a high degree of failures. In this Lab, you will deploy a secure and highly available website with Terraform on AWS using a two-tier architecture with private and public subnets. The web servers and Elastic Load Balancer will span multiple availability zones to achieve high availability.

Lab Objectives

Upon completion of this Lab you will be able to:

  • Apply infrastructure changes in Terraform
  • Configure all the network and security infrastructure needed to deploy a highly available website
  • Use user data to bootstrap web servers
  • Destroy infrastructure managed by Terraform

Lab Prerequisites

You should be familiar with:

Lab Environment

Before completing the Lab instructions, the environment will look as follows:

After completing the Lab instructions, the environment should look similar to:



January 10th, 2019 - Added a validation Lab Step to check the work you perform in the Lab

About the Author

Learning paths11

Logan has been involved in software development and research since 2007 and has been in the cloud since 2012. He is an AWS Certified DevOps Engineer - Professional, AWS Certified Solutions Architect - Professional, Microsoft Certified Azure Solutions Architect Expert, MCSE: Cloud Platform and Infrastructure, Google Cloud Certified Associate Cloud Engineer, Certified Kubernetes Administrator (CKA), Certified Kubernetes Application Developer (CKAD), Linux Foundation Certified System Administrator (LFCS), and Certified OpenStack Administrator (COA). He earned his Ph.D. studying design automation and enjoys all things tech.

Covered Topics