Terraform TOC

Course Duration
● 40+ Hours (5 full days) Approx. Drop mail at : support@openwriteup.com

github link: https://github.com/amitopenwriteup/terraform

Training Topics
IaC introduction
• What is Infrastructure as Code
• Advantages of IaC
Installation
• Installing
o Terraform
▪ on windows
▪ linux
o VS Code
o aws cli
▪ aws configure
o VPC support confirmation
Terraform
• What is Terraform
• Advantages of Terraform
• Installing Terraform
• Core Terraform Workflow
o Write/Init
o Plan
o Apply
Destroy
• Terraform Plugins architecture
Infrastructure provisioning with Terraform
• Creating an EC2 instance
• Understanding Resources & Providers
• Destroying Infrastructure with Terraform
Understanding the details
• Understanding Terraform State files
• Understanding Desired & Current States
• Challenges with the current state on computed values
• Terraform Provider Versioning
Configuring the environment
• Attributes
• Output Values
• Terraform Variables
• Data Types for Variables
• Fetching Data from Maps and List in Variable
• Count and Count Index
• Conditional Expressions
• Local Values
• Terraform Functions
• Data Sources
• Debugging in Terraform
• Terraform Format
• Validating Terraform Configuration Files
• Load Order & Semantics
• Dynamic Blocks
• Tainting Resources
• Splat Expressions
• Terraform Graph
• Saving Terraform Plan to File
• Terraform Output
• Terraform Settings
• Large Infrastructure
• Comments in Terraform
• Challenges with Count Meta-Argument
• Data Type – SET
• for_each in Terraform
Terraform Provisioners
• Terraform Provisioners
• Understanding Provisioners in Terraform
• Types of Provisioners
• Implementing remote-exec provisioners
• Implementing local-exec provisioners
• Creation-Time & Destroy-Time Provisioners
• Failure Behavior for Provisioners
• Null Resource
Terraform Modules and Workspaces
• Understanding DRY principle
• Implementing EC2 module with Terraform
• Variables and Terraform Modules
• Using Locals with Modules
• Referencing Module Outputs
• Terraform Registry
• Requirement for Publishing Modules in Terraform Registry
• Terraform Workspace
• Implementing Terraform Workspace
Remote State Management
• Integrating with GIT for team management
• Security Challenges in Committing TFState to GIT
• Module Sources in Terraform
• Terraform and .gitignore
• Terraform Backends
• Implementing S3 Backend
• State File locking
• Integrating DynamoDB with S3 for state locking
• Terraform State Management
• Cross- Project Collaboration using Remote State
• Implementing Remote States Connections
• Importing Existing Resources with Terraform Import
Security
• Handling Access & Secret Keys the Right Way in Providers
• Terraform Provider UseCase – Resources in Multiple Regions
• Handling Multiple AWS Profiles with Terraform Providers
• Terraform & Assume Role with AWS STS
• Sensitive Parameter
• Note – HashiCorp Vault
• Overview of HashiCorp Vault
• Terraform and Vault Integration