In this lab, you will learn how to use Terragrunt to launch two EC2 instances in different AWS AZs with a single template. You will use a simple folder structure that includes a module folder with a `main.tf`, `variables.tf`, and `outputs.tf` file, as well as a `terragrunt.hcl` file. By the end of the lab, you will have a better understanding of how Terragrunt can be used to easily manage infrastructure in AWS.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Create the Directory Structure for the Terragrunt Project
- Check that Terraform is installed and functioning properly.
- Check that Terragrunt is installed and functioning properly.
- Create a new directory to house your Terraform code called
ec2-instances
. - In the
ec2-instances
directory, create a directory calledmodule
. - Also create a
terragrunt.hcl
file in the sameec2-instances
directory.
- Write Your Terragrunt Module Code
- In the module directory, create a new file called
main.tf
and add the provided code. - Create a new file called
variables.tf
and add the provided code. - Create a new file called
outputs.tf
and add the provided code.
- In the module directory, create a new file called
- Write Your terragrunt.hcl File Code
In the
intro_terragrunt
directory, create a new file calledterragrunt.hcl
and add the provided code.- Deploy Your Code and Verify Resources Were Launched in AWS
- Initialize the Terragrunt configuration to fetch any required providers and get the code being referenced in the module block.
- Validate the code.
- Review the actions that will be performed when you deploy the code.
- Deploy the code.
- View the resources that were created.
- Tear down the infrastructure.