Search
Lessons (21)
- Your First Terraform Project
Install Terraform and create, change, inspect, and destroy a local file without using a cloud account. Prepare your …
- Terraform: Start Here
… Avoid a large pile of shell provisioners inside Terraform. An application team might use Terraform to provision an …
- CI/CD and Reviewed Production Changes
… Further reading: [Terraform in automation](https://developer.hashicorp.com/terraform/tutorials/automation/automate-terraform), [HCP Terraform](https://developer …
- Testing, Preconditions, and Policy Checks
Use validation, lifecycle conditions, Terraform tests, and policy checks to catch different classes of errors. Different checks answer …
- Providers and Your First AWS Resources
… Separate resources manage public access, versioning, and encryption settings. bash terraform init terraform fmt terraform validate terraform plan …
- HCL, Resource Addresses, and Project Layout
Read Terraform blocks, expressions, references, and version constraints, and organize a root module clearly. Read a block Terraform …
- Variables, Locals, Outputs, and Validation
… Further reading: [Input variables](https://developer.hashicorp.com/terraform/language/values/variables), [outputs](https://developer.hashicorp.com/terraform …
- Imports, Moved Blocks, and Safe Refactoring
… Further reading: [Import overview](https://developer.hashicorp.com/terraform/language/import), [module refactoring](https://developer.hashicorp.com/terraform …
- State, Remote Backends, and Locking
… State connects the address to the real object and records attributes Terraform needs for future operations. Two independent …
- Secrets, Ephemeral Values, and Least Privilege
… Design runner credential renewal accordingly. Write-only arguments Terraform 1.11 added write-only resource arguments. The provider …
- Environments, Workspaces, and Multiple Accounts
… Run Terraform in the intended environment directory; CI should specify that directory explicitly. Keep root-level differences visible …
- Count, for_each, Functions, and Stable Identities
… 0 filename = "${path.module}/README-generated.txt" content = "Generated by Terraform.\n" } When present, the address is local …
- Dependencies, Data Sources, and Resource Lifecycle
… It is not a substitute for IAM, backups, or review. create before destroy asks Terraform to create a …
- Drift, Troubleshooting, and Disaster Recovery
… Decide whether the change was intentional. bash terraform plan -refresh-only -out=observed.tfplan terraform apply observed.tfplan …
- Reusable Modules and Clear Interfaces
… Further reading: [Module development](https://developer.hashicorp.com/terraform/language/modules/develop).
- Safe AWS Deployments with IaC and CI/CD
… Continue with the [Terraform learning path](/learn/terraform) for a detailed plan/apply workflow. Further reading: [CloudFormation change …
- Multi-Account Strategy, Governance and Security Operations
… Customize with Account Factory for Terraform or CloudFormation StackSets so every account gets the same baseline. Access across …
- Resilience, Disaster Recovery and Multi-Region Design
… everything as code (CloudFormation, CDK, Terraform) and container images replicated with ECR cross-region replication ; AMIs copied to …
- Containers at Scale: ECS Deep Dive and EKS
… Argo CD or Flux) and infrastructure as code (Terraform, CDK, eksctl) for repeatable clusters. - Observe with Container Insights …
- Practical Project: Deploy a Real CRM App on EKS
… get nodes one node should be Ready Prefer Terraform or CloudFormation once the shape is stable; eksctl is …
- Practical Lab: S3 File Upload and CloudFront Delivery with NestJS
… cross-region replication - [ ] Manage all of this with Terraform or CloudFormation so it can be recreated 14. Clean …