This course assumes you have a basic familiarity with AWS. Before you begin, ensure you understand core AWS services such as Amazon Simple Storage Service (Amazon S3) and Amazon Elastic Compute Cloud (EC2). Throughout the course we use S3 and EC2 as primary examples and progressively expand to other services and IAM policies.Recommended preparatory resources:
What this course covers (high level)
We’ll move through foundational concepts to intermediate automation features, with hands-on examples and best practices for production-ready templates.-
CloudFormation fundamentals
- Core concepts of AWS CloudFormation and its role in IaC
- Template syntax, structure, and intrinsic functions
- Template validation, linting, and best practices for maintainability
-
Infrastructure as Code with CloudFormation
- Managing AWS resources declaratively using templates
- Practical examples using Amazon S3 and Amazon EC2
- Deploying, updating, and rolling back stacks safely
-
Intermediate features and automation
- Nested stacks, StackSets, and modular template design
- Drift detection, remediation, and change management
- Creating and applying custom IAM policies
- Deployment strategies (change sets, blue/green, canary)
- Integrating CloudFormation with CI/CD pipelines and other tools
Course structure (module summary)
| Module | Focus | Example / Outcome |
|---|---|---|
| Fundamentals | CloudFormation basics, templates, intrinsic functions | Build a template that provisions an S3 bucket |
| Templates & Validation | YAML/JSON structure, parameters, mappings, outputs, linting | Validate templates and enforce style rules |
| IaC Workflows | Deploying stacks, change sets, updates | Deploy EC2 instances via CloudFormation template |
| Advanced Patterns | Nested stacks, StackSets, modularization | Reuse templates across multiple accounts/regions |
| Governance & Security | IAM policies, drift detection, resource policies | Apply least-privilege IAM for CloudFormation roles |
| Automation & CI/CD | Integrations with pipelines, best deployment strategies | Automate stack deployments with a pipeline tool |
Learning outcomes
By the end of the course you will be able to:- Write clear, reusable CloudFormation templates in YAML/JSON.
- Validate and lint templates to reduce deployment errors.
- Manage resource lifecycles using CloudFormation (create, update, delete).
- Use nested stacks and StackSets to scale infrastructure patterns.
- Detect and remediate drift between CloudFormation stacks and live infrastructure.
- Integrate CloudFormation with CI/CD pipelines and apply secure IAM policies.
Working with AWS resources may incur charges. When practicing with CloudFormation stacks, always:
- Use cost controls such as budgeting and cost explorer.
- Clean up resources (delete stacks) after experiments.
- Prefer free-tier services or small instance sizes for hands-on labs.
How we’ll progress (sequence & tips)
- Start with template basics: parameters, resources, outputs.
- Move to validation and linting to catch common issues early.
- Deploy simple stacks (S3, EC2) and learn change sets for safe updates.
- Introduce modularization with nested stacks and StackSets.
- Add governance: IAM roles, policies, and drift detection.
- Finish by wiring templates into CI/CD and demonstrating rollout strategies.
Links and references
- AWS CloudFormation documentation
- Amazon S3 documentation
- Amazon EC2 documentation
- AWS IAM documentation
- Recommended reading: AWS Well-Architected Framework — especially the Operational Excellence and Security pillars