Deployment Frameworks
Once your application runs on Elastic Beanstalk, integrate deployment into your existing engineering workflows.
Console Deployment
The Elastic Beanstalk console provides a step-by-step visual interface for deployment. Upload a source bundle or container image, then monitor deployment progress showing environment health transitions, instance-level status, and real-time event logging via the Deployments tab. View full deployment history with one-click rollback options for any previous version.
AWS CLI and SDKs
The AWS CLI and AWS SDKs let you script environment creation and deployment from your own tooling. Use aws elasticbeanstalk create-application, create-application-version, and create-environment to provision and deploy applications, including registering pre-built container images from Amazon ECR for multi-service architectures.
Infrastructure as Code (Terraform)
For teams managing infrastructure declaratively, the AWS provider for Terraform includes Elastic Beanstalk resources for applications, application versions, and environments, so you can version-control your environment definitions alongside the rest of your infrastructure.
GitHub Actions
The official GitHub Action for Elastic Beanstalk
Application code merges to your main branch
GitHub Actions builds and packages the deployment artifact
The action uploads to S3 and triggers an Elastic Beanstalk deployment
Elastic Beanstalk manages rolling updates automatically, health checks, and automatic rollback
This eliminates custom deployment scripts while keeping your CI/CD pipeline in GitHub.
Deployment Strategies
Elastic Beanstalk supports multiple deployment strategies, selectable per environment. The strategies available differ by deployment mode: Standard Mode offers all-at-once, rolling, rolling with additional batch, and immutable; Cluster Mode offers all-at-once, rolling, immutable, and traffic-splitting deployments. Confirm the strategies available for your mode in the deployment strategy documentation linked below.
| Strategy | Behavior | Available In | Best For |
|---|---|---|---|
| All at once | Deploys to all instances simultaneously | Standard, Cluster | Development environments, fast iteration |
| Rolling | Deploys in batches, maintaining capacity | Standard, Cluster | Production with tolerance for brief reduced capacity |
| Rolling with additional batch | Launches new instances before retiring old | Standard | Production where full capacity must be maintained |
| Immutable | Launches entirely new instances, swaps on health | Standard, Cluster | Production where deployment failure cannot impact running instances |
| Traffic splitting | Routes a percentage of traffic to new version | Cluster | When you need to validate a new version with a subset of real production traffic before full rollout |
All strategies include automatic rollback on health check failure. If a deployment causes health degradation, Elastic Beanstalk reverts to the previous version without manual intervention.
Go Deeper
Go Deeper
Deploy to Elastic Beanstalk with GitHub Actions
- CI/CD pipeline setup AWS Elastic Beanstalk Now Supports GitHub Actions (What's New)
- Feature announcement Elastic Beanstalk Deployment Strategies - All-at-once, rolling, immutable, and traffic-splitting deployments
Elastic Beanstalk Deployments Tab (What's New)
- Real-time deployment monitoring Deploy Containers by Using Elastic Beanstalk (Prescriptive Guidance) - Docker deployment pattern