AWS Elastic Beanstalk
Developer Guide (API Version 2010-12-01)
« PreviousNext »
View the PDF for this guide.Go to the AWS Discussion Forum for this product.Go to the Kindle Store to download this guide in Kindle format.Did this page help you?  Yes | No |  Tell us about it...

Option Values

This section covers the possible option values that can be specified in the options file that is passed in as the options-file parameter. This options file can be passed in with the following command line operations:

General Option Values

NameDescriptionDefaultOptions

Namespace: aws:autoscaling:asg

Availability Zones

Availability Zones are distinct locations within a Region that are engineered to be isolated from failures in other Availability Zones and provide inexpensive, low-latency network connectivity to other Availability Zones in the same Region. Choose the number of Availability Zones you want to launch your instances in.

Any 1

Any 1

Any 2

Cooldown

Cooldown periods help to prevent Auto Scaling from initiating additional scaling activities before the effects of previous activities are visible.

360

0 to 10000

Custom Availability Zones

Define which Availability Zones you want to launch your instances in.

n/a

us-east-1a

us-east-1b

us-east-1c

us-east-1d

us-east-1e

MinSize

Minimum number of instances you want in your Auto Scaling group.

1

1 to 10000

MaxSize

Maximum number of instances you want in your Auto Scaling group.

4

1 to 10000

Namespace: aws:autoscaling:launchconfiguration

EC2KeyName

A key pair enables you to securely log into your Amazon EC2 instance.

n/a

n/a

IamInstanceProfile

An instance profile enables IAM users and AWS services to access temporary security credentials to make AWS API calls. Specify the profile name or the ARN.

Example: ElasticBeanstalkProfile

Example: arn:aws:iam::123456789012:instance-profile/ElasticBeanstalkProfile

n/a

ImageId

You can override the default Amazon Machine Image (AMI) by specifying your own custom AMI ID.

Example: ami-cbab67a2

n/a

InstanceType

Choose from a number of different instance types to meet your computing needs. Each instance provides a predictable amount of dedicated compute capacity.

The instance types available depend on whether you are using a legacy container. If you are unsure if you are running a legacy container, check the Elastic Beanstalk console. For instructions, see To check if you are using a legacy container type.

32-bit: t1.micro

64-bit: t1.micro

32-bit containers:

  • m1.medium in all regions

64-bit containers:

  • m3.xlarge in all regions

  • m3.2xlarge in all regions

  • cc1.4xlarge, cc2.8xlarge, and cg1.4xlarge in us-east-1

  • cc2.8xlarge and cg1.4xlarge in eu-west-1

  • cc2.8xlarge in us-west-2

32-bit legacy containers:

  • t1.micro

  • m1.small

  • c1.medium

64-bit legacy containers:

  • t1.micro

  • m1.small

  • c1.medium

  • m1.medium

  • m1.large

  • m1.xlarge

  • c1.xlarge

  • m2.xlarge

  • m2.2xlarge

  • m2.4xlarge

MonitoringInterval

Interval at which you want Amazon CloudWatch metrics returned.

5 minutes

1 minute

5 minute

SecurityGroups

Defines firewall rules for your instances.

elasticbeanstalk-

default

n/a

SSHSourceRestriction

Used to lock down SSH access to an environment. For instance, use it to lockdown SSH access to the EC2 instances so that only a bastion host can access the instances in the private subnet.

protocol — the allowed values for a security group ingress rule

fromPort — the starting port for the firewall rule

toPort — the end port for the firewall rule

sourceRestriction — can be either an IP address or a security group name followed by an optional security group owner (e.g., OhterBastionSGName,otheraccountid)

n/a

Example: tcp, 22, 22, 54.240.196.185

Namespace: aws:autoscaling:trigger

BreachDuration

Amount of time a metric can be beyond its defined limit (as specified in the Upper Threshold and Lower Threshold) before the trigger fires.

5

1 to 600

LowerBreachScaleIncrement

How many Amazon EC2 instances to remove when performing a scaling activity.

-1

n/a

LowerThreshold

If the measurement falls below this number for the breach duration, a trigger is fired.

2000000

0 to 20000000

MeasureName

Metric used for your auto scaling trigger.

NetworkOut

CPUUtilization

NetworkIn

NetworkOut

DiskWriteOps

DiskReadBytes

DiskReadOps

DiskWriteBytes

Latency

RequestCount

HealthyHostCount

UnhealthyHostCount

Period

Specifies how frequently Amazon CloudWatch measures the metrics for your trigger

5

n/a

Statistic

Statistic the trigger should use, such as Average.

Average

Minimum

Maximum

Sum

Average

Unit

Unit for the trigger measurement, such as Bytes.

Bytes

Seconds

Percent

