Hey there, Gurus! Welcome to the lab! This lab will demonstrate how to create a custom module, and then call that module with a root module in your main configuration. This will allow you to share a piece of configuration with multiple infrastructure projects. We will first set up our child module, which will configure an EC2 instance. We will then add a module block that will call our child module in our main configuration. So let’s get started creating a custom module!
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Create a Custom Module
- In the terminal, once logged in to your instance, change to the
Use_Modules
directory. - In the
Use_Modules
directory, edit themodules/ec2/main.tf
file and add in yourami
andsubnet_id
from theresource_ids.txt
file. - In the
Use_Modules
directory, edit theec2.tf
file and add the following:module "ec2-module" { source = "./modules/ec2/" }
- Examine the
outputs.tf
configuration files in both theUse_Modules
andUse_Modules/modules/ec2/
directories. - Initialize your working directory.
- Deploy your resources.
- In the terminal, once logged in to your instance, change to the
- Confirm Your EC2 Instance Has Been Created
- Check your outputs to confirm your instance was deployed.
- Check the lab-provided AWS console or use the AWS CLI to confirm your EC2 instance was created.