AWS Certified Developer – Associate (DVA-C02)DeploymentMedium

A development team is using AWS CodePipeline to automate their software release process. They have multiple environments (Dev, Test, Prod) and require a manual approval step before deploying to the Production environment. How can they implement this manual approval within CodePipeline?

  1. AConfigure an IAM policy on the CodePipeline service role to restrict deployments to Production without specific user permissions.
  2. BAdd a Lambda function in the Production stage that requires a manual trigger to proceed.
  3. CUse AWS Step Functions to orchestrate a workflow that pauses before Production deployment and waits for human input.
  4. DInsert an 'Approval' action type into the Production stage of the CodePipeline.
Show answer & explanation

Correct answer: D. Insert an 'Approval' action type into the Production stage of the CodePipeline.

AWS CodePipeline has a built-in 'Approval' action type specifically designed for manual gates. By inserting this action into the Production stage, the pipeline will pause and wait for a designated user or group to manually approve the deployment before proceeding, directly addressing the requirement.

Why the other options are wrong

  • A. IAM policies control permissions for actions, not the flow of the pipeline itself or manual approval steps.
  • B. While possible, using a Lambda function for manual approval is an over-engineered solution when CodePipeline offers a native action.
  • C. Step Functions can orchestrate complex workflows, but for a simple manual approval gate in CodePipeline, it's an unnecessary abstraction.

CodePipeline Manual Approval

An action type in AWS CodePipeline that pauses the pipeline execution at a specific stage and requires a designated user or group to manually approve before the pipeline can proceed.

  • Provides a human gate for critical deployment stages.
  • Can be configured with SNS notifications for approval requests.
  • Ensures review and sign-off before sensitive deployments.

Memory trick: CodePipeline's 'Approval' action is the human checkpoint.

More Deployment questions