1. Home
  2. Training Library
  3. Amazon Web Services
  4. Amazon Web Services Courses
  5. Terraform 1.0 - Provisioning AWS Infrastructure

Visual Studio Code

Start course
Overview
Difficulty
Intermediate
Duration
1h 41m
Students
5367
Ratings
4.3/5
starstarstarstarstar-half
Description

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 = data.aws_ami.ubuntu.id
instance_type = var.instance_type
key_name = var.key_name 
subnet_id = aws_subnet.private.id
security_groups = [aws_security_group.webserver.id]
 
user_data =<<EOFF
#!/bin/bash
read -r -d '' META <<- EOF
CloudAcademy ♥ Terraform!
For any feedback, queries, or suggestions relating to this course
please contact us at:
Support: support@cloudacademy.com
LinkedIn: https://www.linkedin.com/in/jeremycook123
EOF
echo "$META"
EOFF

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

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

Resources

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

Transcript

Welcome back. In this lesson, I'll review the development tooling setup as will be used later on in the provided Terraform demonstrations. When creating your own infrastructure as code templates, it pays to use a productive editor, which for the purposes of this course will be Visual Studio Code.

Visual Studio Code is a freely available, open source IDA, which can be installed and run on most desktop workstation operating systems. It provides a lot of extremely useful editing features such as intellisense, which can guide you through the process of creating your Terraform code.

After installing Visual Studio Code on your workstation, it's highly recommended to install HashiCorp's own Terraform extension. This extension compliments existing editing features by making available Terraform syntax highlighting.

Additionally, another useful extension which helps to boost Terraform configuration development productivity is the Terraform doc snippets extension. This extension can be used to call up numerous snippets of Terraform code for all of the most popular AWS resource types. In fact, this extension can be used to call up snippets of code for other cloud infrastructure providers, such as Azure and GCP, making it more than useful for multi-cloud infrastructure projects.

About the Author
Students
113375
Labs
65
Courses
113
Learning Paths
152

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, GCP, Azure), Security, Kubernetes, and Machine Learning.

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