AWS CloudFormation Step By Step: Beginner to Intermediate
4.5 (70 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
527 students enrolled

AWS CloudFormation Step By Step: Beginner to Intermediate

Learn AWS CloudFormation in detail with hands-on examples and activities from AWS certified expert.
4.5 (70 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
527 students enrolled
Current price: $69.99 Original price: $99.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 6 hours on-demand video
  • 2 articles
  • 67 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Manage your AWS infrastructure as code using AWS CloudFormation and YAML.
  • Learn theory and practice from a Professional level certified AWS expert according to AWS best practices.
  • Start from beginner and achieve an intermediate level on CloudFormation to use it for your provisioning needs on AWS.
  • Write your own CloudFormation templates using YAML and define your AWS resources in them.
  • Learn how to use AWS CloudFormation reference to define different types of AWS resources in your templates.
  • Enrich your templates with parameters, mappings, conditions, metadata and outputs.
  • Use change sets to update your CloudFormation stacks safely.
  • Learn how to use CloudFormation commands of AWS CLI.
Course content
Expand all 70 lectures 06:05:00
+ Introduction
7 lectures 28:14

Meet the course instructor, Emre Yilmaz, and learn what will be covered in each section of the course briefly.

Preview 03:17

Learn what AWS CloudFormation is and why to use it along with an introduction to its concepts like templates, stacks and change sets.

Preview 06:24

Learn which AWS region you should use while doing the examples.

AWS Region Used in the Course
00:16

Let's start making hands-on examples! You will learn how to create a stack from an existing template using AWS Management Console. We will create our first AWS CloudFormation stack.

Preview 08:55

Learn how to delete your stacks using AWS CloudFormation Console. We will delete the stack we created in the previous lecture.

Deleting Your Stack
03:53

This is our first section activity lecture. You will be given an assignment about the topics you learned in this section with the steps to finish it successfully. You will do this activity on your own, but have a chance to see the instructor's solution in the next lecture.

Section 1 Activity
01:34

See how the course instructor solves the section activity he assigned in the previous lecture.

Section 1 Activity Solution
03:55
+ Introduction to Templates and Resources
9 lectures 01:03:03

Learn what will be covered in Section 2.

Section 2 Introduction
02:00

Learn some theory about the CloudFormation template anatomy and its sections.

Template Anatomy
05:25

Write your first CloudFormation template and define your first AWS resource in it.

Writing Your First Template
09:55

Learn how to edit your CloudFormation template and update your stack by replacing its template.

Updating Your Stack with an Edited Template
06:52

Learn how to reference a resource from another resource in an AWS CloudFormation template and link them by using the intrinsic Ref function.

Linking Resources in Your Template
06:32

Let's talk about some intermediate level CloudFormation subjects! You will learn why some resources require replacements during a stack update and how to view these on AWS CloudFormation Console.

Stack Updates That Require Replacement
05:26

Another intermediate level subject! Learn how AWS CloudFormation orders resource creations and deletions when the resources are independent or have implicit dependencies. Besides, learn how to define your own dependencies using the DependsOn attribute.

Ordering Resource Creations
09:29

You will be given an assignment about the topics you learned in Section 2. You will create a template for a VPC with a public subnet. You will do this activity on your own, but have a chance to see the instructor's solution in the next lecture.

Section 2 Activity: A VPC with a Public Subnet
03:07

Watch how the instructor solves the Section 2 activity.

Section 2 Activity Solution
14:17
+ Parameters
17 lectures 01:29:42

Learn what will be covered in Section 3.

Section 3 Introduction
02:06

Learn what AWS CloudFormation template parameters and parameter types are in this theory lecture.

Introduction to Parameters
03:53

Learn how to define your first parameter in the CloudFormation template provided and use them while creating a stack from it.

Defining Your First Parameter
07:56

Learn how to add parameters to your CloudFormation templates and update your stacks.

Adding More Parameters and Updating Your Stack
07:20

Let's start defining constraints in our parameters! Learn how to define MinLength and MaxLength constraints in String type parameters in a CloudFormation template and see them in action while creating the stack.

Defining Length Constraints for String Type Parameters
07:22

Learn how to define and use MinValue and MaxValue constraints for your Number type parameters in your AWS CloudFormation templates.

Preview 04:38

Learn how to define and use AllowedValues constraints for your parameters in your AWS CloudFormation templates and restrict the values they can have during the stack creation.

Defining Allowed Values for Parameters
04:16

Learn how to define default values for your template parameters.

Defining Default Values for Parameters
04:28

Learn how to define Pattern constraints for your CloudFormation template parameters to validate them whether they match the regular expressions provided for them during the stack creation.

Defining Pattern Constraints for Parameters
04:02

Learn how to update only the parameter values of your AWS CloudFormation stacks without changing their templates on AWS Management Console.

Updating Stack Parameters Using the Current Template
04:29

Learn how to hide some sensitive parameter values like user passwords on AWS Management Console during the stack creation by defining NoEcho attributes on them.

Hiding Parameter Values
05:05

Learn how to define Number<List> type parameters and how to use the intrinsic Fn::Select ( !Select ) function to reference the values of their members from your resources.

Number List Parameters and Fn::Select Function
06:01

Learn how to define CommaDelimitedList type parameters and how to use them in your CloudFormation templates.

String List Parameters
05:19

Learn what AWS-specific parameter types are and how to use them in your CloudFormation templates to validate your parameter values according to the resources in your AWS account dynamically during the stack creation.

AWS-Specific Parameter Types
06:17

Learn the pseudo-parameters provided by AWS CloudFormation and how to use them in your templates and stacks.

Pseudo Parameters and Fn::Sub Function
06:44

You will be given an assignment about the topics you learned in Section 3. You will do this activity on your own, but have a chance to see the instructor's solution in the next lecture.

Section 3 Activity
03:34

Watch how the instructor solves the Section 3 activity.

Section 3 Activity Solution
06:12
+ Metadata and Mappings
7 lectures 33:10

Learn which AWS CloudFormation topics will be covered in Section 4.

Section 4 Introduction
01:27

Learn what the Metadata section is used for in an AWS CloudFormation template.

What Is the Metadata Section?
03:00

Learn how to group, order and label your parameters on AWS CloudFormation Console by defining a Metadata section in your template and special keys used for this purpose.

Grouping, Ordering and Labelling Parameters
07:06

Learn what Mappings section is used for in a CloudFormation template as well as the intrinsic Fn::FindInMap ( !FindInMap ) function and its syntax in this theory lecture.

Preview 02:51

Learn how to increase the re-usability of your templates with the help of Mappings with hands-on examples. Define a Mappings section in your CloudFormation template and reference its values using the intrinsic Fn::FindInMap function from your resources.

Using Mappings With Fn::FindInMap Function
08:17

You will be given an assignment about the topics you learned in Section 4. You will do this activity on your own, but have a chance to see the instructor's solution in the next lecture.

Section 4 Activity
03:31

Watch how the instructor solves the Section 4 activity.

Section 4 Activity Solution
06:58
+ Conditions and Outputs
9 lectures 48:58

Learn what will be covered in Section 5.

Section 5 Introduction
01:33

Learn what template conditions and the Conditions section are and their use cases in this theory lecture.

Introduction to Conditions
05:10

Learn how to define a condition in your template to define a resource conditionally.

Creating Resources Conditionally
06:54

Learn how to define a condition in your template to configure a resource property conditionally.

Configuring Resource Attributes Conditionally
05:50

Let's talk about what the Outputs section is used for. You will learn how to define Outputs in your templates.

Introduction to Outputs
04:36

Learn how to use the intrinsic Fn::GetAtt ( !GetAtt ) function to reference resource attributes.

Referencing Resource Attributes Using Fn::GetAtt Function
04:44

Learn how to define a condition in your template to define outputs conditionally.

Defining Outputs Conditionally
05:36

You will be given an assignment about the topics you learned in Section 5. You will do this activity on your own, but have a chance to see the instructor's solution in the next lecture.

Section 5 Activity
03:54

Watch how the instructor solves the Section 5 activity.

Section 5 Activity Solution
10:41
+ Change Sets
8 lectures 30:07

Learn what will be covered in Section 6.

Section 6 Introduction
01:30

An intermediate level AWS CloudFormation topic. Learn what Change Sets are and why to use them to update your stacks in this theory lecture.

What are Change Sets?
03:40

Learn how to create a change set to update the parameter values of your stack.

Creating a Change Set Using the Current Template
06:25

Learn how to edit your template and create a change set on your stack to replace its template with the new version.

Creating a Change Set by Replacing the Template
04:09

Learn how to execute a change set on AWS CloudFormation Console.

Executing a Change Set
04:09

Learn how to delete your change sets without executing them on AWS CloudFormation Console.

Deleting a Change Set
03:55

You will be given an assignment about the topics you learned in Section 6. You will do this activity on your own, but have a chance to see the instructor's solution in the next lecture.

Section 6 Activity
01:55

Watch how the instructor solves the Section 6 activity.

Section 6 Activity Solution
04:24
+ Using AWS CLI to Manage Your Stacks
11 lectures 01:08:46

Learn what will be covered in Section 7.

Section 7 Introduction
01:20

Learn where you can get the installation instructions of AWS CLI for your operating system with an example of using Python package manager pip3 on Mac OS X..

Prerequisite: Installing and Configuring the AWS CLI
04:44

Learn how to create stacks using AWS CLI as well as viewing its details and polling the stack status automatically until the stack creation completes using the wait command.

Creating Stacks Using AWS CLI
11:01

Learn how to update your stacks using AWS CLI as well as viewing the stack resources and polling the stack status automatically until the stack update completes using the wait command.

Updating Stacks Using AWS CLI
07:57

Learn how to delete your stacks using AWS CLI as well as viewing the details of your deleted stacks and how to poll the stack status automatically until the stack deletion completes using the wait command.

Deleting Stacks Using AWS CLI
05:40

Learn how to create a change set using AWS CLI to create a stack from your template and execute it using AWS CLI .

Creating and Executing Change Sets Using AWS CLI
09:54

Learn how to create a change set using AWS CLI to update your stack and delete it using AWS CLI .

Deleting Change Sets Using AWS CLI
07:00

Learn how to use the aws cloudformation deploy command of AWS CLI to create a stack from your template.

Using Deploy Command to Create Your Stacks
07:31

Learn how to update your stacks using the deploy command.

Using Deploy Command to Update Your Stacks
05:15

You will be given an assignment about the topics you learned in Section 7. You will do this activity on your own, but have a chance to see the instructor's solution in the next lecture.

Section 7 Activity
02:29

Watch how the instructor solves the Section 7 activity.

Section 7 Activity Solution
05:55
+ Course Conclusion
2 lectures 02:59

Congratulations for finishing the course!

Conclusion
01:59
Bonus
01:00
Requirements
  • An AWS account to launch resources. It is recommended to use an AWS free-tier eligible one.
  • Intermediate level AWS knowledge about core services to use in examples.
  • A computer and browser to practice hands on examples and section activities.
  • Your favorite text-editor to write AWS CloudFormation templates.
  • Understanding how to use terminals and basic commands would also be helpful in some examples.
  • Basic YAML knowledge can also be helpful. But you can also learn it while watching the lectures and making examples.
  • Basic AWS CLI knowledge for the AWS CLI section.
Description

Would you like to learn AWS CloudFormation in detail with a well-organized course?

If yes, you are in the right place! Welcome to learn AWS CloudFormation as a beginner and reach to an intermediate level on it!

In this course, you will start learning CloudFormation in the right way from a senior AWS consultant having all Professional and Associate level AWS certifications. You will learn the basics of CloudFormation with hands-on examples and section activities.

This course will also be a basis for the upcoming advanced version of it.


What will you achieve after this course?

You will be able to use AWS CloudFormation for your daily needs on AWS.

You will be able to write your own templates using YAML and define your AWS resources in them.

We will use AWS Ireland region (eu-west-1) during the course, but you will also learn how to create re-usable, region-independent templates as you progress!

You will be able to increase the re-usability of your templates and enhance them more by using other template sections: parameters, mappings, conditions, metadata, and outputs.

You will be able to use change sets to update your stacks safely.

You will be able to use both AWS Management Console and AWS Command Line Interface (CLI) to manage your stacks.

You will gain a solid basis on AWS CloudFormation.


You will reach an intermediate level on CloudFormation in the end. But the topics in this course will be sufficient to use AWS CloudFormation in your provisioning needs on AWS. Most of the advanced level concepts will only make sense after you reach a certain level of usage. However, I am also preparing an intermediate to advanced level CloudFormation course to help you more after this course in the future as well.


Why learn from me?

My knowledge and experience are verified by AWS at the top-level. I am a senior AWS consultant holding AWS Certified Solutions Architect - Professional and AWS Certified DevOps Engineer - Professional certifications as well as all 3 Associate-level AWS certificates.

I have a software engineering background, a BS degree in Computer Engineering, and more than 14 years of professional experience in corporates and startups.

I have been using AWS for more than 5 years. I started using CloudFormation since I adopted AWS and use CloudFormation in advanced-level.

I teach both theory and practice according to AWS best practices. I explain the features with hands-on examples and also why to use them. So you will benefit from my experience as well as my knowledge.

---

Featured student reviews!

"This course explains everything from the very basics in just enough detail. I came here bacause the Udacity DevOps Nanodegree did not provide enough material to complete its very own projects. I can now confidently build cloudFormation scripts. Many thanks!"

Adri Forczek


"Well-structured and easy to follow course. Emre did an excellent job. Waiting for advanced course on CloudFormation."

Daniel Dauksevic

---

Is this course for you?

  • It is best to start learning AWS CloudFormation as a beginner and concentrate on the features that you will mostly need in your daily provisioning needs on AWS. I designed this course for beginners to AWS CloudFormation and assume that you have no or little experience in it.


  • But you should have an intermediate-level AWS knowledge that will be enough to use core AWS services in our examples. Because this course focuses only on AWS CloudFormation.


  • This course is not for intermediate-level AWS CloudFormation users looking for more advanced level features. However, I am also preparing an advanced level version CloudFormation course which will take this course as a basis.


If you would like to start using CloudFormation to manage your AWS infrastructure as code, automate the provisioning of your AWS resources with it, then it is best to learn it from an AWS expert in the right way.


Join this course and start learning CloudFormation with hands-on examples!


Thank you!

Emre Yilmaz

AWS Certified Solutions Architect - Professional

AWS Certified DevOps Engineer - Professional

AWS Certified Solutions Architect - Associate

AWS Certified SysOps Administrator - Associate

AWS Certified Developer - Associate

Who this course is for:
  • This course targets students who have no or little knowledge on AWS CloudFormation.
  • Developers, system administrators, DevOps engineers, solutions architects or any AWS enthusiasts who would like to manage their AWS infrastructure as code and automate the provisioning AWS resources.
  • Not for intermediate level CloudFormation users looking for advanced level CloudFormation features.