Terraform on AWS Training Course

Overview

Amazon Web Services (AWS) provides infrastructure for building applications in the cloud. Terraform, created by Hashicorp, is a tool for managing that infrastructure. The combination of AWS and Terraform make managing highly complex, production-grade servers and applications practical, efficient, and even enjoyable.

This instructor-led, live training (online or onsite) is aimed at engineers who wish to use Terraform on AWS to plan and build cloud infrastructure.

By the end of this training, participants will be able to:

  • Install and configure Terraform on AWS.
  • Implement an “infrastructure as code” approach to managing AWS cloud environments.
  • Create, launch, and dismantle infrastructure from within a single tool.
  • Write declarative configuration files that can be managed like any other source code in a version control system.
  • Quickly update configuration files for effectively responding to changing compute resource needs.
  • Collaborate with other infrastructure engineers by sharing configuration files in a common code repository.
  • Improve transparency in the infrastructure procurement process.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.

Requirements

  • Experience working with a command line.
  • An understanding of cloud infrastructure concepts.

Audience

  • Cloud architects
  • System administrators
  • DevOps engineers

Course Outline

Introduction

  • How is Terraform different from Chef, Puppet, Ansible and Salt?
  • Why not AWS Management Console?

Overview of Terraform Features and Architecture

  • Infrastructure as Code, execution plans, resource graphs, change automation

Terraform Workflow

  • Write, Preview, Create, Reproduce, Destroy

Getting Started

  • Preparing an AWS account to use with Terraform
  • Initializing Terraform

Preparing an Execution Plan

  • Writing a new plan, saving, and removing .tf files

Working with Configuration Files

  • Syntax overview
  • Writing, version controlling, and updating

Setting Resource Dependencies

  • Using the Terraform Resource Graph
  • Infrastructure vs application dependencies

Deploying Infrastructure

  • Previewing configuration changes
  • Executing changes

Managing State

  • Configuring a backend using AWS S3 and AWS DynamoDB

Reproducing Infrastructure

  • Setting up the environment for an application: dev, test/qa, stage, and prod

Packaging Configuration Files as Modules

  • Duplicating code with shareable modules
  • Using the Module Registry to build reusable templates

Integrating Terraform into a Deployment Pipeline

  • Building, deploying, and testing an application
  • Importing existing external resources into Terraform

Terraform Performance Tuning

  • Infrastructure monitoring and performance metrics

Troubleshooting

Summary and Conclusion

Leave a Reply

Your email address will not be published. Required fields are marked *