AWS cloudformation tutorial

AWS CloudFormation tutorial

Last updated on 10th Oct 2020, Blog, Tutorials

About author

Eswar ((Sr Cloud Platform Architecture ) )

He is A TOP Rated Domain Expert with 7+ Years Of Experience Also, He is a Technology Writer for Past 5 Years to Imparts Informative Blog for Fresher's & JOB Seeker

(5.0) | 12547 Ratings 1784

The easiest way to describe CloudFormation is that it is a tool from AWS that allows you to spin up resources effortlessly. You define all the resources you want AWS to spin up in a blueprint document, click a button, and then AWS magically creates it all. This blueprint is called a template in CloudFormation speak.

CloudFormation makes sure that dependent resources in your template are all created in the proper order. For example, let’s say we want to create a DNS Route53 record and a EC2 instance having the DNS record point to the EC2 instance. CloudFormation will take care to provision the EC2 instance first, wait for that to be ready, and then create the DNS record afterwards. AWS CloudFormation “orchestrates” the provisioning of the desired resources.

So instead of having to write a script with a bunch of AWS API calls, wait loops, and retry logic, you just describe what you want and tell CloudFormation to do it for you. Beautiful.

Subscribe For Free Demo
[contact-form-7 404 "Not Found"]

How Does CloudFormation Work?

  • Code the infrastructure from the scratch with the CloudFormation template language it can be in either YAML or JSON format.
  • Check the code locally and upload it to the AWS S3 bucket.
  • Use AWs with the help of the browser console, command line tools or APIs to create a stack-based in the template code.
  • AWS CloudFormation provisions and configures the stacks and the resources the user specifies on the template.

Benefits of AWS CloudFormation

Following are the Amazon CloudFormation Benefits, let’s discuss them:

a. Model it all

AWS CloudFormation permits The user to model The user entire infrastructure during a document. This template becomes the one supply of truth for The user infrastructure. This helps The user to standardize infrastructure parts used across The user organization, facultative configuration compliance and quicker troubleshooting.

b. Automate & Deploy

Amazon CloudFormation provisions The user resources during a safe, while not having to perform manual actions or write custom scripts, repeatable manner, permitting The user to make and build The user infrastructure and applications. CloudFormation takes care of deciding the proper operations to perform once managing The user stack and rolls back changes automatically if errors are detected.

c. It’s Simply Code

Codifying the user infrastructure permits The user to treat The user infrastructure as simply code. The user will be able to author it with any code editor, check it into a version system, and review the files with team members before deploying into production.

Amazon CloudFormation Features

a. Authoring with JSON/YAML

AWS CloudFormation permits The user to model The user entire infrastructure during a document. The user will be able to use JSON or YAML to explain what AWS resources The user would like to form and put together. If The user would like to style visually, The user will be able to use AWS CloudFormation Designer to assist The user start with AWS CloudFormation templates.

b. Safety Controls

Amazon CloudFormation automates the provisioning and change of The user infrastructure in a safe and controlled manner. There are not any manual steps or controls which will cause errors. The user will be able to use Rollback Triggers to specify the CloudWatch alarm that CloudFormation ought to monitor throughout the stack creation and update method. If any of the alarms are broken, AWS CloudFormation rolls back the whole stack operation to a previous deployed state.

c. Preview Changes to a User Environment

AWS CloudFormation modification Sets permit The user to preview however projected changes to a stack would possibly impact The user running resources. as an example, whether or not The user changes can delete or replace any important resources. AWS CloudFormation makes the changes to The user stack solely once The user chooses to execute the modification Set.

d. Dependency Management

Amazon CloudFormation automatically manages dependencies between The user resources throughout stack management actions. {The user do|The users are doing} not have to be compelled to worry concerning specifying the order during which resources are created, updated, or deleted. AWS CloudFormation determines the proper sequence of actions to use for every resource once playing stack operations.

e. Cross Account and Cross-Region Management

AWS StackSets that enables The user to provision a typical set of AWS resources across multiple accounts and regions with one CloudFormation template. StackSets takes care and provides safe provisioning, updating to the best, or deleting stacks in multiple accounts and across various regions. This provides an equivalent level of automation, repeatability, and dependability to stack management operations across regions and accounts.

Course Curriculum

Get Enroll in AWS CloudFormation Training with Instructor-led Classes

  • Instructor-led Sessions
  • Real-life Case Studies
  • Assignments
Explore Curriculum

f. Extensibility

Amazon CloudFormation allows The user to make custom extensions to The user stack template using AWS Lambda. The user will be able to use Custom Resources, that is associate extensibility mechanism that permits The user to write down custom provisioning during a Lambda perform and have it trigger throughout a CloudFormation stack. The user will be able to write custom provisioning logic for tasks like provisioning a 3rd party resource or trying up the most recent AMI IDs to be used in The user stacks.

Launching the Stack

After all that explanation, let’s finally launch the stack!

$ aws cloudformation create-stack –template-body file://templates/single_instance.yml –stack-namesingle-instance–parameters ParameterKey=KeyName,ParameterValue=tutorial ParameterKey=InstanceType,ParameterValue=t2.micro

Upon successfully launching the CloudFormation stack you will see output similar to this:

  • {
  •    “StackId”: “arn:aws:cloudformation:us-west-2:1606191131234:stack/single-instance/3401e900-3d83-11e7-bb7e-503f2a2cee4a”
  • }

To check on the status of the newly launched stack, you can use the AWS CloudFormation console and click in the Events Tab after selecting the stack name. Here’s what it looks like.


You can see that the EC2 Instance and the EC2 Security group were created in about a minute. Next let’s find the running instance so we can grab the Public DNS to log in. We can find that on the EC2 Console.


Use the DNS info to now ssh into the instance.

$ssh-i~/.ssh/tutorial.pem ec2-user@ec2–54–71–197–

  • $ uptime

You have successfully launched an EC2 instance with CloudFormation and ssh into it!


Let’s destroy the resources so you do not get charged more money than you have to. This is super simple.

aws cloudformation delete-stack –stack-name single-instance

Configuring CloudFormation Stack

  • Login to AWS and go to AWS CloudFormation console
  • Select the option “Upload a template to Amazon S3” under “Choose a template”. Upload your template by selecting “Choose File”
  • Give an appropriate “Stack name” to your CloudFormation Stack and provide the name of EC2 Keypair.  Click “Next”
  • All of the input fields on this page are optional, however, you can specify a tag that will be added to all the resources your template is going to create. You can use the permissions assigned to your AWS account to be considered at the time of running of your template or alternatively you can create an IAM role and run your template using it. Either way, your account or IAM role should have the permissions to create the resources listed in your template. Also, you can create roll back alarms.  
  • Click “Next” and then click “Create.”

The execution of the template will start and you can see the progress in the “Events” tab.

AWS Sample Resumes! Download & Edit, Get Noticed by Top Employers! Download


Hence, we studied whether the user can use AWS CloudFormation’s sample templates or produce the user own templates to explain the AWS resources. Amazon CloudFormation takes care of this for the user. When the AWS resources are deployed, the user will be able to modify and update them during a controlled and predictable approach. In result applying version management to the user AWS infrastructure a similar approach, the user is doing along with The user package.

Are you looking training with Right Jobs?

Contact Us

Popular Courses