AWS CloudFormation Concepts

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

External

Internal

Overview

CloudFormation creates and configures resources, grouped in stacks.

Stack

Working with Stacks

A stack is a collection of AWS resources that can be managed (create, update or delete) as a single unit. All resources in a stack are defined by the stack's AWS CloudFormation template. Because AWS CloudFormation treats the stack resources as a single unit, they must all be created or deleted successfully for the stack to be created or deleted. If a resource cannot be created, AWS CloudFormation rolls the stack back and automatically deletes any resources that were created. If a resource cannot be deleted, any remaining resources are retained until the stack can be successfully deleted.

Nested Stack

A nested stack is a stack created as part of other stacks.

Template

CloudFormation Templates
Learn Template Basics
AWS CloudFormation Template Formats

A template is a declaration of AWS resources that make up a stack. The templates are stored as JSON or YAML text files.

Template Structure

Template Anatomy
---
AWSTemplateFormatVersion: "version date"

Description:
  <String>

Metadata:
  <template metadata>

Parameters:
  <set of parameters>

Mappings:
  <set of mappings>

Conditions:
  <set of conditions>

Transform:
  <set of transforms>

Resources:
  <set of resources - the only required top-level object>

Outputs:
  <set of outputs>

Input Parameters

Resources

A resource must have a Type attribute, which defines the kind of AWS resource should be created.

AWS::ProductIdentifier::ResourceType

Full list of resource types:

AWS Resource and Property Types Reference

Change Set