AWS Certified DevOps Engineer – Professional (DOP-C02) — Question 384
A DevOps team is merging code revisions for an application that uses an Amazon RDS Multi-AZ DB cluster for its production database. The DevOps team uses continuous integration to periodically verify that the application works. The DevOps team needs to test the changes before the changes are deployed to the production database.
Which solution will meet these requirements?
Answer options
- A. Use a buildspec file in AWS CodeBuild to restore the DB cluster from a snapshot of the production database, run integration tests, and drop the restored database after verification.
- B. Deploy the application to production. Configure an audit log of data control language (DCL) operations to capture database activities to perform if verification fails.
- C. Create a snapshot of the DB cluster before deploying the application. Use the Update requires:Replacement property on the DB instance in AWS CloudFormation to deploy the application and apply the changes.
- D. Ensure that the DB cluster is a Multi-AZ deployment. Deploy the application with the updates. Fail over to the standby instance if verification fails.
Correct answer: A
Explanation
Option A is correct because restoring a production database snapshot within an AWS CodeBuild pipeline allows the team to safely run integration tests against realistic data in an isolated environment before tearing it down. Options B, C, and D are incorrect because they involve deploying untested changes directly to the production environment, which risks data corruption or downtime, as Multi-AZ replication and CloudFormation replacements do not safeguard against bad application-level database updates.