1. AWS CloudFormation Introduction
- What is CloudFormation?
- Benefits of CloudFormation
- CloudFormation vs Ansible & Terraform
- First AWS CloudFormation Template
2. CloudFormation First Hands-On
- YAML Tutorial
- JSON to YAML Practice Exercise
- Creating an S3 Bucket using CloudFormation
- Updating an S3 Bucket using CloudFormation
- Deleting an S3 Bucket using CloudFormation
- CloudFormation Template Options
- Using CloudFormation Designer
- CloudFormation Building Blocks
- Deploying CloudFormation Templates
3. Stack Features
- Stack Features – Pre-requisites
- Create Stack
- Update Stack
- Create Change Set – KeyName
- Create Change Set – InstanceType
- Update Rollback
- Create Stack – Invalid Template
4. CloudFormation Parameters
- Parameters Introduction
- Add KeyName as Parameter – AWS
- Specific Parameter
- Add AvailabilityZone as Parameter – Parameter Type – String
- Add InstanceType as Parameter – Parameter Type – String
- Add Instance Type as Parameter -Parameter Type – SSM
5. CloudFormation Resources
- Resources Introduction
- Create a Resource – EC2 Instance
- Create a Resource – Security Group
- Create a new rule in existing Security Group
- Create a new resource – Elastic IP
- Perform CloudFormation Temaplate – Case Sensitivity Test
6. CloudFormation Mappings
- Mappings Overview
- Fn::FindInMap (accessing Mapping values)
- Mappings Hands On
- Pseudo Parameters in CloudFormation
7. CloudFormation Outputs
- Outputs Introduction
- Outputs – Base Template Overview
- Outputs – InstanceId as Output
- Outputs – Intrinsic Function Fn::GetAtt
- Outputs – Intrinsic Function Fn::Sub and Exports Feature
- Outputs – Cross Reference Stacks using Exports Feature & Fn::ImportValue
- Outputs – For Master Stack – Test Delete Stack and Modify Stack
- Outputs – Conditions in Outputs section of a Template
- Outputs – Intrinsic Function Fn::Join
8. CloudFormation Conditions
- Conditions Introduction
- Conditions – Intrinsic Function Fn::Equals
- Conditions – Intrinsic Function Fn::If and PSeudo Parameter AWS::NoValue
- Conditions – Intrinsic Function Fn::If – Additional Usecase
- Conditions – Intrinsic Function Fn::Not
- Conditions – Intrinsic Function Fn::Or
- Conditions – Intrinsic Function Fn::And
- Conditions Functions
- Fn::GetAtt (get attribute function)
9. CloudFormation Metadata
- Metadata Overview
- AWS::CloudFormation::Designer Hands On
- AWS::CloudFormation::Interface Hands On
10. CFN Init and EC2 User Data
- EC2 User Data Overview
- CloudFormation EC2 User Data
- CloudFormation Init Overview
- Packages
- Groups and Users
- Sources
- Files
- Fn::Sub (substitute function)
- Commands
- Services
- CFN Init and Signal
- CFN Init Hands-On
- User Data vs CloudFormation::Init vs Helper Scripts
11. CloudFormation Nested Stacks
- Nested Stacks Overview
- Nested Stacks Updates
- Nested Stacks Deletes
- Closing Comments on Nested Stacks
12. Continuous Integration & Continuous Delivery using AWS CloudFormation
- Introduction to Continuous Integration & Continuous Delivery
- Introduction to EC2 Apps Stack
- EC2 Apps Stack – Create Security Group
- EC2 Apps Stack – Create VM Instances, Parameters and Outputs
- EC2 Apps Stack – Create Instance Profile Role and Instance Profile
- EC2 Apps Stack – Create Stack and Verify
- CodeCommit – Introduction
- CodeCommit – Create a Simple Rest Application
- CodeCommit – Create Repo in CodeCommit and check-in code
- CodeCommit – Additional CodeCommit Features
- Introduction to CodeBuild with AWS Web Console & CloudFormation
- CodeBuild – Introduction
- CodeBuild – Create Project
- CodeBuild – Create buildspec.yml and start build
- CodeBuild – Create Build Notifications
- CodeBuild CFN – CloudFormation Introduction
- CodeBuild CFN – Update buildspec.yml with Runtime Version
- CodeBuild CFN – Create CodeBuild CloudFormation Template
- CodeBuild CFN – Create CodeBuild Stack and Test
- Introduction to CodeDeploy with AWS Web Console & CloudFormation
- CodeDeploy – Introduction
- CodeDeploy – Create CodeDeploy Service Role
- CodeDeploy – Create a Test VM
- CodeDeploy – Create Application & Deployment Group
- CodeDeploy – Create appspec.yml and scripts
- CodeDeploy – Create New Build & Deployment
- CodeDeploy – Verify the new Deployment
- CodeDeploy – New Application Release
- CodeDeploy CFN – CloudFormation Introduction
- CodeDeploy CFN – appspec.yml and Scripts
- CodeDeploy CFN – Create Template – Role, Application and Deployment Group
- CodeDeploy CFN – Create CodeDeploy Stack
- CodeDeploy CFN – Create Deployment and Update Stack and Test
- Introduction to CodePipeline with AWS Web Console & CloudFormation
- CodePipeline – Introduction
- CodePipeline – Create Pipeline
- CodePipeline – Make changes to Rest App and Verify CodePipeline
- CodePipeline – Introduction to Prod Approval and Deploy Stages
- CodePipeline – Create Prod EC2 Instance & Prod Deployment Group
- CodePipeline – Create Prod Approval and Prod Deploy Stages
- CodePipeline – Change Code in App and Check-In Code to Trigger Pipeline
- CodePipeline – Conclusion for Prod Approval and Deploy Stages
- CodePipeline CFN – Introduction
- CodePipeline CFN – Create CodePipeline Role
- CodePipeline CFN – Create Pipeline Stages – Source, Build and Stage
- CodePipeline CFN – Create Pipeline Stack and Verify
- CodePipeline CFN – Create SNS and Prod Deployment Group
- CodePipeline CFN – Create Prod Pipeline Stages – Approval & Deploy
- CodePipeline CFN – Update Stack with Prod Stages
13. Infrastructure as Code using CloudFormation
- Introduction to Infrastructure as Code
- Introduction to Infrastructure as Code using AWS Management Console
- Understand VPC Source Files
- Create VPCRepo in CodeCommit and Check-In VPC Source files
- Create Pipeline with Source and Build Stages
- Create Pipeline with Test VPC Stage
- Create Pipeline with Prod Stage (Create Change Set, Approval, Execute CS)
- Update VPC CFN Template with new VPC resources and check-in code
- Introduction to Infrastructure as Code using CloudFormation
- VPC Source files check-in to CodeCommit Repository
- Create CodeBuild Role and CodeBuild Project in CFN Template
- Create CodePipeline Role and CloudFormation Role in CFN Template
- Create CodePipeline stages Source, Build and Test
- Create CodePipeline CloudFormation Stack with 3 stages
- Create Pipeline Stage for Prod(Create Change Set, Approval, Execute CS)
- Create CodePipeline CloudFormation Stack with 4 stages
- Check-in VPCRepo with new subnet resource added and Monitor Pipelin
14. CloudFormation Stack Policy
- Introduction to Stack Policy
- Stack Policy – Resource
- Stack Policy – Resource Type
- Stack Policy – Action-Update-Replace
- Stack Policy – NotAction – Update-Delete
- Stack Policy – Override existing Stack Policy during Stack Update