hands-on lab

Deploying Google Cloud Platform Infrastructure with Terraform

Up to 30m
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.


Terraform is an infrastructure automation tool that allows teams to treat their infrastructure as code. Infrastructure as code provides many benefits such as improved recovery, predictability, and speed. Infrastructure as code is quickly becoming a standard for managing cloud resources and is widely practiced among the top-performing companies.

Terraform is platform-agnostic, meaning it can be used to manage any major cloud service provider as well as on-premise environments using vSphere and Cisco. Teams can use the same adopted skillset and workflows to manage other environments instead of reinventing the wheel for managing each environment. Terraform is simple to learn and can be easily adopted as a way to manage your cloud infrastructure.

In this lab, you will create a Terraform configuration to deploy a Google Compute Engine instance to Google Cloud Platform (GCP).

Learning Objectives

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

  • Work with the Google Cloud Platform Terraform provider
  • Initialize, plan and apply a Terraform configuration to deploy GCP infrastructure
  • Become familiar with HashiCorp Configuration Language (HCL) syntax and Terraform configuration files
  • Use Terraform to destroy your GCP insfrastructure

Intended Audience

  • Individuals looking to pass the HashiCorp Certified: Terraform Associate Exam
  • Individuals and teams seeking an introduction to using Terraform with Google Cloud Platform


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

  • Basic concepts of Google Cloud Platform


June 9th, 2023 - Updated instance image

April 27th, 2023 - Updated theia to enable autosave

Environment before

Environment after

About the author

Jun Fritz, opens in a new tab
Cloud Labs Developer
Learning paths

Jun is a Cloud Labs Developer with previous experience as a Software Engineer and Cloud Developer. He holds the AWS Certified Solutions Architect and DevOps Engineer Professional certifications. He also holds the AWS Certified Solutions Architect, Developer, and SysOps Administrator Associate certifications. 

Jun is focused on giving back to the growing cloud community by sharing his knowledge and experience with students and creating engaging content. 

Covered topics

Lab steps

Activating the Google Cloud Platform Service Account
Creating and Deploying a Google Cloud Platform Terraform Configuration