Bytes

Bits

Count

Bytes/Second

Bits/Second

Count/Second

None

UpperBreachScaleIncrement

How many Amazon EC2 instances to add when performing a scaling activity.

1

n/a

UpperThreshold

If the measurement is higher than this number for the breach duration, a trigger is fired.

6000000

0 to 20000000

Namespace: aws:ec2:vpc (non-legacy container types)

VPCId

The ID for your VPC.

n/a

n/a

Subnets

The ID of the Auto Scaling group subnet.

n/a

n/a

ELBSubnets

The ID of the subnet for the elastic load balancer.

n/a

n/a

ELBScheme

Specify "internal" if you want to create an internal load balancer in your VPC so that your Elastic Beanstalk application cannot be accessed from outside your VPC.

n/a

n/a

DBSubnets

Contains the ID of the DB subnets. This is only used if you want to add an Amazon RDS DB Instance as part of your application.

n/a

n/a

Namespace: aws:elasticbeanstalk:application

Application Healthcheck URL

The URL the Elastic Load Balancer uses to query for instance health.

/

A blank string is treated as "/", or specify a string starting with "/".

Namespace: aws:elasticbeanstalk:monitoring

Automatically Terminate Unhealthy Instances

Specify if you want to terminate unhealthy instances automatically.

true

true

false

Namespace: aws:elasticbeanstalk:sns:topics

Notification Endpoint

Endpoint where you want to be notified of important events affecting your application.

n/a

n/a

Notification Protocol

Protocol used to send notifications to your endpoint.

email

http

https

email

email-json

sqs

Notification Topic ARN

Amazon Resource Name for the topic you subscribed to.

n/a

n/a

Notification Topic Name

Name of the topic you subscribed to.

n/a

n/a

Namespace: aws:elb:healthcheck

HealthyThreshold

Consecutive successful URL probes before Elastic Load Balancing changes the instance health status.

3

2 to 10

Interval

Define the interval at which Elastic Load Balancing will check the health of your application's Amazon EC2 instances.

30

5 to 300

Timeout

Number of seconds Elastic Load Balancing will wait for a response before it considers the instance non-responsive.

5

2 to 60

UnhealthyThreshold

Consecutive unsuccessful URL probes before Elastic Load Balancing changes the instance health status.

5

2 to 10

Namespace: aws:elb:loadbalancer

LoadBalancerHTTPPort

External facing port used by the listener.

80

OFF

80

LoadBalancerPortProtocol

Protocol used by the listener. (available for non-legacy container types)

HTTP

HTTP

TCP

LoadBalancerHTTPSPort

External facing port used by the secure listener.

OFF

OFF

443

8443

LoadBalancerSSLPortProtocol

Protocol used by the secure listener. (available for non-legacy container types)

HTTPS

HTTPS

SSL

SSLCertificateId

Amazon Resource Name (ARN) for the SSL certificate you've uploaded for AWS Access and Identity Management.

n/a

n/a

Namespace: aws:elb:policies

Stickiness Cookie Expiration

Duration of validity for each cookie.

0

0 to 1000000

Stickiness Policy

Binds a user's session to a specific server instance so that all requests coming from the user during the session will be sent to the same server instance.

false

true

false

Namespace: aws:rds:dbinstance

DBAllocatedStorage

The allocated database storage size, specified in gigabytes.

MySQL: 5

Oracle: 10

sqlserver-se: 200

sqlserver-ex: 30

sqlserver-web: 30

MySQL: 5-1024

Oracle: 10-1024

sqlserver: cannot be modified

DBDeletionPolicy

Decides whether to delete or snapshot the DB instance on environment termination.

Warning

Deleting a DB instance results in permanent data loss.

Delete

Delete

Snapshot

DBEngine

The name of the database engine to use for this instance.

mysql

mysql

oracle-se1

sqlserver-ex

sqlserver-web

sqlserver-se

DBEngineVersion

The version number of the database engine.

5.5

n/a

DBInstanceClass

The database instance type.

db.t1.micro

Go to DB Instance Class in the Amazon Relational Database Service User Guide.

DBPassword

The name of master user password for the database instance.

n/a

n/a

DBSnapshotIdentifier

The identifier for the DB snapshot to restore from.

n/a

n/a

DBUser

The name of master user for the DB Instance.

ebroot

n/a

MultiAZDatabase

Specifies whether a database instance Multi-AZ deployment needs to be created. For more information about Multi-AZ deployments with Amazon Relational Database Service (RDS), go to Regions and Availability Zones in the Amazon Relational Database Service User Guide.

false

true

false

Note

