Intro
- Infrastructure as Code (IaC) - version control, easy replication
- Supports most AWS services
- Declarative programming
- Free, pay for the underlying resources
- CloudFormation stacks are isolated from each other
- Deleting a stack deletes every single resource or artifact created by that stack.
Templates
- Templates are uploaded and referenced from S3. To update a template, we cannot edit the previous version. We need re-upload a new version of the template and CloudFormation will find out what needs to be modified to reach the desired state.
- Deploying Templates
- Manual - editing templates in the CloudFormation Designer (GUI)
- Automated - editing templates in a YAML file and using CLI to deploy the templates (recommended for automation)
Resources
- Mandatory field
- Resource types are of the form
AWS::aws-product-name::data-type-name
- Template contents are static (no dynamic code generation allowed)
Parameters
- Dynamic input variables in CloudFormation templates. When deploying the template, the user will be asked to enter values for the defined parameters.
- Parameters can be referenced using
!Ref