Tag: CloudFormation

Introduction

This blog post uses aws-must-templates to create “a VPC with a public subnet and private subnet, and a network address translation (NAT) instance in the public subnet” similar to scenario 2 in Amazon VPC documentation. Focus is in describing steps needed to setup the environment, to create the stack, and to test the provisioned result on Amazon platform.

Introduction

AWS CloudFormation gives developers and systems administrators an easy way to create a collection of related AWS resources and provision them on Amazon Platform. In order to make AWS infrastructure management even more efficient and manageable, aws-must-templates adds Template Generator and Test Runner to the set of available tools for an AWS administrator.

This blog entry goes trough a scenario starting with installation of aws-must-templates, continuing with creation an AWS infrastructure, and ending with testing of the infrastructure.

Introduction

In a previous blog-post, I presented a tool called aws-must. The tool itself is very simple, and quite useless without templates driving the transformation from YAML to (CloudFormation) JSON.

In this blog post, I will introduce aws-must-templates, which is a set of mustache templates for creating CloudFormation JSON. Implementation without tests is asking for trouble, and therefore aws-must-templates are accompanied with test suites to validate correctness of the CloudFormation stacks created.

Introduction

aws-must is a tool, which helps in managing Amazon CloudFormation templates using using YAML and Mustache templates. Deploying aws-must starts with copying an existing CloudFormation template as a root Mustache template, and continues with extracting YAML configuration data from the template and with stepwise refinement of the templates. Refinement steps include migrating configurations to YAML, refractoring complex templates into Mustache partials, using YAML anchors to express references across CloudFormation elements, tangling documentation and template implementation, and allowing configuration to control AWS resource provisioning.

Introduction

Amazon CloudFormation gives developers and systems administrators an easy way to create and manage a collection of related AWS resources. It uses JSON -formatted templates for defining services to be managed together as a “stack”.

However, the CF -templates soon become quite convoluted as the complexity of the infrastructure stack increases. In addition, the JSON format adds more to the management difficulties.

This blog entry discusses, how to deal with the complexity of CloudFormation templates, and proposes a solution separating configuration data from AWS templates.