This course provides an introduction to using Terraform for Google Cloud. It enables learners to describe how Terraform can be used to implement infrastructure as 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 and managing Google Cloud resources using Terraform.
Skills Gained
- 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.
Who Can Benefit
DevOps engineers, Cloud architects, and Cloud engineers
Individuals who want to start using Terraform to automate infrastructure provisioning with a focus on Google Cloud Platform
Prerequisites
- Completed Google Cloud Fundamentals: Core Infrastructure.
- Have basic programming skills and familiarity with using Command Line Interfaces (CLI).
- Have general familiarity with Google Cloud.
Course Outline
Course Introduction
- This section welcomes learners to the Google Cloud Fundamentals: Core Infrastructure course and provides an overview of the course structure and goals.
Introduction to Terraform for Google Cloud
- This is an introductory module that covers the business need for Terraform. We’ll start with the basics by providing an overview of infrastructure as code (IaC), which is the basic concept for Terraform. We will explore how Terraform can be used as an IaC tool on Google Cloud and also cover its features and benefits. We’ll then look at how Terraform transforms lines of code into real infrastructure on Google Cloud.
Terms and Concepts
- In this module, we introduce you to HashiCorp Language and discuss the terms and concepts involved in authoring a Terraform configuration. We also explore some of the important Terraform commands involved in managing the terraform configuration. Upon completion of this module, you will be able to interpret what each code block means, create basic configuration files within Terraform and be able to explain the purpose of a few few important terraform commands and we will also explore what a Validator tool is.
Writing Infrastructure Code for Google Cloud
- In this module, you will explore more about resources, variables, and output resources. We will begin by exploring how to create infrastructure components using resources and then explore how Terraform handles dependencies within resources. While we have been covering resource creation by using hard-code resource arguments, we will explore how you can parameterize a given configuration using variables. We will explore the syntax to declare, define and use them within your configuration. We will then discuss how you can export resource attributes outside the resource declaration using output values. We will then wrap up the module by discovering how you can simplify code authoring using Terraform registry, and Cloud Foundation Toolkit.
Organizing and Reusing Configuration with Terraform Modules
- You will explore what modules are, how to use them from a public registry, how to use modules to reuse configurations, and parameterize configurations using input variables. You will also explore how to use output values to access resource attributes outside of the module.
Introduction to Terraform State
- The module starts with an introduction to Terraform state. You’ll then learn about the different ways to store Terraform state. Later in the module you’ll explore the benefits of storing the state file in a remote location. While there are many remote locations in which you can store the state file, this module describes how to store it in a Google Cloud Storage Bucket. You’ll wrap up the module by learning best practices for working with state files.