Passing Outputs Between Terraform Modules with Terragrunt in GCP
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:
- Deploying Google Cloud Platform Infrastructure with Terraform
- Working with Terraform Remote State in GCP
- Centralizing Remote State with Terragrunt in GCP
Updates
April 28th, 2023 - Updated theia to include autosave