Creating Loops in Terraform and Scaling Resources in Azure

Lab Steps

Creating Loops in the Terraform Configuration and Scaling Resources in Azure

The hands-on lab is part of this learning path

Ready for the real environment experience?

Time Limit40m


Using loops in Terraform can be very powerful. It can take messy spaghetti code and turn it into something clean, simple, and easily understandable. It can make infrastructure scalable and efficient with just a few lines of code. The HCL language is both human-readable and machine-friendly, where components and lists can be iterated to create looping logic. Loops are commonly used in the Terraform community to make modules dynamic. For example, a Virtual Machine module can use loops to deploy multiple disks if needed or contain multiple IP addresses.

In this lab, you will create a NSG Module that contains loops using several methods in Terraform.

Learning Objectives

Upon completion of this lab you will be able to:

  • Understand how Terraform code can be made dynamic for reusability using loops
  • Learn about count and for_each loops

Intended Audience

This lab is intended for:

  • Individuals studying to take the HashiCorp Certified: Terraform Associate exam
  • Anyone interested in learning how to use Terraform to manage Cloud Service Providers


You should be familiar with:

  • Cloud Services
  • DevOps
  • Basic understanding of Terraform modules and variables

The following course and lab can be used to fulfill the prerequisites:

Environment before
Environment after
About the Author
Learning paths5

Luke is a Site Reliability Engineer at Microsoft. His background is infrastructure development using Terraform and in 2021 he was awarded the HashiCorp Ambassador award. He is an Azure DevOps Engineer Expert, Azure Administrator Associate, and HashiCorp Certified - Terraform Associate.