Featured resource
Tech Upskilling Playbook 2025
Tech Upskilling Playbook

Build future-ready tech teams and hit key business milestones with seven proven plays from industry leaders.

Learn more
  • Labs icon Lab
  • Cloud
Google Cloud Platform icon
Labs

Create a Custom Terraform Module

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!

Google Cloud Platform icon
Labs

Path Info

Level
Clock icon Intermediate
Duration
Clock icon 30m
Last updated
Clock icon Sep 01, 2025

Contact sales

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

Table of Contents

  1. Challenge

    Create a Custom Module

    1. In the terminal, once logged in to your instance, change to the Use_Modules directory.
    2. In the Use_Modules directory, edit the modules/ec2/main.tf file and add in your ami and subnet_id from the resource_ids.txt file.
    3. In the Use_Modules directory, edit the ec2.tf file and add the following:
      module "ec2-module" {
        source = "./modules/ec2/"
      }
      
    4. Examine the outputs.tf configuration files in both the Use_Modules and Use_Modules/modules/ec2/ directories.
    5. Initialize your working directory.
    6. Deploy your resources.
  2. Challenge

    Confirm Your EC2 Instance Has Been Created

    1. Check your outputs to confirm your instance was deployed.
    2. Check the lab-provided AWS console or use the AWS CLI to confirm your EC2 instance was created.

Pluralsight Skills gives leaders confidence they have the skills needed to execute technology strategy. Technology teams can benchmark expertise across roles, speed up release cycles and build reliable, secure products. By leveraging our expert content, skill assessments and one-of-a-kind analytics, keep up with the pace of change, put the right people on the right projects and boost productivity. It's the most effective path to developing tech skills at scale.

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.