Skip to content

AWS Certified Developer - Associate (DVA-C02) Fact Sheet

Quick Reference

Exam Code: DVA-C02 Duration: 130 minutes Questions: 65 scored questions Passing Score: 720/1000 Cost: $150 USD Validity: 3 years Delivery: Pearson VUE (Testing center or online proctored)

Exam Domain Breakdown

Domain Weight Focus
Development with AWS Services 32% Lambda, API Gateway, DynamoDB, S3, SDK
Security 26% IAM, Cognito, KMS, Secrets Manager
Deployment 24% CodePipeline, CodeBuild, CodeDeploy, CloudFormation
Troubleshooting & Optimization 18% CloudWatch, X-Ray, performance tuning

Core Services to Master

Development (32%)

Security (26%)

Deployment (24%)

Troubleshooting (18%)

Service Limits to Know

Lambda

  • Timeout: 15 minutes max
  • Memory: 128 MB - 10 GB
  • Deployment package: 50 MB (zipped), 250 MB (unzipped)
  • Concurrent executions: 1,000 (default, can request increase)
  • Environment variables: 4 KB total
  • Layers: 5 layers per function

DynamoDB

  • Item size: 400 KB max
  • Partition key: 2,048 bytes max
  • Sort key: 1,024 bytes max
  • BatchGetItem: 100 items, 16 MB
  • BatchWriteItem: 25 items
  • Query result: 1 MB max per request
  • Transaction: 100 items, 4 MB

API Gateway

  • Timeout: 29 seconds max
  • Payload size: 10 MB max
  • Header size: 10 KB total
  • Integration timeout: 29 seconds
  • Rate limits: 10,000 requests per second (default)
  • Burst limits: 5,000 requests

S3

  • Object size: 5 TB max
  • Single PUT: 5 GB max
  • Multipart upload: Required for > 5 GB
  • Part size: 5 MB - 5 GB (except last part)
  • Parts: 10,000 parts max per upload
  • Bucket limit: 100 buckets per account (default)

Lambda Event Sources

Synchronous (Wait for response)

Asynchronous (No wait)

Stream-based (Poll-based)

DynamoDB Access Patterns

Operation Use Case Performance
GetItem Retrieve single item by primary key Fastest, most efficient
BatchGetItem Retrieve up to 100 items Efficient for multiple items
Query Items with same partition key Efficient, use sort key filtering
Scan All items in table Slowest, expensive, avoid if possible
PutItem Insert or replace item Fast
UpdateItem Modify specific attributes Fast, use atomic counters
DeleteItem Remove single item Fast
TransactWriteItems ACID transactions (up to 100 items) Slower, higher cost

Documentation: - πŸ“– DynamoDB Query - Query operations - πŸ“– DynamoDB Scan - Scan operations and optimization - πŸ“– DynamoDB BatchOperations - Batch reads and writes - πŸ“– DynamoDB Transactions - ACID transactions

IAM Policy Evaluation Logic

  1. By default, deny all (implicit deny)
  2. Explicit DENY always wins (cannot be overridden)
  3. Explicit ALLOW overrides implicit deny
  4. Evaluation order:
  5. Evaluate all applicable policies
  6. Check for explicit DENY β†’ if found, deny access
  7. Check for explicit ALLOW β†’ if found, allow access
  8. If no ALLOW found, implicit deny applies

Policy Types: - Identity-based - Attached to users, groups, roles - Resource-based - Attached to resources (S3 buckets, SQS queues, Lambda functions) - Permission boundaries - Maximum permissions for identity-based policies - SCPs - Service Control Policies (organization level)

Documentation: - πŸ“– IAM Policy Evaluation - Policy evaluation logic - πŸ“– IAM Policy Types - Identity vs resource-based - πŸ“– IAM Policy Examples - Common policy patterns - πŸ“– IAM Policy Simulator - Test policy effects

CodeDeploy Deployment Types

In-Place (Rolling)

  • Compute: EC2, on-premises
  • Traffic: Gradual shift
  • Rollback: Redeploy previous version
  • Cost: Lower (no duplicate infrastructure)
  • Downtime: Possible during deployment
  • Configs: OneAtATime, HalfAtATime, AllAtOnce, Custom

Blue/Green

  • Compute: EC2, Lambda, ECS
  • Traffic: All-at-once switch
  • Rollback: Instant (reroute traffic back)
  • Cost: Higher (duplicate infrastructure temporarily)
  • Downtime: None
  • Lambda: Version aliases
  • ECS: New task set

API Gateway Integration Types

Type Use Case Request/Response Transform
Lambda Proxy Simple Lambda integration No transformation, Lambda receives entire request
Lambda Custom Transform request/response Full control via mapping templates
HTTP Proxy Pass-through to HTTP endpoint No transformation
HTTP Custom Transform to HTTP endpoint Full control via mapping templates
AWS Service Direct AWS service integration Map to service API format
Mock Return response without backend Testing, static responses

CloudFormation Intrinsic Functions

Function Purpose Example
Ref Reference parameter or resource !Ref MyParameter
GetAtt Get attribute of resource !GetAtt MyBucket.Arn
Sub String substitution !Sub 'arn:aws:s3:::${BucketName}'
Join Join strings with delimiter !Join ['/', [a, b, c]]
Select Select item from list !Select [0, !GetAZs '']
ImportValue Import cross-stack export !ImportValue NetworkStackVPC
Split Split string into list !Split ['\|', 'a\|b\|c']
GetAZs List of AZs in region !GetAZs ''
FindInMap Find value in mappings !FindInMap [RegionMap, !Ref AWS::Region, AMI]
If Conditional value !If [CreateProd, t3.large, t3.micro]

