DOP-C02 Question 37
Single answerYour development team uses AWS CodePipeline to build and deploy applications. You have been tasked with ensuring that all application artifacts produced during the build stage are securely stored and versioned for future use. Which approach should you implement to meet these requirements?
- A
Store the artifacts in an Amazon S3 bucket with versioning enabled and apply an appropriate bucket policy.
- B
Store the artifacts in an Amazon EFS file system with access restricted to the build server.
- C
Store the artifacts in an AWS CodeArtifact repository and enable encryption at rest using AWS KMS.
- D
Store the artifacts in an Amazon RDS database with encryption enabled and frequently back up the database.
Show answer and explanation
Correct answer: A
Explanation
To securely store and manage build artifacts, Amazon S3 with versioning is the most appropriate solution. It provides the required versioning capability and allows for fine-grained access control through bucket policies. This ensures that artifacts are securely stored, versioned, and easily accessible for future use.
- A. Correct.
This is the correct answer. Storing artifacts in an S3 bucket with versioning ensures that all versions of the artifacts are retained, allowing you to track changes and roll back to previous versions if necessary. Additionally, applying a bucket policy ensures secure access to the artifacts.
- B. Incorrect.
Amazon EFS is not a suitable storage solution for build artifacts. While it can provide shared storage for multiple servers, it does not offer versioning or other artifact management features suited for this use case.
- C. Incorrect.
AWS CodeArtifact is designed for storing and managing software packages, not build artifacts. While it supports encryption at rest, it is not the right service for this scenario.
- D. Incorrect.
Amazon RDS is a relational database service and is not suitable for storing build artifacts. Using it for this purpose would be inefficient and unnecessarily complex.