/dev → Lambda alias: dev → DynamoDB: orders-dev
/staging → Lambda alias: staging → DynamoDB: orders-staging
/prod → Lambda alias: prod → DynamoDB: orders-prod
# Stage: dev
lambdaAlias: dev
tableName: orders-dev
logLevel: DEBUG
# Stage: prod
lambdaAlias: prod
tableName: orders-prod
logLevel: ERROR
api.example.com → API Gateway Custom Domain
/v1 → API Gateway Stage: v1
/v2 → API Gateway Stage: v2
Route 53 là DNS service dùng để route traffic đến AWS resources.
| Record Type | Use Case |
|---|---|
| A (Alias) | API Gateway custom domain, CloudFront, ALB, S3 website |
| CNAME | Non-root domain → another domain |
| Alias | Root domain (zone apex) → AWS resource |
| Policy | Use Case |
|---|---|
| Simple | Single resource |
| Weighted | Canary/gradual deployment (90% old, 10% new) |
| Failover | Active-passive (disaster recovery) |
| Latency-based | Route to lowest latency region |
| Geolocation | Route by user location |
# Weighted routing cho canary deployment
api.example.com → 90% → API Gateway v1 (current)
→ 10% → API Gateway v2 (new)
Resources:
MyApi:
Type: AWS::Serverless::Api
Properties:
StageName: !Ref Stage
Variables:
TableName: !Sub "orders-${Stage}"
Exam Tip: Stage variables for per-environment config. Custom domains for production APIs. Base path mapping for API versioning.