• ROI Training

Hands-On Terraform for AWS

Contact us to book this course
Curriculum icon
Curriculum

Cloud Computing

Delivery methods icon
Delivery methods

On-Site, Virtual

Duration icon
Duration

2 days

Infrastructure as Code (IaC) is the process of creating and deploying computing infrastructure, including applications and databases, using scripts and configuration files. Terraform is a powerful IaC tool that enables automated provisioning of AWS services.

This course teaches everything you need to get started with Terraform on AWS—from understanding HashiCorp Configuration Language (HCL) to advanced deployment techniques. The course includes examples, demos, and hands-on labs using AWS services such as VPC, EC2, S3, RDS, and EKS.

Learning Objectives

  • Automate the creation, management, and destruction of AWS infrastructure using Terraform
  • Create Infrastructure as Code with HashiCorp Configuration Language (HCL)
  • Provision AWS resources such as EC2, S3, RDS, IAM, and networking components
  • Build complex, reusable deployments using Terraform modules
  • Deploy and manage containerized applications on Amazon EKS with Terraform
  • Simplify team collaboration using Terraform Cloud

Who Should Attend

Engineers, developers, architects, and anyone else who would like to use Terraform to automate AWS infrastructure provisioning and application deployment.


Prerequisites

An understanding of cloud computing and prior experience creating AWS resources is recommended.


Hands-On Activities

This class includes hands-on labs focused entirely on AWS. The course concludes with an unguided workshop where students apply what they’ve learned to design and deploy AWS infrastructure and applications using Terraform.

Course outline

  • Terraform Overview
    • Infrastructure as Code on AWS
    • IaC Tools Overview
    • Why Terraform for AWS
  • Installation
    • Terraform Binary
    • System Prerequisites
    • AWS CLI Setup and Configuration
  • Terraform Cloud
  • Exercise: Installing Terraform and Configuring AWS CLI
  • Providers
    • Overview of Providers
    • Authentication with AWS
    • AWS Provider Deep Dive
  • Folder Structure
    • .tf Files
    • Resources
    • Variables
    • .tfvars Files
    • Outputs
  • Workflow
    • Init
    • Plan
    • Apply
    • Show
    • Change
    • Destroy
    • Running External Scripts
  • Managing State
    • .tfstate Files
    • Managing Drift
  • Exercise: Getting Started with Terraform on AWS
  • Basic Syntax
    • Modules and Blocks
    • Declaring Variables
    • Data Types (Primitive, Collection, Complex)
    • Data Blocks
    • Locals
    • Resource Dependencies
    • Output Variables
  • Creating Multiple Resources
    • Count, For-Each, Dynamic Blocks
  • Built-in Functions
    • String, Numeric, Date and Time, Collection
  • Reverse Engineering Templates
    • Importing Existing AWS Resources
  • Exercise: Writing HCL for AWS Resources
  • Networking
    • AWS VPCs, Subnets, Route Tables, and Gateways
  • Compute
    • EC2 Instances and Auto Scaling Groups
  • Storage
    • Amazon S3 Buckets and Lifecycle Rules
  • Databases
    • Amazon RDS (MySQL/PostgreSQL Engines)
  • IAM
    • Roles, Policies, and Permissions
  • Exercise: Building AWS Infrastructure with Terraform
  • AWS Architecture Best Practices
    • Regions and Availability Zones
    • High Availability and Resilience Patterns
  • Networking and Security
    • Security Groups
    • Network ACLs
    • Firewalls
  • Load Balancing and Scaling
    • Elastic Load Balancer (ALB/NLB)
    • Auto Scaling Groups
  • Exercise: Deploying a Scalable, Fault-Tolerant Application on AWS
  • Terraform Modules in AWS
    • Input, Resources, and Output
  • Building Modular Deployments
    • Folder Hierarchy
    • Using AWS Modules from Terraform Registry
    • Passing Parameters and Managing Dependencies
  • Exercise: Modularizing a Complex AWS Deployment
  • Kubernetes Basics
    • Clusters, Deployments, and Services
  • Amazon EKS Overview
    • Creating EKS Clusters with Terraform
    • Node Groups and IAM Roles for EKS
  • Terraform Kubernetes Provider
    • Translating Kubernetes YAML to HCL
    • Deploying Applications to EKS with Terraform
  • Exercise: Deploying to Amazon EKS with Terraform
  • Using Terraform Cloud with AWS
    • Features and Benefits
    • Creating an Account and Organization
    • Managing Workspaces for AWS Projects
  • Exercise: Managing AWS Deployments with Terraform Cloud

Ready to accelerate your team's innovation?