Getting Started with Terraform for Google Cloud

Course Code: GC-TGC

This course introduces using Terraform for Google Cloud. It enables learners to describe how Terraform can be used to implement infrastructure as a code and to apply some of its key features and functionalities to create and manage Google Cloud infrastructure. Learners will get hands-on practice building Google Cloud resources using Terraform.

  • Duration: 1 Day
  • Level: Introduction
  • Technology: Google Cloud
  • Delivery Method: ILT
  • Training Credits: NA

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 teaches participants the following skills:

- Define the business need for infrastructure as code and the benefits of using it in your environment.

- Explain the features and functionalities of Terraform.

- Use Terraform resources, variables, and output values to create Google Cloud infrastructure resources.

- Use Terraform modules to build reusable configurations.

- Explain Terraform state and its importance.

There is no international certification linked to this course currently.

Download our course content

Click Here

Modules

Topics

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.

Objectives

Upon completion of this module, the student will be able to:

- Define infrastructure as code.

- Explain the features and benefits of using Terraform.

- Explain the use case of Terraform for Google Cloud.

- Describe how to use Terraform for Google Cloud.

- Installing Terraform.

- Authentication for Google Cloud.

Activities

- 1 Quiz.

Topics

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.

Objectives

Upon completion of this module, the student will be able to:

- Explain the Terraform workflow.

- Create basic configuration files within Terraform.

- Explain the purpose of a few Terraform commands.

- Describe the Terraform Validator tool.

- Create, update, and destroy Google Cloud resources using Terraform.

Activities

- 1 Lab.

- 1 Quiz.

Infrastructure Code for Google Cloud

Topics

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

Objectives

Upon completion of this module, the student will be able to:

- Declare the resources within Terraform.

- Explain implicit and explicit resource dependencies.

- Use variables and output values within the root configuration.

- Explain Terraform Registry and Cloud Foundation Toolkit.

Activities

- 1 Lab.

- 1 Quiz.

Topics

Identify the use cases for Spanner.

- 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.

Objectives

Upon completion of this module, the student will be able to:

- Define Terraform modules.

- Use modules to reuse configurations.

- Use modules from the public registry.

- Use input variables to parameterize configurations.

- Use output values to access resource attributes outside the module.

Activities

- 1 Lab.

- 1 Quiz.

Topics

- 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.

Objectives

Upon completion of this module, the student will be able to:

- Define Terraform state.

- List the benefits of storing the state file remotely.

- Explain how to store the Terraform state in a Cloud Storage bucket.

- Explain Terraform state best practices.

Activities

- 1 Lab.

- 1 Quiz.