Deployment Study Guide — DVA-C02

22% of the exam · domain 3 of 5 · AWS Developer Associate · Free Deployment practice questions

0 of 43 topics covered
What the exam asks here — tap to tick off0 / 14 covered
Domain 3 of 5

AWS DVA-C02: Deployment Domain Study Guide (24%)

This domain tests your ability to select and configure AWS CI/CD services, manage infrastructure as code, and deploy containerized and serverless applications. Expect scenario-based questions requiring you to choose the right deployment strategy, fix broken pipeline configurations, or identify the correct file format for a given tool.


AWS CodeCommit

CodeCommit is a managed Git service. Exam questions focus on access control (IAM policies vs. Git credentials vs. SSH keys), branching strategies, and trigger integration with Lambda or SNS.

  • HTTPS Git credentials and SSH keys are per-IAM-user; you cannot attach them to roles
  • Repository triggers fire on push events; use them to invoke Lambda or notify SNS
  • Trap: CodeCommit does not natively integrate with GitHub Actions; use CodePipeline for orchestration

AWS CodeBuild

CodeBuild executes builds defined in buildspec.yml, which must live in the source root (or be specified explicitly in the project). Know the four phases: install, pre_build, build, post_build.

  • Environment variables: set in the project config or directly in buildspec.yml; use Parameter Store or Secrets Manager references to avoid plaintext secrets (parameter-store and secrets-manager keys under env)
  • Artifacts are uploaded to S3; specify files, base-directory, and discard-paths carefully
  • Build cache (S3 or local) speeds up dependency installation — common optimization question
  • Trap: post_build runs even if build fails; don't assume it only runs on success

AWS CodeDeploy

CodeDeploy handles deployments to EC2, on-premises servers, Lambda, and ECS. The AppSpec file format differs by compute type:

TargetAppSpec formatKey section
EC2/on-premYAMLhooks (BeforeInstall, AfterInstall, ApplicationStart…)
LambdaYAML/JSONhooks (BeforeAllowTraffic, AfterAllowTraffic)
ECSYAML/JSONhooks + ContainerName/ContainerPort
  • In-place: rolling replacement on existing instances; no new infrastructure
  • Blue/green: new instances/tasks provisioned, traffic shifted, old environment terminated after configurable wait
  • Deployment groups define which instances/services are targeted (by tag or ASG)
  • Trap: rollbacks require enabling them explicitly or configuring CloudWatch alarm triggers; they are not automatic by default

AWS CodePipeline

CodePipeline orchestrates CI/CD as a series of stages containing actions. Actions have categories: Source, Build, Test, Deploy, Approval, Invoke.

  • Manual approval action sends an SNS notification; pipeline pauses until approved or rejected via console/CLI/API
  • Cross-region actions require an S3 artifact bucket in each target region
  • Pipeline execution is triggered by source changes (CodeCommit, S3, ECR) or on a schedule via CloudWatch Events
  • Trap: you cannot skip stages; actions within a stage can run in parallel (by setting runOrder to the same value), but stages are always sequential

AWS Elastic Beanstalk

Beanstalk abstracts infrastructure but exposes configuration through .ebextensions (YAML/JSON files in a .ebextensions/ directory in your source bundle) and Procfile (for multi-process apps).

Deployment policies — know the tradeoffs:

PolicyDowntimeRollback speedExtra cost
All-at-onceYesRedeployNone
RollingNoSlow (manual)None
Rolling with additional batchNoSlowSlight (extra instances)
ImmutableNoFast (swap)Yes (double capacity)
Blue/greenNoFast (swap URLs)Yes

Unlock with a paid plan

1 more section (about 645 words) continue below. Every paid plan unlocks all DVA-C02 study guides, the full question bank and mock exams, from $4.97/month.