Back to all tools
AWS CloudFormation logo

AWS CloudFormation

Model and provision your entire AWS infrastructure with JSON or YAML templates.

Free
Infrastructure as Code Cloud Platform
Share:XLinkedInWhatsApp

Overview

AWS CloudFormation provides a common language for describing and provisioning AWS infrastructure.

Key Features

  • Declarative JSON or YAML templates for all AWS resources
  • Stack sets for deploying across multiple AWS accounts and regions
  • Change sets to preview infrastructure changes before applying
  • Drift detection to identify manual changes to managed resources
  • Nested stacks for modular template composition
  • AWS CDK compiles higher-level code into CloudFormation templates

Real-World Workflows

Provision a multi-tier web application stack

  1. 1Write a CloudFormation template defining VPC, EC2 auto scaling group, RDS, and ALB
  2. 2Run aws cloudformation deploy to create or update the stack
  3. 3Use a change set to preview the impact before applying to production
  4. 4Store the template in Git and deploy via a CodePipeline for GitOps-style management
  5. 5Enable stack termination protection on production stacks

Multi-account baseline with StackSets

  1. 1Define baseline resources: IAM roles, CloudTrail, Config rules, and GuardDuty
  2. 2Create a StackSet targeting all accounts in an AWS Organization OU
  3. 3New accounts automatically receive the baseline on joining the OU
  4. 4Update the StackSet template to roll out changes to all accounts in one operation

Getting Started

aws cloudformation deploy \
  --template-file template.yaml \
  --stack-name my-stack \
  --capabilities CAPABILITY_IAM

Compare Alternatives

See how AWS CloudFormation stacks up against similar tools.