DOP-C02 Question 38
Single answerYour organization uses AWS CodePipeline for continuous integration and deployment. As part of your build process, you need to manage application artifacts efficiently. The artifacts must be versioned, securely stored, and shared across multiple AWS services and accounts for various deployment stages. Which AWS service and configuration should you choose to fulfill these requirements?
- A
Store artifacts in an S3 bucket with versioning enabled and configure bucket policies for cross-account access.
- B
Store artifacts in AWS CodeArtifact and enable cross-account sharing using repository policies.
- C
Use AWS CodeCommit to store build artifacts and configure branch permissions for access control.
- D
Store artifacts in an Elastic File System (EFS) volume and mount it across accounts for deployment.
Show answer and explanation
Correct answer: A
Explanation
Using an S3 bucket with versioning enabled is a best practice for managing build artifacts in AWS. It provides durability, versioning, secure access, and the ability to share artifacts across accounts through bucket policies. The other options are either not designed for artifact management or lack the necessary features to meet the requirements outlined in the scenario.
- A. Correct.
This is the correct option. Using an S3 bucket with versioning enabled ensures artifact versioning, secure storage, and allows cross-account access through bucket policies. S3 is widely used for artifact management in CI/CD pipelines.
- B. Incorrect.
While AWS CodeArtifact is a service for storing and sharing software packages, it is not designed for managing build artifacts like application binaries or deployment packages.
- C. Incorrect.
AWS CodeCommit is a source control service and is not suitable for managing build artifacts. It is primarily used for source code versioning.
- D. Incorrect.
Elastic File System (EFS) is a shared file system for use with AWS services and on-premises resources. It is not designed for artifact storage and lacks native versioning or cross-account sharing features for this use case.