hands-on lab

Passing Outputs Between Terraform Modules with Terragrunt in GCP

Difficulty: Advanced
Duration: Up to 45 minutes
Students: 211
Rating: 5/5
Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.

Description

A common pattern for managing large-scale Terraform infrastructure involves splitting up monolithic architecture into "Terraservices". Terraservices are logical, independently-managed components that help to isolate cloud resources and reduce the blast radius of changes that are made throughout development.

Infrastructure components like a Virtual Private Cloud network rarely change once they're deployed, while GCE instances tend to require frequent updates. With this modular approach to managing resources, you can update or switch between instance configurations without the risk of affecting critical network settings.

Infrastructure developers lean on Terragrunt to manage the relationships and communication between these separate resource modules.

In this lab, you will learn how to use Terragrunt to pass data between two separately managed Terraform modules.

Learning Objectives

Upon completion of this lab, you will be able to:

  • Learn how to pass data between Terraform modules using Terragrunt

Intended Audience

  • Individuals and teams looking for ways to scale their Terraform codebase with Terragrunt
  • Individuals and teams seeking an introduction to using Terragrunt with Google Cloud Platform

Prerequisites

Familiarity with the following will be beneficial but is not required:

  • Basic concepts of Google Cloud Platform
  • Basic concepts of Terraform
  • Managing remote state with Terragrunt

The following content can be used to fulfill the prerequisite:

Updates

April 28th, 2023 - Updated theia to include autosave

Environment before

Environment after

Covered topics

Lab steps

Activating the Google Cloud Platform Service Account
Passing Outputs Between GCP Modules with Terragrunt