Terraform Basics - Managing Infrastructure as Code
Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Terraform Basics - Managing Infrastructure as Code
This course is part of Terraform Masterclass: From Beginner to Advanced Specialization
2,223 already enrolled
Included with
Ask Coursera
Recommended experience
Recommended experience
What you'll learn
Master the fundamentals of Infrastructure as Code (IaC) with Terraform.
Set up and configure AWS and Terraform for infrastructure automation.
Write and manage Terraform configurations using HashiCorp Configuration Language (HCL).
Understand and apply Terraform’s core components like state management and providers.
Skills you'll gain
Details to know
See how employees at top companies are mastering in-demand skills
Build your subject-matter expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate
There are 7 modules in this course
Updated in May 2025.
This course now features Coursera Coach — your interactive learning companion that helps you test your knowledge, challenge assumptions, and deepen your understanding as you progress. Build a strong foundation in Infrastructure as Code (IaC) with this hands-on introduction to managing cloud environments using Terraform. Designed for beginners, this course guides you step by step through automating infrastructure provisioning, writing configurations in HashiCorp Configuration Language (HCL), and deploying real resources on AWS. You’ll begin by setting up your environment, configuring AWS with multi-factor authentication, installing Terraform, and preparing Visual Studio Code for an efficient workflow. Once your tools are ready, you’ll explore Terraform’s core concepts, including providers, resources, variables, and state management — the building blocks of reliable and repeatable cloud automation. As you progress, you’ll apply your skills to practical AWS projects, creating EC2 instances, provisioning S3 buckets, and managing configurations through the Terraform CLI. Each module blends explanation with hands-on tasks so you gain not just theoretical understanding, but real experience building cloud infrastructure the professional way. By the end of this course, you will have: - Automated cloud provisioning using Terraform and AWS. - Written clean, reusable configurations using HCL. - Managed Terraform state effectively for safe, collaborative workflows. - Gained practical experience using AWS CLI and Terraform CLI. - Developed the confidence to support IaC projects in real environments. This course is ideal for beginners who want to learn cloud automation. No Terraform experience is required, but basic cloud knowledge is helpful. Whether you’re pursuing a DevOps path or strengthening your cloud fundamentals, this course gives you the skills to get started with Infrastructure as Code.
In this module, we will introduce the course's structure and objectives, ensuring a clear understanding of what to expect. We will guide you through how to navigate the course materials, enabling you to make the most out of the learning experience. This section sets the foundation for your journey into mastering Terraform.
What's included
2 videos2 readings
2 videos•Total 6 minutes
- Introduction to the Specialization•2 minutes
- Navigating Through the Course•4 minutes
2 readings•Total 20 minutes
- Introduction to the Course 'Terraform Basics - Managing Infrastructure as Code'•10 minutes
- Full Specialization Resources•10 minutes
In this module, we will walk through the essential steps to prepare your environment for Terraform development. This includes setting up your AWS account, enabling multi-factor authentication, and installing Terraform and the AWS CLI. We will also configure your IDE, specifically Visual Studio Code, and show how to set up WSL for Windows users to optimize your Terraform workflow.
What's included
9 videos1 assignment
9 videos•Total 31 minutes
- AWS Account Setup - How to Create an Account•5 minutes
- AWS Account Setup - Enabling MFA for the Root User•2 minutes
- AWS Account Setup - Creating an Admin User•7 minutes
- For Windows Users - Installing Windows Subsystem for Linux•4 minutes
- For Windows Users - Key Features of Windows Subsystem for Linux•6 minutes
- Terraform Installation - Getting Terraform Set Up•2 minutes
- Terraform Installation - Installing AWS CLI•1 minute
- Terraform Installation - Logging Into AWS•3 minutes
- IDE Setup - Helpful VS Code Extensions•1 minute
1 assignment•Total 15 minutes
- Setting Up Your Environment and Tools - Assessment•15 minutes
In this module, we will dive into the principles of Infrastructure as Code and its relevance in the modern IT landscape. We will demonstrate how Terraform simplifies infrastructure management, helping you automate processes. You will also explore the core components of Terraform, including providers and state, and practice deploying infrastructure using both manual and automated methods.
What's included
11 videos1 assignment
11 videos•Total 55 minutes
- Defining Infrastructure as Code (IaC)•5 minutes
- Advantages of Using Infrastructure as Code•9 minutes
- Hands-On: Setting Up Infrastructure Manually in AWS - Overview•0 minutes
- Hands-On: Setting Up Infrastructure Manually in AWS•9 minutes
- Hands-On: Setting Up Infrastructure with Terraform - Overview•1 minute
- Hands-On: Setting Up Infrastructure with Terraform•8 minutes
- Why Choose Terraform?•3 minutes
- The Structure of Terraform•6 minutes
- Phases of Infrastructure Provisioning•5 minutes
- Hands-On: Understanding Terraform's Phases - Overview•0 minutes
- Hands-On: Understanding Terraform's Phases•9 minutes
1 assignment•Total 15 minutes
- Understanding Infrastructure as Code (IaC) and Terraform - Assessment•15 minutes
In this module, we will explore the core components of Terraform, focusing on HCL syntax and organization of configuration files. You will learn how to use essential Terraform CLI commands and gain hands-on experience with remote backends and providers. This section will help you build a strong foundation for working with Terraform’s powerful infrastructure-as-code capabilities.
What's included
17 videos1 assignment
17 videos•Total 82 minutes
- Hands-On: Overview of the HashiCorp Configuration Language (HCL)•1 minute
- Understanding HashiCorp Configuration Language (HCL)•11 minutes
- Configuring Terraform•5 minutes
- Hands-On: Introduction to Our First Terraform Project - Overview•0 minutes
- Hands-On: Creating Resources in Our First Terraform Project•5 minutes
- Hands-On: Overview of the Terraform CLI•0 minutes
- Hands-On: Exploring Key Commands in the Terraform CLI•12 minutes
- Understanding Terraform State•5 minutes
- [Demo] Reviewing the State of Our Project•6 minutes
- Working with Backends in Terraform•5 minutes
- Hands-On: Setting Up a Remote Backend in S3 - Overview•0 minutes
- Hands-On: Configuring a Remote S3 Backend•10 minutes
- Hands-On: Partial Backend Setup - Overview•0 minutes
- Hands-On: Partial Backend Setup•8 minutes
- Terraform Providers Explained•2 minutes
- Hands-On: Overview of Working with Providers•1 minute
- Hands-On: Hands-on with Providers•10 minutes
1 assignment•Total 15 minutes
- Terraform's Core Components - Assessment•15 minutes
In this module, we will focus on working with resources in Terraform. You’ll learn how to define and configure essential infrastructure components such as VPCs and EC2 instances. This section also covers how to manage dependencies, use meta-arguments, and secure your infrastructure with security groups. Through hands-on exercises, you’ll apply these concepts to real-world scenarios.
What's included
12 videos1 assignment
12 videos•Total 85 minutes
- Understanding Resources•4 minutes
- Exploring Resource Dependencies•3 minutes
- Using Meta-Arguments•5 minutes
- VPC and EC2 Project - Overview•1 minute
- VPC and EC2 Project - Setting Up the VPC and Subnet•11 minutes
- VPC and EC2 Project - Setting Up the Internet Gateway•8 minutes
- VPC and EC2 Project - Managing Common Tags•7 minutes
- VPC and EC2 Project - Setting Up the EC2 Instance•13 minutes
- VPC and EC2 Project - Understanding and Using Security Groups•5 minutes
- VPC and EC2 Project - Creating a Custom Security Group•9 minutes
- VPC and EC2 Project - Deploying an EC2 Instance with NGINX•11 minutes
- VPC and EC2 Project - Wrapping Up and Cleaning Up Resources•7 minutes
1 assignment•Total 15 minutes
- Working with Resources - Assessment•15 minutes
In this module, we will guide you through the process of deploying a static website using AWS S3 and Terraform. You will set up an S3 bucket, configure it for public access, and enable static website hosting. The project will culminate in automating the file upload process using Terraform, demonstrating the power of IaC in web deployment.
What's included
5 videos1 assignment
5 videos•Total 29 minutes
- Overview of the Project•1 minute
- Setting Up an S3 Bucket•4 minutes
- Turning Off Public Access Block•11 minutes
- Setting Up an S3 Static Website•6 minutes
- Uploading Files to S3 with Terraform•7 minutes
1 assignment•Total 15 minutes
- Project - Deploying an S3 Static Website - Assessment•15 minutes
In this module, we will explore how to use data sources in Terraform to dynamically retrieve information about your infrastructure. You will learn to fetch AMI data, VPC details, and account-specific settings, making your configurations more flexible and adaptable. This section also covers using IAM policies to securely manage permissions.
What's included
10 videos1 reading3 assignments
10 videos•Total 50 minutes
- Understanding Data Sources•3 minutes
- Hands-On: Overview of Fetching AMI Data•1 minute
- Hands-On: Fetching AMI Data•19 minutes
- Hands-On: Overview of Fetching AWS Account Information and Region•0 minutes
- Hands-On: Fetching AWS Account Information and Region•7 minutes
- Hands-On: Overview of Fetching VPC Data•1 minute
- Hands-On: Fetching VPC Data•6 minutes
- [Demo] Retrieving AWS Availability Zones•6 minutes
- Hands-On: Overview of Creating AWS IAM Policies•1 minute
- Hands-On: Creating AWS IAM Policies•6 minutes
1 reading•Total 10 minutes
- Conclusion to the Course 'Terraform Basics - Managing Infrastructure as Code'•10 minutes
3 assignments•Total 90 minutes
- Working with Data Sources - Assessment•15 minutes
- Full Course Assessment•60 minutes
- Full Course Practice Assessment•15 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructor
Explore more from Cloud Computing
- Status: Free Trial
Course
- Status: Free Trial
Why people choose Coursera for their career
Frequently asked questions
Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.
If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. You’ll be able to submit assignments once the session starts.
Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. You’ll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.
More questions
Financial aid available,