X-Ray Concepts

  • Trace - End-to-end journey of a request
  • Segment - Data about work done by a service
  • Subsegment - Granular timing within a segment (DB calls, HTTP requests)
  • Annotation - Key-value pairs for indexing and filtering (searchable)
  • Metadata - Key-value pairs for additional data (not searchable)
  • Sampling - Rules to control which requests are traced
  • Service Map - Visual representation of application architecture

Documentation: - πŸ“– X-Ray Segments - Segment structure - πŸ“– X-Ray Annotations - Indexable metadata - πŸ“– X-Ray Service Map - Visualize architecture - πŸ“– X-Ray Sampling Rules - Control tracing rate

SQS vs SNS vs EventBridge

Feature SQS SNS EventBridge
Pattern Point-to-point (queue) Pub/sub (topic) Event bus
Consumers One consumer per message Multiple subscribers Multiple targets
Message retention Up to 14 days No retention (deliver now) No retention
Filtering Consumer-side Subscription filter policies Event patterns (JSON)
Ordering FIFO queues FIFO topics No guarantee
Use case Decouple services, async tasks Fan-out notifications Event-driven architecture, rules
Targets Polled by consumers Push to subscribers 20+ AWS services

Documentation: - πŸ“– SQS Developer Guide - Queue concepts and operations - πŸ“– SQS FIFO Queues - Ordering and deduplication - πŸ“– SNS Developer Guide - Topic and subscription management - πŸ“– SNS Message Filtering - Subscription filters - πŸ“– EventBridge User Guide - Event bus and rules - πŸ“– EventBridge Event Patterns - Pattern matching

Exam Tips - Key Concepts

Lambda Best Practices

  • βœ… Use environment variables for config
  • βœ… Initialize SDK clients outside handler
  • βœ… Use Lambda Layers for shared code
  • βœ… Implement exponential backoff for retries
  • βœ… Use provisioned concurrency for critical functions
  • ❌ Don't store state in Lambda function
  • ❌ Don't use recursive calls without limits

DynamoDB Best Practices

  • βœ… Design for access patterns first
  • βœ… Use composite partition keys for even distribution
  • βœ… Use GSI for alternate access patterns
  • βœ… Use Query instead of Scan
  • βœ… Use eventually consistent reads (default)
  • ❌ Don't use Scan for production queries
  • ❌ Don't create hot partitions

Security Best Practices

  • βœ… Use IAM roles, not access keys
  • βœ… Encrypt data at rest with KMS
  • βœ… Use Secrets Manager for credentials
  • βœ… Enable CloudTrail for audit logs
  • βœ… Implement least privilege access
  • ❌ Never hardcode credentials
  • ❌ Don't use root account

CI/CD Best Practices

  • βœ… Automate all deployments
  • βœ… Use blue/green for zero-downtime
  • βœ… Implement automated testing in pipeline
  • βœ… Use CloudFormation for infrastructure
  • βœ… Tag resources for cost tracking
  • ❌ Don't manually deploy to production
  • ❌ Don't skip testing stages

Common Exam Scenarios

  1. "Most cost-effective solution" β†’ Serverless (Lambda, DynamoDB on-demand, S3)
  2. "Minimum operational overhead" β†’ Managed services, Elastic Beanstalk
  3. "Decouple microservices" β†’ SQS between services
  4. "Fan-out notifications" β†’ SNS to multiple SQS queues
  5. "Secure API" β†’ API Gateway + Cognito User Pools
  6. "Store credentials securely" β†’ Secrets Manager with rotation
  7. "Debug performance issues" β†’ X-Ray distributed tracing
  8. "Zero-downtime deployment" β†’ Blue/green with CodeDeploy
  9. "Event-driven processing" β†’ S3 event β†’ Lambda
  10. "Workflow orchestration" β†’ Step Functions

Study Priorities

High Priority (Must Know)

  • Lambda function development and event sources
  • DynamoDB operations and design patterns
  • API Gateway configuration and authorization
  • IAM roles and policies for applications
  • Cognito User Pools and Identity Pools
  • KMS encryption and envelope encryption
  • CodePipeline, CodeBuild, CodeDeploy
  • CloudWatch Logs and metrics
  • X-Ray tracing implementation

Medium Priority (Important)

  • S3 event notifications and pre-signed URLs
  • SQS/SNS messaging patterns
  • Step Functions state machines
  • Secrets Manager and Parameter Store
  • CloudFormation template syntax
  • Elastic Beanstalk deployment options
  • RDS Proxy for serverless
  • EventBridge rules and patterns

Lower Priority (Good to Know)

  • Lambda@Edge and CloudFront integration
  • DynamoDB Accelerator (DAX)
  • AppSync for GraphQL APIs
  • Kinesis Data Streams
  • ECS/ECR containerization
  • API Gateway caching strategies
  • CloudWatch Synthetics
  • AWS SAM framework

Last-Minute Review

Remember these: - Lambda max timeout: 15 minutes - DynamoDB item max size: 400 KB - API Gateway timeout: 29 seconds - IAM policy evaluation: Explicit DENY always wins - Cognito: User Pools = authentication, Identity Pools = AWS access - KMS: Envelope encryption for large data - CodeDeploy: Blue/green = zero downtime - X-Ray: Annotations are searchable, metadata is not - SQS visibility timeout: Message hidden during processing - CloudFormation: Ref for IDs, GetAtt for attributes

Common gotchas: - Lambda in VPC needs NAT gateway for internet access - DynamoDB Scan reads entire table (expensive) - API Gateway caching is per stage - Cognito tokens expire (need refresh token) - CodeBuild needs buildspec.yml - CloudFormation rollback on any failure (by default) - X-Ray daemon must be running - IAM eventually consistent (except when reading own writes)


Good luck on your exam! Focus on hands-on practice - build actual applications with these services.