In this hands-on lab, we will walk through proper ways to update CloudFormation stacks. We will first update a stack with direct updates, and then use change sets to update a stack. In the process, we will create multiple change sets and view the behavior of the stack when a change set is applied.
Successfully complete this lab by achieving the following learning objectives:
- Deploy a LAMP Stack Using an AWS CloudFormation Template
From the CloudFormation console, click Create stack.
Upload the LAMP stack template provided with the lab, and create the stack.
Select your VPC and two subnets in the template. Note that you will need to create a keypair in the EC2 console before you can deploy the template.
Once it is deployed, check the CloudFormation Outputs for the DNS name of the Load Balancer. Copy the URL into a browser to verify that the sample site has deployed correctly
- Use an Update Stack to Scale Up
Our site is under a lot of load so we want to try scaling up (increasing instance size). Let’s do a CloudFormation update stack to make this happen.
From the CloudFormation console, click Update stack and change the instance type from
t3.mediumin the Parameters page.
Using the load balancer, verify that our server comes up and the site becomes available once more.
- Use a Change Set to Scale Out
Scaling our environment up helped somewhat, but our team believes we would benefit from scaling out instead, and we will then have the added benefit of some redundancy in case an Availability Zone goes offline.
Use a CloudFormation Change Set to add a second server to the template, in another subnet and ensure that it is added to the load balancer.
View and then execute the change set. Once it is finished, use the load balancer DNS name again to check that the site is up and running.