2. What is AWS Elastic Beanstalk?
Easy way to deploy and manage applications on AWS.
Automatically provisions ELB, Auto Scaling, and
CloudWatch.
Easily snapshot application logs from EC2 instances.
Receive email notifications through SNS for
application health changes.
Open platform with access to underlying resources
Manage configuration settings in a single place for:
Switching instance types
Running in multiple AZ
Turning on HTTPS
Providing a JDBC connection string
Etc…
3. How Does AWS Elastic Beanstalk Work?
yourApp.elasticbeanstalk.com
Amazon Route 53
Hosted Zone
Elastic Load
Balancer
Amazon EC2
Instances
Amazon
CloudWatch
Alarms
Web
Web Server
Server
Amazon SNS Host Amazon S3
Notifications Manager Bucket
Auto Scaling Group
AZ-1
AZ-2
Region
5. What we will show:
AWS Management console
Launch initial application
Launch dev environment
Push out some code
Launch production environment
Look at how we can customize
Make our application highly available!
6. Key Features
Tomcat 6 & 7, PHP
IAM support – for controlling access to Elastic Beanstalk
resources
Configuration settings across EC2 fleet:
AWS credentials (to connect to DynamoDB)
Database connection strings (to connect to RDS)
Common web server or app server settings
Auto Scaling UI
Save Configuration – for persisting golden set of settings
Swap URL – for deploying or updating with minimal
downtime
7. Best Practices
Deploy production workloads to at least 2 AZ.
Load test application prior to launch to understand
bottlenecks.
Inject IAM credentials through Elastic Beanstalk
Inject JDBC connection strings through Elastic Beanstalk
Terminate SSL connections at the ELB
Create a custom AMI for use with Elastic Beanstalk