Would you like to learn advanced-level features of AWS CloudFormation?
Welcome to learn it from a senior AWS architect with hands-on examples and detailed explanations. This course will teach you most of the Professional-level AWS CloudFormation concepts, and you will get more proficient at Cloud Formation in the end.
This course does not cover beginner-level features of AWS CloudFormation. If you are a beginner at AWS CloudFormation, please enroll and finish my AWS CloudFormation Step by Step: Beginner to Intermediate course first. I will be glad to see you here after that.
Would you like to learn advanced-level features of AWS CloudFormation?
Welcome to learn it from a senior AWS architect with hands-on examples and detailed explanations. This course will teach you most of the Professional-level AWS CloudFormation concepts, and you will get more proficient at Cloud Formation in the end.
This course does not cover beginner-level features of AWS CloudFormation. If you are a beginner at AWS CloudFormation, please enroll and finish my AWS CloudFormation Step by Step: Beginner to Intermediate course first. I will be glad to see you here after that.
Why learn from me?
✓ AWS verified my knowledge and experience 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 15 years of professional experience as a developer and cloud architect in corporates and startups.
✓ I have been using AWS for more than eight years. I have also been using CloudFormation since the early days.
✓ I learned by doing and teach both theory and practice according to the AWS best practices. I explain the features with hands-on examples and also why to use them with their advantages and disadvantages. So you will benefit from my experience as well as my knowledge.
How was the course organized?
In this course, you will get from intermediate to advanced level in CloudFormation step by step.
Section 1: Organize your stacks efficiently with cross-stack references and nested stacks.
Section 2: Configure your EC2 instances with AWS CloudFormation using EC2 UserData property, CreationPolicy attribute, and helper scripts (cfn-init, cfn-hup, cfn-signal). We will also cover creating IAM resources with CloudFormation and IAM capabilities.
Section 3: Manage how CloudFormation performs updates, replacements, and deletions on resources that support policy attributes (UpdatePolicy, UpdateReplacePolicy, DeletionPolicy).
Section 4: Prevent updates of your stack resources during a stack update by setting a stack policy.
Section 5: Bring your own logic to AWS CloudFormation with custom resources and control the flow of stack creations with wait conditions.
Section 6: Detect and resolve manual changes to your stack resources, stack drifts. We will also talk about importing existing resources to CloudFormation that are not managed by any stack yet.
Section 7: Define and deploy serverless resources with AWS Serverless Application Model (SAM), a subset of CloudFormation for serverless resources, and its command-line interface SAM CLI. You will not make any programming for AWS Lambda functions. You will focus on defining and deploying them with a CloudFormation perspective.
In the end, you will be able to use AWS CloudFormation more efficiently with its advanced-level features.
Is this course for you?
I designed this course for developers, system administrators, or any AWS enthusiasts who finished or know all topics of my AWS CloudFormation Step by Step: Beginner to Intermediate course. So, this course is not for beginners to Cloud Formation.
This course is not for beginners to AWS. You should have intermediate-level AWS knowledge around core services.
Although I do the lectures with hands-on examples, you should have basic YAML knowledge for the templates.
I assume that you are comfortable with using the command line and know the cloudformation commands of AWS CLI as covered in my beginner-level course.
I recommend watching the free previews before enrolling in the course.
Join me in this course and excel at professional-level features of AWS CloudFormation step by step with hands-on examples.
Best wishes,
Emre Yilmaz
Senior AWS Architect & DevOps Engineer
⭑ AWS Certified Solutions Architect - Professional
⭑ AWS Certified DevOps Engineer - Professional
⭒ AWS Certified Solutions Architect - Associate
⭒ AWS Certified SysOps Administrator - Associate
⭒ AWS Certified Developer - Associate
Learn which AWS region you should use while doing the examples.
In this lecture, you will learn the topics below:
Why to use cross-stack references and how to export outputs of a stack to make them usable by others.
How to use the intrinsic Fn::Join function to concatenate multiple list items as a single string using a delimiter.
In this lecture, you will learn the topics below:
How to reference an output exported by another stack using the intrinsic Fn::ImportValue function.
How to divide a string into multiple item using a delimiter with the intrinsic Fn::Split function.
Viewing exports and stacks importing them on AWS CloudFormation Console.
In this lecture, you will learn the topics below:
Updating referenced stack resources.
Understanding what happens when you try to update the value of an exported output which is used by another stack.
Using the intrinsic Fn::GetAZs and Fn::Select functions to select an availability zone from your stack's region dynamically during creation.
In this lecture, you will learn the topics below:
Understanding what happens when you try to delete a stack that has exports used by another stack.
Viewing the stacks importing an export using AWS CloudFormation Console and AWS CLI.
In this lecture, you will learn the topics below:
Enabling or disabling termination protection on a stack to prevent it from accidental deletion.
Deleting referenced and referencing stacks in order.
In this lecture, you will learn the topics below:
Defining nested stack resources in a root template.
Passing outputs of one nested stack to another in a root template.
Creating nested stacks using AWS CloudFormation Console.
In this lecture, you will learn how to update your nested stacks through your root stacks using AWS Management Console.
In this lecture, you will learn how to delete your nested stacks through your root stacks with a hands-on example.
In this lecture, you will learn the topics below:
Using local paths for nested stack templates instead of S3 URLs in the root template.
Packaging nested templates using 'aws cloudformation package' command of AWS CLI.
Deploying packaged root template with 'aws cloudformation deploy' command of AWS CLI.
In this lecture, you will learn the topics below:
Using bash scripts to create and update nested stacks.
How updates are performed when only one of the nested stacks is updated.
In this lecture, you will learn how termination protection works on nested stacks.
You will learn the topics covered in Section 2.
In this lecture, you will learn to provide bash scripts in the UserData property of your EC2 instances to execute commands while initializing them.
In this lecture, you will learn to define IAM resources with CloudFormation and provide IAM capabilities during stack deployments.
In this lecture, you will learn to make your stack creations wait until a specified number of success signals are received from your physical EC2 instance resources. We will also make an introduction to resource policy attributes with CreationPolicy and CloudFormation helper scripts with cfn-signal.
In this lecture, you will learn to define AWS::CloudFormation::Init metadata in your templates and initialize your EC2 instances with the cfn-signal helper script.
In this lecture, you will learn to define sources in your EC2 instance resources' AWS CloudFormation Init metadata sections to download source packages at launch. Besides, we will cover the usage of AWS::CloudFormation::Authentication metadata.
In this lecture, you will learn to define multiple configs and configsets in your AWS::CloudFormation::Init metadata sections and use them with cfn-init.
In this lecture, you will learn to configure the cfn-hup helper script on your EC2 instances to update your instance configurations with stack updates.
In this lecture, you will learn to view CloudFormation helper script logs on your EC2 instances. We will also make an example of cfn-get-metadata.
In this lecture, you will learn to configure and use AWS CloudFormation helper scripts with EC2 auto scaling group resources.
You will learn the topics covered in Section 3.
In this lecture, you will make a theoretical introduction to resource policy attributes and learn why to use them.
In this lecture, you will learn how to define the UpdatePolicy attribute in an EC2 auto-scaling group resource to perform rolling updates. It will be an example of the AutoScalingRollingUpdatePolicy attribute.
In this lecture, you will learn how to define the UpdatePolicy attribute in an EC2 auto-scaling group resource to perform replacing updates. It will be an example of the AutoScalingReplacingUpdatePolicy attribute.
In this lecture, you will learn the default deletion behavior of the Amazon S3 bucket and Amazon RDS DB instance resources and how to change these using the DeletionPolicy attribute.
Besides, you will see what happens if a stack deletion fails.
In this lecture, you will learn how to define and use the UpdateReplacePolicy attribute in your resources with an Amazon RDS example.
You will learn the topics covered in Section 4.
In this lecture, we make a brief introduction to stack policies and what they are used for.
In this lecture, you will learn how to create and set stack policies on your stacks and update them using AWS CLI later. We will also talk about how to provide a temporary stack policy during a stack update.
In this lecture, you will learn how to protect a specific resource in your stack from updates using stack policies.
In this lecture, you will learn how to protect your stack resources from a specific type of update using stack policies.
In this lecture, you will learn how to protect resources of specific resource types from updates instead of providing the resources one by one. It includes using the conditions in stack policies.
You will learn the topics covered in Section 5.
In this lecture, I will introduce you to CloudFormation custom resources, and you will understand what they are and how they work before the demos.
In this lecture, I will make a demo for custom resource creation by providing a Python AWS Lambda function as the custom resource provider. You will understand the logic behind custom resource operations.
In this lecture, you will learn how to handle custom resource updates that require replacements. You will understand how CloudFormation orchestrates this operation and what you need to do in your custom resource providers for this
In this lecture, you will learn how to handle custom resource deletions in your custom resource providers and understand how CloudFormation orchestrates this.
In this lecture, you will understand what wait conditions are and how they work.
In this lecture, you will learn to use wait conditions with the CreationPolicy attribute and the cfn-signal helper script to pause the stack creation until a specified number of success signals are received.
In this lecture, you will learn how to define wait condition handles for wait conditions and signaling them success.
You will learn the topics covered in Section 6.
In this lecture, you will learn how to detect unmanaged changes to stack resources by performing drift detection on your stacks. We will make a simple example and resolve a drift by updating the stack template.
In this lecture, you will learn how to resolve a drift by removing the resource from the stack and import it back, using CloudFormation's resource import feature.
In this lecture, you will learn how to resolve a drift with a resource that lost its connection with the stack after the stack creation.
In this lecture, you will learn how to create a stack by importing existing resources not managed by any stack.
You will learn the topics covered in Section 7.
This lecture will introduce you AWS Serverless Application Model (SAM) and its command-line tool, SAM CLI. You will learn where to get the information to install SAM CLI according to your operating system with a Mac OS X demo.
In this lecture, you will learn how to initialize a SAM application using SAM CLI and the Hello World quick start template provided by AWS. We will go over the options of the sam init command and explain the files and folders created.
In this lecture, you will learn how to deploy a SAM application using SAM CLI's sam deploy command in the guided mode. We will also go over the resources it created afterward.
In this lecture, you will see an example of customizing your AWS Serverless Application Model (SAM) projects started from the Hello World template. We will customize the REST API paths and add a new function. You will use the samconfig file created in the previous lecture to deploy your changes with SAM CLI.
In this lecture, you will learn how to use AWS SAM resource types documentation to get the details about serverless resources and Lamdba event types supported. We will make an example of defining a simple DynamoDB table.
Besides, you will learn to use the SAM templates' Globals section to define shared properties for your AWS Lambda functions and other serverless resources.
In this lecture, you will learn how to use AWS Serverless Application Model (SAM) policy templates to define IAM policies for your AWS Lambda functions. We will make an example of granting read, and CRUD permissions to the DynamoDB added in the previous lecture.
In this lecture, you will learn how to use parameters with AWS Serverless Application Model (SAM) templates. You will also see an example of updating the SAM config file during deployments.
In this lecture, you will understand how to delete SAM stacks, and the SAM CLI managed stack created for S3 uploads in the first deployment in your AWS region.
Congratulations for finishing the course!
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.