Deployment Policies
- All at once: fastest, causes downtime. All instances updated simultaneously.
- Rolling: updates in batches. Reduced capacity during deployment. No downtime.
- Rolling with additional batch: launches new instances first, then updates in batches. Full capacity maintained.
- Immutable: launches a full new set of instances in a temporary ASG. Zero downtime, quick rollback.
- Traffic splitting (canary): sends a percentage of traffic to new instances. Best for validation.
- Blue/green: create a new environment, swap CNAMEs. Full isolation between versions.
Configuration
- .ebextensions/*.config: YAML/JSON files in source bundle for environment customization.
- option_settings: set environment properties, scaling, load balancer, etc.
- Resources: add custom CloudFormation resources to the environment.
- Saved configurations: named snapshots of environment settings for reuse.
- Precedence: API/CLI > saved configuration > .ebextensions > default values.
Environment Types
- Web server environment: handles HTTP requests via ALB/NLB/CLB.
- Worker environment: processes messages from an SQS queue via a daemon.
- Single instance: one EC2 instance, no load balancer. Good for dev/test.
- Docker: single-container or multi-container (ECS-managed) Docker environments.
Practice Elastic Beanstalk Questions
Put your knowledge to the test with practice questions.