skip to Main Content

AWS CloudFormation

AWS CloudFormation
Hardware infrastructure and convert it to code
Gives developers and SYSAdmins an easy way to create and manage a collection of related AWS resources, provisioning and updating them in an orderly predictable fashion.
Don’t need to figure out order for provisioning
JSON or YAML
Mandatory element – RESOURCE !!

  • Use of CFT, Beanstalk and Autoscaling are free but you pay for the AWS resources that these services create.
  • Fn::GetAtt – values that you can use to return result for an AWS created resource or used to display in output
  • By Default – rollback everything on error
  • Infrastructure as a code, Version controlled, declarative and flexible

Fn::GetAtt returns the value of an attribute from a resource in the template
NO limits to the number of templates
200 max stacks – if you need more contact AWS
ListStackResources for all resources in CloudFormation
Intrinsic function use only in specific parts of a template…resource properties, outputs, metadata attributes, and update policy attributes.  You can use to conditionally create stack resources

List all current stacks: liststacks or describe-stacks

Default behavior if stack creation fails – ROLLBACK
Can be used with Chef + Puppet
Data can be saved when stack is deleted
NO COST – PAY ONLY FOR RESOURCES USED
YOU are charged for errors only
Stacks can wait for apps to be provisioned using waitconditiong
Route53 supported
IAM role supported

INFRASTRUCTURE TO CODE !!!

Conditions define when resource is created or property is defined

Parameters – specifies values you can pass in your template, outputs – describes the values, resources – specifies the stack resources, mappings, conditions

FN::FindInMap function returns the value corresponding to keys in a two-level map
FN::Select used to retrieve an object from a list set of objects
CloudFormation supports EC2 tagging!
60 parameters in a template + 60 outputs

 

Back To Top