Terraform 1.0 - Provisioning AWS Infrastructure
1h 41m

Terraform is an open source "Infrastructure as Code" tool, used by DevOps and SysOps engineers to codify their cloud infrastructure requirements.

In this course you'll learn about Terraform from the ground up, and how it can be used to codify infrastructure. Terraform can be used to provision infrastructure across multiple cloud providers including AWS which this course will focus on.

resource "aws_instance" " cloudacademy " {
ami =
instance_type = var.instance_type
key_name = var.key_name 
subnet_id =
security_groups = []
user_data =<<EOFF
read -r -d '' META <<- EOF
CloudAcademy ♥ Terraform!
For any feedback, queries, or suggestions relating to this course
please contact us at:
echo "$META"

tags = {
Org = "CloudAcademy"
Course = "Terraform 1.0"
Author = "Jeremy Cook"

Learning Objectives

  • Learn about Terraform and how to use it to provision AWS infrastructure
  • Learn how to build and create Terraform configurations and modules
    Learn how to use the Terraform CLI to launch and manage infrastructure on AWS

Intended Audience

  • Anyone interested in learning about Terraform, and the benefits of using it to codify infrastructure
  • Anyone interested in building and launching AWS infrastructure using Terraform
  • Anyone interested in deploying cloud native applications on AWS


Prerequisites which would be considered useful for this course are:

  • Knowledge of the AWS cloud platform and the various services within it – particularly VPC, EC2, and IAM
  • Basic System administration experience
  • Basic Infrastructure and Networking Knowledge
  • Basic SysOps and/or DevOps Knowledge


All Terraform configuration as used within the provided demonstrations is located in GitHub here:


Hello, and welcome to the Terraform Provisioning AWS Infrastructure course presented to you by Cloud Academy. In this lesson, I'll cover off the course agenda, intended audience, learning objectives, and course prerequisites. I'm really excited to be taking you through this course.

Terraform has taken the infrastructure in DevOps community by storm. In this cloud-first era, Terraform has revolutionized the way we perform infrastructure provisioning. By way of a quick introduction, I'm Jeremy Cook, a Content Lead Architect here at Cloud Academy. My background is in Software Engineering and DevOps, and in more recent times, Kubernetes and containers.

So, who should be taking this course? Well, this course is suitable for anyone who has an interest in learning Terraform. Taking this course, you'll learn how Terraform can be used to launch and provision AWS infrastructure. This course will take you through the Terraform fundamentals, making sure that you understand the basics.

During the course, you'll also get to observe several hands-on demonstrations, where I'll show you exactly how to codify your AWS infrastructure. I'll also demonstrate a complete into in deployment of a cloud native application into AWS using Terraform.

The learning objectives for this Terraform course are: learn about Terraform and how it can be used to provision AWS infrastructure, learn how to build and create Terraform configurations and modules, and learn how to use the Terraform CLI to launch and manage infrastructure on AWS.

The prerequisites, which I consider are useful for this course, are: knowledge of the AWS Cloud Platform and its various services, particularly the VPC, EC2 and IRON services, basic system administration experience, basic infrastructure and networking knowledge, and basic SysOps and/or DevOps knowledge.

In terms of feedback, any and all feedback that you may have is welcomed. If you have any unanswered questions about this course or would like to see and hear of other related Terraform features, then please reach out.

About the Author
Learning Paths

Jeremy is a Content Lead Architect and DevOps SME here at Cloud Academy where he specializes in developing DevOps technical training documentation.

He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 25+ years. In recent times, Jeremy has been focused on DevOps, Cloud (AWS, Azure, GCP), Security, Kubernetes, and Machine Learning.

Jeremy holds professional certifications for AWS, Azure, GCP, Terraform, Kubernetes (CKA, CKAD, CKS).