Hands-On CloudFormation for Deploy Scalability
Description
AWS CloudFormation is an Infrastructure as Code tool from Amazon Web Services that enables automating the deployment of infrastructure and applications. Benefits of automating infrastructure deployments include:
- Parity and consistency between development, test, and production environments
- Rapid and repeatable deployments
- Improved audibility
In this hands-on lab, you will translate business requirements into an AWS CloudFormation template and use it to deploy a fully-functional application with the following infrastructure components:
- A VPC and public and private subnets
- A NAT instance for access to the internet from a private subnet
- Route tables and Network ACLs for the VPC
- An Elastic Load Balancer (ELB) and Auto Scaling Group
- Code deployment automation
- Security Groups for the EC2 Instances and ELB
- DynamoDB Table to persist data, and IAM Roles to allow EC2 Instance access
Learning Objectives
Upon completion of this intermediate-level lab, you will be able to:
- Author an AWS CloudFormation template
- Use your template to create an AWS CloudFormation stack
- Understand how to deploy into multiple AWS Regions
Intended Audience
- DevOps Engineers
- Solution Architects
- SysOps Administrators
- Cloud Engineers
Prerequisites
You will need a text editor available to author an AWS CloudFormation JSON template. Visual Studio Code is a free text editor you can use.
Knowledge and experience with the following will be beneficial but is not required:
- JSON (JavaScript Object Notation)
- AWS CloudFormation
- Elastic Load Balancing and EC2 Auto Scaling
- Using Subnets and Routes in Amazon Virtual Private Cloud
The following courses can be used to fulfill the requirements:
- Serializing and Transmitting Data in Javascript Object Notation
- AWS CloudFormation: Introduction to Infrastructure as Code
- Using Elastic Load Balancing & EC2 Auto Scaling to Support AWS Workloads
- AWS Virtual Private Cloud: Subnets and Routing
Updates
February 8th, 2022 - Modernised the template and addressed a minor discrepancy
February 12th, 2021 - Updated the lab to resolve a permission issue
October 22nd, 2020 - Updated all instructions and screenshots
May 29th, 2020 - Fixed an issue related to npm and dependencies
December 2nd, 2019 - Add availability zone constraint to avoid deploying in us-west-2d which fails because of an unsupported instance type is that zone
January 10th, 2019 - Added a validation Lab Step to check the work you perform in the Lab
September 18th, 2018 - Fixed an issue related to node's package manager (npm
) failing to install some dependencies and causing the load balancer's URL to not display the app.