AWS Certified Solutions Architect - Professional (#558)

A Solutions Architect has created an AWS CloudFormation template for a three-tier application that contains an Auto Scaling group of Amazon EC2 instances running a custom AMI. The Solutions Architect wants to ensure that future updates to the custom AMI can be deployed to a running stack by first updating the template to refer to the new AMI, and then invoking

UpdateStack

to replace the EC2 instances with instances launched from the new AMI.

How can updates to the AMI be deployed to meet these requirements?

Create a change set for a new version of the template, view the changes to the running EC2 instances to ensure that the AMI is correctly updated, and then execute the change set.
Edit the
AWS::AutoScaling::LaunchConfiguration
resource in the template, changing its
DeletionPolicy
to
Replace.
Edit the
AWS::AutoScaling::
AutoScalingGroup
resource in the template, inserting an
UpdatePolicy
attribute.
Create a new stack from the updated template. Once it is successfully deployed, modify the DNS records to point to the new stack and delete the old stack.