Course
TFGC
Getting Started with Terraform for Google Cloud («TFGC»)
Course facts
- Defining the business need for infrastructure as code and the benefits of using it in your environment
- Explaining the features and functionalities of Terraform
- Using Terraform resources, variables, and output values to create Google Cloud infrastructure resources
- Using Terraform modules to build reusable configurations
- Explaining Terraform state and its importance
1 Introduction to Terraform for Google Cloud
Introduction to IaC
- What is infrastructure as code (IaC)?
- Problems IaC can solve
- Benefits of IaC
- Provisioning versus configuration
- Imperative versus declarative approach
Introduction to Terraform
- Terraform overview
- Terraform features
- IaC configuration workflow
- Terraform use cases
Using Terraform
- How to use Terraform
- Running Terraform in production
- Installing Terraform
- Authentication for Google Cloud
2 Terms and concepts
The Author phase
- Terraform Directory structure
- Introduction to HCL syntax
- Resources
- Variables
- State
- Modules
Terraform commands
- terraform init
- terraform plan
- terraform apply
- terraform fmt
- terraform destroy
Terraform Validator tool
- Introduction
- Why use the Terraform Validator tool
- Validation workflow
- Terraform Validator use cases
3 Writing Infrastructure Code for Google Cloud
Introduction to Resources
- Resources overview
- Syntax
- Example
- Refer a resource attribute
Considerations to define a resource block
Meta-arguments for resources
Resource dependencies
- Implicit dependency
- Explicit dependency
Introduction to Variables
- Overview
- Syntax to declare a variable
- Syntax to reference and assign a value to a variable
- Variables best practices
Introduction to output values
- Output values overview
- Best practices
Terraform Registry and CFT
- Introduction to Terraform Registry
- Introduction to CFT
4 Organizing and Reusing Configuration with Terraform Modules
Introduction to modules
- Why are modules needed
- What is a module?
- Example
Reusing configurations by using modules
- Module sources
- Calling a module into the source configuration
Using variables to parameterize your configuration
Pass resource attributes using output variables
Module use cases, benefits, and best practices
5 Introduction to Terraform State
Introduction to Terraform state
- How information is stored in a Terraform state file
Ways to save a state file
Storing a state file in a Cloud Storage bucket
- Issues when storing the Terraform state locally
- Benefits of storing a state file in a Cloud Storage bucket
- Process of storing a Terraform state file remotely in a Cloud Storage bucket
Terraform state best practices
Learners will get hands-on practice building Google Cloud resources using Terraform.
Cloud engineers, DevOps engineers, and individuals who want to start using Terraform to automate infrastructure provisioning with a focus on Google Cloud Platform.
To get the most out of this course, participants should:
- Complete Google Cloud Fundamentals: Core Infrastructure
- Have basic programming skills and familiarity with using CLI
- Have general familiarity with Google Cloud
This course is part of the Google Cloud Certified Associate Cloud Engineer certification path.
Products
- Compute Engine
- VPC Networking
- Cloud Storage
- Terraform
- Cloud Foundation Toolkit
Not covered
- Cloud Build