The namespace aws:ec2:vpc is supported for the following container types:

  • Node.js

  • PHP 5.3 and PHP 5.4

  • Python

  • Ruby 1.8.7 and 1.9.3

  • Apache Tomcat 6 and 7

  • Windows Server 2008 R2 running IIS 7.5 and Windows Server 2012 running IIS 8

AWS Elastic Beanstalk supports legacy and non-legacy containers for PHP 5.3, Windows Server 2008 R2 running IIS 7.5, Windows Server 2012 running IIS 8, and Apache Tomcat 6 or 7. If you are not sure if you are using a legacy container, check the Elastic Beanstalk console. For instructions, see To check if you are using a legacy container type.

Java Container Options

NameDescriptionDefaultOptions

Namespace: aws:elasticbeanstalk:application:environment

AWS_SECRET_KEY

Your Amazon Secret Access Key.

n/a

n/a

AWS_ACCESS_KEY_ID

Your Amazon Access Key ID.

n/a

n/a

JDBC_CONNECTION_STRING

Connection string to an external database.

n/a

n/a

PARAM1 – PARAM5

System properties passed in to the JVM at startup. You can use any number of parameters you want and you can specify any name you want.

n/a

n/a

Namespace: aws:elasticbeanstalk:container:tomcat:jvmoptions

JVM Options

Pass command line options to the JVM at startup.

n/a

n/a

Xmx

Maximum JVM heap sizes.

256m

n/a

XX:MaxPermSize

Section of the JVM heap that is used to store class definitions and associated metadata.

64m

n/a

Xms

Initial JVM heap sizes.

256m

n/a

Namespace: aws:elasticbeanstalk:hostmanager

LogPublicationControl

Copy the log files for your application's Amazon EC2 instances to the Amazon S3 bucket associated with your application on an hourly basis.

false

true

false

Note

You can extend the number of parameters and specify the parameter names in the aws:elasticbeanstalk:container:tomcat:jvmoptions and aws:elasticbeanstalk:application:environment namespaces.

.NET Container Options

NameDescriptionDefaultOptions

Namespace: aws:elasticbeanstalk:application:environment

AWS_SECRET_KEY

Your Amazon Secret Access Key.

n/a

n/a

AWS_ACCESS_KEY_ID

Your Amazon Access Key ID.

n/a

n/a

PARAM1 – PARAM5

Pass in key-value pairs.

n/a

n/a

Namespace: aws:elasticbeanstalk:container:net:apppool

Target Runtime

You can choose the version of .NET Framework for your application.

4.0

2.0

4.0

Enable 32-bit Applications

Enable 32-bit applications.

false

true

false

Namespace: aws:elasticbeanstalk:hostmanager

LogPublicationControl

Copy the log files for your application's Amazon EC2 instances to the Amazon S3 bucket associated with your application.

false

true

false

Note

You can extend the number of parameters and specify the parameter names in the aws:elasticbeanstalk:application:environment namespace.

Node.js Container Options

NameDescriptionDefaultOptions

Namespace: aws:elasticbeanstalk:application:environment

AWS_SECRET_KEY

Your Amazon Access Secret Key.

n/a

n/a

AWS_ACCESS_KEY_ID

Your Amazon Access Key ID.

n/a

n/a

PARAM1 – PARAM5

Pass in key-value pairs as environment variables.

n/a

n/a

Namespace: aws:elasticbeanstalk:container:nodejs

NodeCommand

Command used to start the Node.js application. If an empty string is specified, app.js is used, then server.js, then "npm start" in that order.

""

n/a

NodeVersion

Version of Node.js.

0.8.18

Triple dotted version string. Must be at least 0.8.6 and no greater than 0.8.21.

GzipCompression

Specifies if gzip compression is enabled. If ProxyServer is set to "none", then gzip compression will be disabled.

false

true

false

ProxyServer

Specifies which web server should be used to proxy connections to Node.js. If ProxyServer is set to "none", then static file mappings will not take affect and gzip compression will be disabled.

nginx

apache

nginx

none

Namespace: aws:elasticbeanstalk:container:nodejs:staticfiles

/public (this can be any arbitrary name)

The directory that contains static content. If ProxyServer is set to "none", then the static file mappings will not take affect.

Example: /public

n/a

Namespace: aws:elasticbeanstalk:hostmanager

LogPublicationControl

Copy the log files for your application's Amazon EC2 instances to the Amazon S3 bucket associated with your application.

false

true

false

Note

You can extend the number of parameters and specify the parameter names in the aws:elasticbeanstalk:container:nodejs:staticfiles and aws:elasticbeanstalk:application:environment namespaces.

PHP Container Options

NameDescriptionDefaultOptions

Namespace: aws:elasticbeanstalk:application:environment

AWS_SECRET_KEY

Your Amazon Access Secret Key.

n/a

n/a

AWS_ACCESS_KEY_ID

