AWS CloudFormation is a service that helps you model and set up your AWS resources so that you can spend less time managing those resources and more time focusing on your applications that run in AWS.
You create a template that describes all the AWS resources that you want (like Amazon EC2 instances or Amazon RDS DB instances), and CloudFormation takes care of provisioning and configuring those resources for you.
By using CloudFormation, you easily manage a collection of resources as a single unit.
AWS CloudFormation concepts
When you use AWS CloudFormation, you work with templates and stacks.
A CloudFormation template is a JSON or YAML formatted text file, CloudFormation uses these templates as blueprints for building your AWS resources
When you use CloudFormation, you manage related resources as a single unit called a stack.
You create, update, and delete a collection of resources by creating, updating, and deleting stacks.
All the resources in a stack are defined by the stack's CloudFormation template.
Change sets
If you need to make changes to the running resources in a stack, you update the stack.
Before making changes to your resources, you can generate a change set, which is a summary of your proposed changes.
Change sets allow you to see how your changes might impact your running resources, especially for critical resources, before implementing them.
How does AWS CloudFormation work
When creating a stack, AWS CloudFormation makes underlying service calls to AWS to provision and configure your resources.
CloudFormation can only perform actions that you have permission to do
AWS CloudFormation is a service that helps you model and set up your AWS resources so that you can spend less time managing those resources and more time focusing on your applications that run in AWS.