AWS CloudFormation Concepts: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 8: Line 8:


=Overview=
=Overview=
 
CloudFormation creates and configures [[#Resource|resources]], grouped in [[#Stack|stacks]].
CloudFormation creates and configures [[#Resource|resources]], grouped in [[#Stack|stacks]]. The resource declarations are provided as [[#Template|templates]]. One of the greatest benefits of templates and AWS CloudFormation is the ability to create a set of resources that work together to create an application or solution.


=Stack=
=Stack=

Revision as of 19:56, 11 March 2019

External

Internal

Overview

CloudFormation creates and configures resources, grouped in stacks. The resource declarations are provided as templates. One of the greatest benefits of templates and AWS CloudFormation is the ability to create a set of resources that work together to create an application or solution.

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

Resource declarations use a Properties attribute to specify the information used to create a resource.

Change Set