Your Amazon Access Key ID.

n/a

n/a

PARAM1 – PARAM5

Pass in key-value pairs as environment variables.

n/a

n/a

Namespace: aws:elasticbeanstalk:container:php:phpini

document_root

Specify the child directory of your project that is treated as the public-facing web root.

/

A blank string is treated as "/", or specify a string starting with "/".

memory_limit

Amount of memory allocated to the PHP environment.

128M

n/a

zlib.output_compression

Specifies whether or not PHP should use compression for output.

false

true

false

allow_url_fopen

Specifies if PHP's file functions are allowed to retrieve data from remote locations, such as websites or FTP servers.

true

true

false

display_errors

Specifies if error messages should be part of the output.

Off

On

Off

stderr

max_execution_time

Sets the maximum time, in seconds, a script is allowed to run before it is terminated by the environment.

Off

On

Off

stderr

composer_options

Sets custom options to use when installing dependencies using Composer through composer.phar install. For more information including available options, go to http://getcomposer.org/doc/03-cli.md#install.

n/a

n/a

Namespace: aws:elasticbeanstalk:hostmanager

LogPublicationControl

Copy the log files for your application's Amazon EC2 instances to the Amazon S3 bucket associated with your application.

false

true

false

Note

You can extend the number of parameters and specify the parameter names in the aws:elasticbeanstalk:application:environment namespace.

Python Container Options

NameDescriptionDefaultOptions

Namespace: aws:elasticbeanstalk:application:environment

AWS_SECRET_KEY

Your Amazon Access Secret Key.

n/a

n/a

AWS_ACCESS_KEY_ID

Your Amazon Access Key ID.

n/a

n/a

DJANGO_SETTINGS_MODULE

Specifies which settings file to use.

n/a

n/a

Any arbitrary parameter name, such as "application_stage"

Pass in key-value pairs as environment variables.

n/a

n/a

Namespace: aws:elasticbeanstalk:container:python

WSGIPath

The file that contains the WSGI application. This file must have an "application" callable.

application.py

n/a

NumProcesses

The number of daemon processes that should be started for the process group when running WSGI applications.

1

n/a

NumThreads

The number of threads to be created to handle requests in each daemon process within the process group when running WSGI applications.

15

n/a

Namespace: aws:elasticbeanstalk:container:python:staticfiles

/static/ (this can be any arbitrary name)

A mapping of the URL to a local directory.

Example: static/

This would map files in your directory on your EC2 instance (/opt/python/current/app/static/*) to <your domain>/static/*

n/a

Namespace: aws:elasticbeanstalk:hostmanager

LogPublicationControl

Copy the log files for your application's Amazon EC2 instances to the Amazon S3 bucket associated with your application.

false

true

false

Note

You can extend the number of parameters and specify the parameter names in the aws:elasticbeanstalk:application:environment and the aws:elasticbeanstalk:container:python:staticfiles namespaces using a configuration file. For instructions, see Customizing and Configuring a Python Container. The parameters will be passed in as environment variables on your Amazon EC2 instances.

Ruby Container Options

NameDescriptionDefaultOptions

Namespace: aws:elasticbeanstalk:application:environment

AWS_SECRET_KEY

Your Amazon Access Secret Key.

n/a

n/a

AWS_ACCESS_KEY_ID

Your Amazon Access Key ID.

n/a

n/a

RAILS_SKIP_MIGRATIONS

Specifies whether to run `rake db:migrate` on behalf of the users' applications; or whether it should be skipped. This is only applicable to Rails 3.x applications.

false

true

false

RAILS_SKIP_ASSET_COMPILATION

Specifies whether the container should run `rake assets:precompile` on behalf of the users' applications; or whether it should be skipped. This is also only applicable to Rails 3.x applications.

false

true

false

BUNDLE_WITHOUT

A colon ":" separated list of groups to ignore when installing dependencies from a Gemfile.

test:development

n/a

RACK_ENV

Specifies what environment stage (e.g., development, production, test are the most common environments) an application can be run in.

production

n/a

RAILS_ENV

Specifies what environment stage (e.g., development, production, test are the most common environments) an application can be run in.

production

n/a

Any arbitrary parameter name, such as "application_stage"

Pass in key-value pairs as environment variables.

n/a

n/a

Namespace: aws:elasticbeanstalk:hostmanager

LogPublicationControl

Copy the log files for your application's Amazon EC2 instances to the Amazon S3 bucket associated with your application.

false

true

false

Note

You can extend the number of parameters and specify the parameter names in the aws:elasticbeanstalk:application:environment namespace using a configuration file. For instructions, see Customizing and Configuring a Ruby Environment. The parameters will be passed in as environment variables on your Amazon EC2 instances.