[AWS Cloud Fundamental Notes] CloudFormation
Introduction to CloudFormation and its usage and operational mechanism
CloudFormation is AWS’s native Infrastructure as Code (IaC) service, which treats infrastructure as code, allowing you to model, provision, and manage AWS and third-party resources.
CloudFormation Designer
The AWS CloudFormation Designer is a graphical tool used to create, view, and modify AWS CloudFormation templates.
Terminology
Template
Declares the AWS resources to be used, using JSON or YAML format.
Components
- Resources: AWS resources to be created
- Parameters: Parameters required when using this template
- Mappings: Predefined settings such as region IDs
- Outputs: Output values generated after the stack is created
Stack
Expresses a series of AWS resources in the template. There can be multiple stacks in one template.
Services can be included in the same stack, such as web servers and databases.
Deleting a stack can delete related resources at once.
Change Set
Preview the impact of stack changes on running resources.
Properties
DependsOn
Used when resources have dependencies, to create/delete them in order.
For example, enabling EC2 services after RDS is enabled. When shutting down, EC2 is shut down before RDS.
WaitCondition
Prevents the creation of subsequent resources until software is installed.
For example, waiting for server software to be installed before enabling ELB service.