INF 100 Fundamentals of Terraform
How to automate your app deployment with Terraform, Terragrunt and Vault
THIS COURSE INCLUDES HANDS-ON LABS
By the end of this course, you'll have a solid understanding of how the Terraform infrastructure-as-code templating engine works, as well as hands-on experience using Terragrunt, Vault, and AWS RT53 to more securely deploy your system. This training is designed to give you practical experience while guiding you through powerful concepts using easy-to-understand examples.
PREREQUISITES
TARGET AUDIENCE
Introduction
Intro, Overview and Goals
Course Files - Labs and Slide Deck
Unit 1.1 What is Terraform/IAC
Unit 1.2 Terraform in Action
Lab 1a 💻 Terraform on AWS (Demo)
Lab 1b 💻 Plan, Apply, Destroy
Lab 1a Webserver Source Code
Lab 1b - EC2 Instance Source Code
Unit 1 Quiz
Install Windows Subsystem for Linux (WSL) and Terraform on Windows
2.1 Benefits of Using IaC
2.2 Terraform Project Directory Structure and Providers
2.3 Terraform Variables/Inputs
2.4 Terraform Built-in Functions
2.5 Maps and Resource Lookups
2.6 Review of Init, Plan, Apply and Destroy
Lab 2a 💻 Providers and Resources
Lab 2 b 💻 Variables, Inputs, and Resource Lookups
Unit 2 Quiz
3.1 Using and Reusing Modules
3.2 Using Modules - The Code
3.3 Share Information Between Resources
LAB 3a 💻 Find and Deploy a Module from the Terraform Registry
LAB 3b 💻 Deploying Multiple Resources of the Same Type
LAB 3c 💻 Share Resources/Information Between Modules
Unit 3 Quiz
4.1 Terraform State
Unit 4.2 Remote State Storage
LAB 4a 💻 Local, State, File, and Remote Resources
LAB 4b 💻 Store State Remotely
Unit 4 Quiz
5.1
LAB 5a 💻 - Sample App Incorporating Everything We've Learned
LAB 5b 💻 - Updating a Sample App Incorporating Everything We've Learned
Unit 5 Quiz