AWS Certified Solutions Architect – Professional — Question 803

A company uses an AWS CloudFormation template to deploy an Amazon Elastic Container Service (Amazon ECS) service into a production environment. The template includes an Amazon S3 bucket that is named by using a common prefix with the CloudFormation stack name.

The company uses the same template to create temporary environments for development and continuous integration. Developers can create environments successfully, but they receive errors from CloudFormation when they attempt to delete the environments. The developers often need to delete and recreate stacks with the same names as part of the development and testing process.

Which combination of steps should a solutions architect take to modify the solution to resolve this issue? (Choose two.)

Answer options

Correct answer: A, D

Explanation

CloudFormation cannot delete an Amazon S3 bucket that still contains objects, which causes the stack deletion to fail. To resolve this, a custom resource backed by an AWS Lambda function (Option A) can be implemented to empty the S3 bucket programmatically when a delete stack operation is initiated. Furthermore, the IAM role performing the CloudFormation deletion must be explicitly granted the s3:DeleteObject permission (Option D) to allow the Lambda function or deletion process to remove the objects.