Cloudformation for AWS

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
Menu