Section 10: AWS CloudFormation Flashcards
Why is manual work (clicking in the consoleโฆ) not very good?
Hard to reproduce
What is CloudFormation?
A declarative way of outlining your AWS
Infrastructure, for any resources
Which resources are supported by AWS CloudFormation?
Most of them
Do you have to specify a creation order for the resources in a CloudFormation template?
No, you write your templates in a declarative way and CloudFormation will take care of creating the resources in the right order
In what file type can you write CloudFormation templates?
JSON or YAML
What does IaC stand for?
Infrastructure as Code
What are the benefits of IaC
No manual work
You get version control just like regular code
You can review your infrastructure easily through code
You get easy deployments
What are the cost of CloudFormation?
No additional cost
You only pay for the underlying resources
How can you estimate the cost of a CloudFormation stack?
By using the provided tool for that purpose in CloudFormation
What is a good savings strategy for development environments when using CloudFormation?
You can automate the deletion of templates at 5PM and creation of templates at 8AM (So that you donโt pay for dev environment when you are not using it at night)
What are the productivity benefits of CloudFormation?
Ability to create and destroy stacks on the fly
You get automated generation of diagrams
No need to figure out ordering and orchestration of your infrastructure
How to do seperation of concerns with CloudFormation?
Create many stacks for many apps and many layers
Where must CloudFormation templates be uploaded to in order to be able to use them?
In S3
How can you update a CloudFormation stack?
By reuploading a new version to AWS
How are stacks identified in CloudFormation?
By name
What happens to the underlying resources when you delete a stack?
They get deleted
What is the manual way of deploying a CloudFormation stack?
By editing templates in the CloudFormation Designer
Using the console to input parameters
What is the automated way of deploying a CloudFormation stack?
Editing templates in a YAML file
Using the CLI to deploy the templates
What is the recommended way to deploy CloudFormation templates?
The automated way
What are the building blocks of CloudFormation templates?
Templates components
Templates helpers
What are the CloudFormation templates helpers?
References
Functions
What are the CloudFormation templates components?
Resources Parameters Mappings Outputs Conditionals Metadata
Which CloudFormation templates component is mandatory?
Resources
What does YAML stand for?
YAML Ainโt Markup Language (A recursive acronym)
What can be in a YAML file?
Key value pairs Nested objects Arrays Multi line string Comments
What do key value pairs look like in YAML?
key: value
What do nested objects look like in YAML?
key:
param1: value1
param2: value2
otherKey: otherValue
What do arrays look like in YAML?
keys:
- โoneโ
- โtwoโ
- โthreeโ
What do multi line string look like in YAML?
myString: |
I am a
multiline string