CloudAcademy

Provisioning an Azure VM with Terraform Modules

The hands-on lab is part of this learning path

Solving Infrastructure Challenges with Terraform

course-steps 1 certification 1 lab-steps 5

Lab Steps

keyboard_tab
lock
Logging into the Microsoft Azure Portal
lock
Starting an Azure Cloud Shell
lock
Initializing Terraform with the Azure Provider
lock
Setting Up a Data Source to Reference the Lab Resource Group
lock
Using a VNet Module from the Terraform Registry
lock
Using a Security Module from the Terraform Registry
lock
Creating a Local Module for Provisioning Azure VMs
lock
Provisioning an Azure VM with the Local Terraform Module

Ready for the real environment experience?

DifficultyAdvanced
Duration1h
Students107

Description

Lab Overview

Terraform by HashiCorp can manage your infrastructure across multiple cloud providers and on-prem. To reuse and share components across projects and to better organize large projects, you can create modules. In this Lab, you will use modules shared on the public Terraform Registry as well as a module that you create to provision a web server virtual machine in Azure. The Lab will also introduce you to Azure's browser-based Cloud Shell, which you will use to complete the Lab.

Lab Objectives

Upon completion of this Lab you will be able to:

  • Create reusable Terraform modules
  • Use Terraform modules shared on the Terraform Registry
  • Work with Terraform Data Sources
  • Use Terraform Provisioners to bootstrap VMs
  • Learn how to use Azure Cloud Shell

Lab Prerequisites

You should be familiar with:

  • Working at the command-line in Linux
  • Terraform basics

The following Labs can be used to fulfill the prerequisites to this Lab:

Lab Environment

Before completing the Lab instructions, the environment will look as follows:

After completing the Lab instructions, the environment should look similar to:

Updates

September 7, 2018 - Updated images to improve lab experience

About the Author

Students8573
Labs64
Courses6
Learning paths3

Logan has been involved in software development and research for over eleven years, including six years in the cloud. He is an AWS Certified DevOps Engineer - Professional, MCSE: Cloud Platform and Infrastructure, Google Cloud Certified Associate Cloud Engineer, and Certified Kubernetes Administrator (CKA). He earned his Ph.D. studying design automation and enjoys all things tech.

Covered Topics