Description
In this course, you will :
- Learn everything there is to know about Infrastructure as Code.
- Gain experience with the HCL format.
- Get hands-on experience with Terraform.
- Learn how to use Terraform to provision AWS infrastructure.
Syllabus :
1. Introduction to Infrastructure as Code
- Challenges with Traditional IT Infrastructure
- Types of IAC Tools
- Why Terraform?
2. Getting Started with Terraform
- Installing Terraform
- HashiCorp Configuraton Language (HCL) Basics
- Update and Destroy Infrastructure
- Lab Intro
- Accessing the Labs
3. Terraform Basics
- Using Terraform Providers
- Configuration Directory
- Multiple Providers
- Using Input Variables
- Understanding the Variable Block
- Using Variables in Terraform
- Lab: Using Variables in terraform
- Resource Attributes
- Resource Dependencies
- Output Variables
4. Terraform State
- Introduction to Terraform State
- Purpose of State
- Terraform State Considerations
5. Working with Terraform
- Terraform Commands
- Mutable vs Immutable Infrastructure
- LifeCycle Rules
- Datasources
- Meta-Arguments
- Count
- for-each
- Version Constraints
6. Terraform with AWS
- Getting Started with AWS
- Introduction to IAM
- Programmatic Access
- AWS IAM with Terraform
- IAM Policies with Terraform
- Introduction to AWS S3
- S3 with Terraform
- Introduction to DynamoDB
- Demo Dynamodb
- DynamoDB with Terraform
7. Remote State
- What is Remote State and State Locking?
- Remote Backends with S3
- Terraform State Commands
8. Terraform Provisioners
- Introduction to AWS EC2 (optional)
- AWS EC2 with Terraform
- Terraform Provisioners
- Provisioner Behaviour
- Considerations with Provisioners
9. Terraform Import, Tainting Resources and Deubugging
- Terraform Taint
- Debugging
- Terraform Import
10. Terraform Modules
- What are modules?
- Creating and Using a Module
- Using Modules from the Registry
11. Terraform Functions and Conditional Expressions
- More Terraform Functions
- Conditional Expressions
- Terraform Workspaces (OSS)