General options for all environments
Namespaces
- aws:autoscaling:asg
- aws:autoscaling:launchconfiguration
- aws:autoscaling:scheduledaction
- aws:autoscaling:trigger
- aws:autoscaling:updatepolicy:rollingupdate
- aws:ec2:instances
- aws:ec2:vpc
- aws:elasticbeanstalk:application
- aws:elasticbeanstalk:application:environment
- aws:elasticbeanstalk:cloudwatch:logs
- aws:elasticbeanstalk:cloudwatch:logs:health
- aws:elasticbeanstalk:command
- aws:elasticbeanstalk:environment
- aws:elasticbeanstalk:environment:process:default
- aws:elasticbeanstalk:environment:process:process_name
- aws:elasticbeanstalk:environment:proxy:staticfiles
- aws:elasticbeanstalk:healthreporting:system
- aws:elasticbeanstalk:hostmanager
- aws:elasticbeanstalk:managedactions
- aws:elasticbeanstalk:managedactions:platformupdate
- aws:elasticbeanstalk:monitoring
- aws:elasticbeanstalk:sns:topics
- aws:elasticbeanstalk:sqsd
- aws:elasticbeanstalk:trafficsplitting
- aws:elasticbeanstalk:xray
- aws:elb:healthcheck
- aws:elb:loadbalancer
- aws:elb:listener
- aws:elb:listener:listener_port
- aws:elb:policies
- aws:elb:policies:policy_name
- aws:elbv2:listener:default
- aws:elbv2:listener:listener_port
- aws:elbv2:listenerrule:rule_name
- aws:elbv2:loadbalancer
- aws:rds:dbinstance
aws:autoscaling:asg
Configure your environment's Auto Scaling group. For more information, see Auto Scaling group for your Elastic Beanstalk environment.
Name | Description | Default | Valid values |
---|---|---|---|
Availability Zones |
Availability Zones (AZs) are distinct locations within an Amazon Region that are engineered to be isolated from failures in other AZs. They provide inexpensive, low-latency network connectivity to other AZs in the same Region. Choose the number of AZs for your instances. |
|
|
Cooldown |
Cooldown periods help prevent Amazon EC2 Auto Scaling from initiating additional scaling activities before the effects of previous activities are visible. A cooldown period is the amount of time, in seconds, after a scaling activity completes before another scaling activity can start. |
|
|
Custom Availability Zones |
Define the AZs for your instances. |
None |
|
EnableCapacityRebalancing |
Specifies whether to enable the Capacity Rebalancing feature for Spot Instances in your Auto Scaling Group. For more information, see Capacity Rebalancing in the Amazon EC2 Auto Scaling User Guide. This option is only relevant when |
|
|
MinSize |
The minimum number of instances that you want in your Auto Scaling group. |
|
|
MaxSize |
The maximum number of instances that you want in your Auto Scaling group. |
|
|
aws:autoscaling:launchconfiguration
Configure the Amazon Elastic Compute Cloud (Amazon EC2) instances for your environment.
The instances that are used for your environment are created using either an Amazon EC2 launch template or an Auto Scaling group launch configuration resource. The following options work with both of these resource types.
For more information, see The Amazon EC2 instances for your Elastic Beanstalk environment. You can also reference more information about Amazon Elastic Block Store (EBS) in Amazon EBS chapter in the Amazon EC2 User Guide.
Name | Description | Default | Valid values |
---|---|---|---|
DisableIMDSv1 |
Set to Set to The instances for your environment default as follows, based on the platform operating system:
For more information, see Configuring the instance metadata service. ImportantThis option setting can cause Elastic Beanstalk to create an environment with a launch template or update an existing environment from launch configurations to launch templates. For more information, see Launch Templates. |
|
|
EC2KeyName |
You can use a key pair to securely log into your EC2 instance. NoteIf you use the Elastic Beanstalk console to create an environment, you can't set this option in a configuration file. The console overrides this option with a recommended value. |
None |
|
IamInstanceProfile |
An instance profile enables Amazon Identity and Access Management (IAM) users and Amazon services to access temporary security credentials to make Amazon API calls. Specify the instance profile's name or its ARN. Examples:
NoteIf you use the Elastic Beanstalk console or EB CLI to create an environment, you can't set this option in a configuration file. The console and EB CLI override this option with a recommended value. |
None |
Instance profile name or ARN. |
ImageId |
You can override the default Amazon Machine Image (AMI) by specifying your own custom AMI ID. Example: |
None |
|
InstanceType |
The instance type that's used to run your application in an Elastic Beanstalk environment. ImportantThe The instance types that are available depend on the Availability Zones and Region used. If you choose a subnet, the Availability Zone that contains that subnet determines the available instance types.
NoteIf you use the Elastic Beanstalk console or EB CLI to create an environment, you can't set this option in a configuration file. The console and EB CLI override this option with a recommended value. |
Varies by account and Region. |
One EC2 instance type. Varies by account, Region, and Availability Zone. You can obtain a list of Amazon EC2 instance types filtered by these values. For more information, see Available instance types in the Amazon EC2 User Guide. |
LaunchTemplateTagPropagationEnabled |
Set to Elastic Beanstalk can only propagate tags to launch templates for the following resources:
This constraint exists because CloudFormation only allows tags on template creation for specific resources. For more information see TagSpecification in the Amazon CloudFormation User Guide. Important
For more information about launch templates, see the following:
For more information about this option, see Tag propagation to launch templates. |
|
|
MonitoringInterval |
The interval (in minutes) that you want Amazon CloudWatch metrics to be returned at. |
|
|
SecurityGroups |
Lists the Amazon EC2 security group IDs to assign to the EC2 instances in the Auto Scaling group to define firewall rules for the instances. You can provide a single string of comma-separated values that contain existing Amazon EC2 security groups IDs or references to AWS::EC2::SecurityGroup resources created in the template. |
|
|
SSHSourceRestriction |
Used to lock down SSH access to an environment. For example, you can lock down SSH access to the EC2 instances so that only a bastion host can access the instances in the private subnet. This string takes the following form:
Examples:
|
None |
|
BlockDeviceMappings |
Attach additional Amazon EBS volumes or instance store volumes on all of the instances in the Auto Scaling group. ImportantThis option setting can cause Elastic Beanstalk to create an environment with a launch template or update an existing environment from launch configurations to launch templates. For more information, see Launch Templates. When mapping instance store volumes, you only need to map the device name to a volume name. However, we recommend, when mapping Amazon EBS volumes, you additionally specify some or all of the following fields (each field must be separated by a colon):
The following example attaches three Amazon EBS volumes, one blank 100GB gp2 volume and one snapshot, one blank 20GB io1 volume with 2000
provisioned IOPS, and an instance store volume
|
None |
|
RootVolumeType |
Volume type (magnetic, general purpose SSD or provisioned IOPS SSD) to use for the root Amazon EBS volume attached to the EC2 instances for your environment. ImportantThis option setting can cause Elastic Beanstalk to create an environment with a launch template or update an existing environment from launch configurations to launch templates. For more information, see Launch Templates. |
Varies by platform. |
|
RootVolumeSize |
The storage capacity of the root Amazon EBS volume in whole GB. Required if you set For example, |
Varies per platform for magnetic storage and general purpose SSD. None for provisioned IOPS SSD. |
|
RootVolumeIOPS |
The desired input/output operations per second (IOPS) for a provisioned IOPS SSD root volume or for a general purpose The maximum ratio of IOPS to volume size is 500 to 1. For example, a volume with 3000 IOPS must be at least 6 GiB. |
None |
|
RootVolumeThroughput |
The desired throughput of mebibytes per second (MiB/s) to provision for the Amazon EBS root volume attached to your environment's EC2 instance. NoteThis option is only applicable to |
None |
|
aws:autoscaling:scheduledaction
Configure scheduled actions for your environment's Auto Scaling group. For each action,
specify a resource_name
in addition to the option name, namespace, and value for each setting. See The aws:autoscaling:scheduledaction namespace for
examples.
Name | Description | Default | Valid values |
---|---|---|---|
StartTime |
For one-time actions, choose the date and time to run the action. For recurrent actions, choose when to activate the action. |
None |
A ISO-8601 timestamp |
EndTime |
A date and time in the future (in the UTC/GMT time zone) when you want the scheduled scaling action to stop repeating. If you don't specify
an EndTime, the action recurs according to the Example: When a scheduled action ends, Amazon EC2 Auto Scaling doesn't automatically revert to its previous settings. Configure a second scheduled action to return to the original settings as needed. |
None |
A ISO-8601 timestamp |
MaxSize |
The maximum instance count to apply when the action runs. |
None |
|
MinSize |
The minimum instance count to apply when the action runs. |
None |
|
DesiredCapacity |
Set the initial desired capacity for the Auto Scaling group. After the scheduled action is applied, triggers adjust the desired capacity based on their settings. |
None |
|
Recurrence |
The frequency that you want the scheduled action to occur at. If you don't specify a recurrence, then the scaling action occurs only once,
as specified by the |
None |
A Cron |
Suspend |
Set to |
|
|
aws:autoscaling:trigger
Configure scaling triggers for your environment's Auto Scaling group.
Note
Three options in this namespace determine how long the metric for a trigger can remain beyond its defined limits before the trigger initates. These options are related as follows:
BreachDuration = Period * EvaluationPeriods
The default values for these options (5, 5, and 1, respectively) satisfy this equation. If you specify inconsistent values, Elastic Beanstalk might modify one of the values so that the equation is still satisfied.
Name | Description | Default | Valid values |
---|---|---|---|
BreachDuration |
The amount of time, in minutes, a metric can be beyond its defined limit (as specified in the |
|
|
LowerBreachScaleIncrement |
How many Amazon EC2 instances to remove when performing a scaling activity. |
|
|
LowerThreshold |
If the measurement falls below this number for the breach duration, a trigger is invoked. |
|
|
MeasureName |
The metric that's used for your Auto Scaling trigger. Note
|
|
|
Period |
Specifies how frequently Amazon CloudWatch measures the metrics for your trigger. The value is the number of minutes between two consecutive periods. |
|
|
EvaluationPeriods |
The number of consecutive evaluation periods that's used to determine if a breach is occurring. |
|
|
Statistic |
The Statistic the trigger uses, such as |
|
|
Unit |
The unit for the trigger measurement, such as |
|
|
UpperBreachScaleIncrement |
Specifies how many Amazon EC2 instances to add when performing a scaling activity. |
|
|
UpperThreshold |
If the measurement is higher than this number for the breach duration, a trigger is invoked. |
|
|
aws:autoscaling:updatepolicy:rollingupdate
Configure rolling updates your environment's Auto Scaling group.
Name | Description | Default | Valid values |
---|---|---|---|
MaxBatchSize |
The number of instances included in each batch of the rolling update. |
One-third of the minimum size of the Auto Scaling group, rounded to the next highest integer. |
|
MinInstancesInService |
The minimum number of instances that must be in service within the Auto Scaling group while other instances are terminated. |
The minimum size of the Auto Scaling group or one fewer than the maximum size of the Auto Scaling group, whichever is lower. |
|
RollingUpdateEnabled |
If Setting this value to true automatically enables the NoteIf you use the Elastic Beanstalk console or EB CLI to create an environment, you can't set this option in a configuration file. The console and EB CLI override this option with a recommended value. |
|
|
RollingUpdateType |
This includes three types: time-based rolling updates, health-based rolling updates, and immutable updates. Time-based rolling updates apply a PauseTime between batches. Health-based rolling updates wait for new instances to pass health checks before moving on to the next batch. Immutable updates launch a full set of instances in a new Auto Scaling group. NoteIf you use the Elastic Beanstalk console or EB CLI to create an environment, you can't set this option in a configuration file. The console and EB CLI override this option with a recommended value. |
|
|
PauseTime |
The amount of time (in seconds, minutes, or hours) the Elastic Beanstalk service waits after it completed updates to one batch of instances and before it continues on to the next batch. |
Automatically computed based on instance type and container. |
|
Timeout |
The maximum amount of time (in minutes or hours) to wait for all instances in a batch of instances to pass health checks before canceling the update. |
|
*ISO8601 duration |
aws:ec2:instances
Configure your environment's instances, including Spot options. This namespace complements aws:autoscaling:launchconfiguration and aws:autoscaling:asg.
For more information, see Auto Scaling group for your Elastic Beanstalk environment.
Name | Description | Default | Valid values |
---|---|---|---|
EnableSpot |
Enable Spot Instance requests for your environment. When ImportantThis option setting can cause Elastic Beanstalk to create an environment with a launch template or update an existing environment from launch configurations to launch templates. For more information, see Launch Templates. |
|
|
InstanceTypes |
A comma-separated list of instance types that you want your environment to use (for example, When Spot Instances are not activated ( The first instance type on the list in this option is equivalent to the value of the The instance types that are available depend on the Availability Zones and Region used. If you choose a subnet, the Availability Zone that contains that subnet determines the available instance types.
NoteSome older Amazon accounts might provide Elastic Beanstalk with default instance types that don't support Spot Instances (for example, t1.micro). If
you activate Spot Instance requests and you get an error about an instance type that doesn’t support Spot, be sure to configure instance types
that support Spot. To choose Spot Instance types, use the Spot Instance
Advisor When you update your environment configuration and remove one or more instance types from the |
A list of two instance types. Varies by account and Region. |
One to forty EC2 instance types. We recommend at least two. Varies by account, Region, and Availability Zone. You can obtain a list of Amazon EC2 instance types filtered by these values. For more information, see Available instance types in the Amazon EC2 User Guide. The instance types must all be part of the same architecture (
|
SpotFleetOnDemandBase |
The minimum number of On-Demand Instances that your Auto Scaling group provisions before considering Spot Instances as your environment scales up. This option is relevant only when |
|
|
SpotFleetOnDemandAboveBasePercentage |
The percentage of On-Demand Instances as part of additional capacity that your Auto Scaling group provisions beyond the
This option is relevant only when |
|
|
SpotMaxPrice |
The maximum price per unit hour, in USD, that you're willing to pay for a Spot Instance. For recommendations about maximum price options for Spot Instances, see Spot Instance pricing history in the Amazon EC2 User Guide. This option is relevant only when |
On-Demand price, for each instance type. The option's value in this case is |
|
SupportedArchitectures |
A comma-separated list of EC2 instance architecture types that you'll use for your environment. Elastic Beanstalk supports instance types based on the following processor architectures:
For more information about processor architecture and Amazon EC2 instance types see Amazon EC2 instance types. |
None |
NoteThe 32-bit architecture |
aws:ec2:vpc
Configure your environment to launch resources in a custom Amazon Virtual Private Cloud (Amazon VPC). If you don't configure settings in this namespace, Elastic Beanstalk launches resources in the default VPC.
Name | Description | Default | Valid values |
---|---|---|---|
VPCId |
The ID for your Amazon VPC. |
None |
|
Subnets |
The IDs of the Auto Scaling group subnet or subnets. If you have multiple subnets, specify the value as a single comma-separated string of subnet
IDs (for example, |
None |
|
ELBSubnets |
The IDs of the subnet or subnets for the elastic load balancer. If you have multiple subnets, specify the value as a single comma-separated
string of subnet IDs (for example, |
None |
|
ELBScheme |
Specify |
|
|
DBSubnets |
Contains the IDs of the database subnets. This is only used if you want to add an Amazon RDS DB Instance as part of your application. If you
have multiple subnets, specify the value as a single comma-separated string of subnet IDs (for example,
|
None |
|
AssociatePublicIpAddress |
Specifies whether to launch instances with public IP addresses in your Amazon VPC. Instances with public IP addresses don't require a NAT device
to communicate with the Internet. You must set the value to This option has no effect on a single-instance environment, which always has a single Amazon EC2 instance with an Elastic IP address. The option is relevant to load-balanced, scalable environments. |
None |
|
aws:elasticbeanstalk:application
Configure a health check path for your application. For more information, see Basic health reporting.
Name | Description | Default | Valid values |
---|---|---|---|
Application Healthcheck URL |
The path where health check requests are sent to. If this path isn't set, the load balancer attempts to make a TCP connection on port 80 to
verify the health status of your application. Set to a path starting with NoteIf you use the Elastic Beanstalk console to create an environment, you can't set this option in a configuration file. The console overrides this option with a recommended value. |
None |
Valid values include:
|
The EB CLI and Elastic Beanstalk console apply recommended values for the preceding options. You must remove these settings if you want to use configuration files to configure the same. See Recommended values for details.
aws:elasticbeanstalk:application:environment
Configure environment properties for your application.
Name | Description | Default | Valid values |
---|---|---|---|
Any environment variable name. |
Pass in key-value pairs. |
None |
Any environment variable value. |
See Environment properties and other software settings for more information.
aws:elasticbeanstalk:cloudwatch:logs
Configure instance log streaming for your application.
Name | Description | Default | Valid values |
---|---|---|---|
StreamLogs |
Specifies whether to create groups in CloudWatch Logs for proxy and deployment logs, and stream logs from each instance in your environment. |
|
|
DeleteOnTerminate |
Specifies whether to delete the log groups when the environment is terminated. If |
|
|
RetentionInDays |
The number of days to keep log events before they expire. |
7 |
1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 3653 |
aws:elasticbeanstalk:cloudwatch:logs:health
Configure environment health log streaming for your application.
Name | Description | Default | Valid values |
---|---|---|---|
HealthStreamingEnabled |
For environments with enhanced health reporting enabled, specifies whether to create a group in CloudWatch Logs for environment health and archive Elastic Beanstalk environment health data. For information about enabling enhanced health, see aws:elasticbeanstalk:healthreporting:system. |
|
|
DeleteOnTerminate |
Specifies whether to delete the log group when the environment is terminated. If |
|
|
RetentionInDays |
The number of days to keep the archived health data before it expires. |
7 |
1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 3653 |
aws:elasticbeanstalk:command
Configure the deployment policy for your application code. For more information, see Deployment policies and settings.
Name | Description | Default | Valid values |
---|---|---|---|
DeploymentPolicy |
Choose a deployment policy for application version deployments. NoteIf you use the Elastic Beanstalk console to create an environment, you can't set this option in a configuration file. The console overrides this option with a recommended value. |
|
|
Timeout |
The amount of time, in seconds, to wait for an instance to complete executing commands. Elastic Beanstalk internally adds 240 seconds (four minutes) to the |
|
|
BatchSizeType |
The type of number that's specified in BatchSize. NoteIf you use the Elastic Beanstalk console or EB CLI to create an environment, you can't set this option in a configuration file. The console and EB CLI override this option with a recommended value. |
|
|
BatchSize |
The percentage or the fixed number of Amazon EC2 instances in the Auto Scaling group to simultaneously perform deployments on. Valid values vary depending on the BatchSizeType setting used. NoteIf you use the Elastic Beanstalk console or EB CLI to create an environment, you can't set this option in a configuration file. The console and EB CLI override this option with a recommended value. |
|
|
IgnoreHealthCheck |
Don't cancel a deployment due to failed health checks. |
false
|
|
aws:elasticbeanstalk:environment
Configure your environment's architecture and service role.
Name | Description | Default | Valid values |
---|---|---|---|
EnvironmentType |
Set to |
|
|
ServiceRole |
The name of an IAM role that Elastic Beanstalk uses to manage resources for the environment. Specify a role name (optionally prefixed with a custom path) or its ARN. Examples:
NoteIf you use the Elastic Beanstalk console or EB CLI to create an environment, you can't set this option in a configuration file. The console and EB CLI override this option with a recommended value. |
None |
IAM role name, path/name, or ARN |
LoadBalancerType |
The type of load balancer for your environment. For more information, see Load balancer for your Elastic Beanstalk environment. |
|
|
LoadBalancerIsShared |
Specifies whether the environment's load balancer is dedicated or shared. This option can only be set for an Application Load Balancer. It can't be changed after the environment is created. When |
|
|
aws:elasticbeanstalk:environment:process:default
Configure your environment's default process.
Name | Description | Default | Valid values |
---|---|---|---|
DeregistrationDelay |
The amount of time, in seconds, to wait for active requests to complete before deregistering. |
|
|
HealthCheckInterval |
The interval of time, in seconds, that Elastic Load Balancing checks the health of the Amazon EC2 instances of your application. |
With classic or application load balancer: With network load balancer: |
With classic or application load balancer: With network load balancer: |
HealthCheckPath |
The path that HTTP requests for health checks are sent to. |
|
A routable path. |
HealthCheckTimeout |
The amount of time, in seconds, to wait for a response during a health check. This option is only applicable to environments with an application load balancer. |
|
|
HealthyThresholdCount |
The number of consecutive successful requests before Elastic Load Balancing changes the instance health status. |
With classic or application load balancer: With network load balancer: |
|
MatcherHTTPCode |
A comma-separated list of HTTP code(s) that indicate that an instance is healthy. This option is only applicable to environments with a network or application load balancer. |
|
With application load balancer: With network load balancer: |
Port |
Port that the process listens on. |
|
|
Protocol |
The protocol that the process uses. With an application load balancer, you can only set this option to With a network load balancer, you can only set this option to |
With classic or application load balancer: With network load balancer: |
|
StickinessEnabled |
Set to true to enable sticky sessions. This option is only applicable to environments with an application load balancer. |
|
|
StickinessLBCookieDuration |
The lifetime, in seconds, of the sticky session cookie. This option is only applicable to environments with an application load balancer. |
|
|
StickinessType |
Set to This option is only applicable to environments with an application load balancer. |
|
|
UnhealthyThresholdCount |
The number of consecutive unsuccessful requests before Elastic Load Balancing changes the instance health status. |
|
|
aws:elasticbeanstalk:environment:process:process_name
Configure additional processes for your environment.
Name | Description | Default | Valid values |
---|---|---|---|
DeregistrationDelay |
The amount of time, in seconds, to wait for active requests to complete before deregistering. |
|
|
HealthCheckInterval |
The interval, in seconds, that Elastic Load Balancing checks the health of Amazon EC2 instances for your application. |
With classic or application load balancer: With network load balancer: |
With classic or application load balancer: With network load balancer: |
HealthCheckPath |
The path that HTTP requests for health checks are sent to. |
|
A routable path. |
HealthCheckTimeout |
The amount of time, in seconds, to wait for a response during a health check. This option is only applicable to environments with an application load balancer. |
|
|
HealthyThresholdCount |
The number of consecutive successful requests before Elastic Load Balancing changes the instance health status. |
With classic or application load balancer: With network load balancer: |
|
MatcherHTTPCode |
A comma-separated list of HTTP code(s) that indicates that an instance is healthy. This option is only applicable to environments with a network or application load balancer. |
|
With application load balancer: With network load balancer: |
Port |
The port that the process listens on. |
|
|
Protocol |
The protocol that the process uses. With an application load balancer, you can only set this option to With a network load balancer, you can only set this option to |
With classic or application load balancer: With network load balancer: |
|
StickinessEnabled |
Set to true to enable sticky sessions. This option is only applicable to environments with an application load balancer. |
|
|
StickinessLBCookieDuration |
The lifetime, in seconds, of the sticky session cookie. This option is only applicable to environments with an application load balancer. |
|
|
StickinessType |
Set to This option is only applicable to environments with an application load balancer. |
|
|
UnhealthyThresholdCount |
The number of consecutive unsuccessful requests before Elastic Load Balancing changes the instance health status. |
|
|
aws:elasticbeanstalk:environment:proxy:staticfiles
You can use the following namespace to configure the proxy server to serve static files. When the proxy server receives a request for a file under the specified path, it serves the file directly instead of routing the request to your application. This reduces the number of requests that your application has to process.
Map a path served by the proxy server to a folder in your source code that contains static assets. Each option that you define in this namespace maps a different path.
Note
This namespace applies to platform branches based on Amazon Linux 2 and later. If your environment uses a platform version based on Amazon Linux AMI (preceding Amazon Linux 2), refer to Platform specific options for platform-specific static file namespaces.
Name | Value |
---|---|
The path where the proxy server serves the files. Start the value with For example, specify |
The name of the folder containing the files. For example, specify |
aws:elasticbeanstalk:healthreporting:system
Configure enhanced health reporting for your environment.
Name | Description | Default | Valid values |
---|---|---|---|
SystemType |
The health reporting system (basic or enhanced). Enhanced health reporting requires a service role and a version 2 or newer platform version. NoteIf you use the Elastic Beanstalk console or EB CLI to create an environment, you can't set this option in a configuration file. The console and EB CLI override this option with a recommended value. |
|
|
ConfigDocument | A JSON document that describes the environment and instance metrics to publish to CloudWatch. | None | |
EnhancedHealthAuthEnabled |
Enables authorization for the internal API that Elastic Beanstalk uses to communicate enhanced health information from your environment instances to the Elastic Beanstalk service. For more information, see Enhanced health roles. NoteThis option is only applicable to enhanced health reporting (such as when |
|
|
HealthCheckSuccessThreshold |
Lowers the threshold for instances to pass health checks. NoteIf you use the Elastic Beanstalk console to create an environment, you can't set this option in a configuration file. The console overrides this option with a recommended value. |
|
|
aws:elasticbeanstalk:hostmanager
Configure the EC2 instances in your environment to upload rotated logs to Amazon S3.
Name | Description | Default | Valid values |
---|---|---|---|
LogPublicationControl |
Copy the log files of the Amazon EC2 instances for your application to the Amazon S3 bucket that's associated with your application. |
|
|
aws:elasticbeanstalk:managedactions
Configure managed platform updates for your environment.
Name | Description | Default | Valid values |
---|---|---|---|
ManagedActionsEnabled |
Enable managed platform updates. When you set this to |
|
|
PreferredStartTime |
Configure a maintenance window for managed actions in UTC. For example, |
None |
Day and time in the
format. |
ServiceRoleForManagedUpdates |
The name of an IAM role that Elastic Beanstalk uses to perform managed platform updates for your environment. You can use either the same role that you specified for the |
None |
Same as or
|
aws:elasticbeanstalk:managedactions:platformupdate
Configure managed platform updates for your environment.
Name | Description | Default | Valid values |
---|---|---|---|
UpdateLevel |
The highest level of update to apply with managed platform updates. Platforms are versioned
|
None |
|
InstanceRefreshEnabled |
Enable weekly instance replacement. This requires |
false |
|
aws:elasticbeanstalk:monitoring
Configure your environment to terminate EC2 instances that fail health checks.
Name | Description | Default | Valid values |
---|---|---|---|
Automatically Terminate Unhealthy Instances |
Terminate an instance if it fails health checks. NoteThis option was only supported on legacy environments. It determined the health of an instance based on being able to reach it and on other instance-based metrics. Elastic Beanstalk doesn't provide a way to automatically terminate instances based on application health. |
|
|
aws:elasticbeanstalk:sns:topics
Configure notifications for your environment.
Name | Description | Default | Valid values |
---|---|---|---|
Notification Endpoint |
The endpoint where you want to be notified of important events affecting your application. NoteIf you use the Elastic Beanstalk console to create an environment, you can't set this option in a configuration file. The console overrides this option with a recommended value. |
None |
|
Notification Protocol |
The protocol that's used to send notifications to your endpoint. |
|
|
Notification Topic ARN |
The Amazon Resource Name (ARN) for the topic you subscribed to. |
None |
|
Notification Topic Name |
The name of the topic you subscribed to. |
None |
aws:elasticbeanstalk:sqsd
Configure the Amazon SQS queue for a worker environment.
Name | Description | Default | Valid values |
---|---|---|---|
WorkerQueueURL |
The URL of the queue that the daemon in the worker environment tier reads messages from. NoteWhen you don't specify a value, the queue that Elastic Beanstalk automatically creates is a standard Amazon SQS queue. When you provide a value, you can provide the URL of either a standard or a FIFO Amazon SQS queue. Be aware that if you provide a FIFO queue, periodic tasks aren't supported. |
automatically generated |
If you don't specify a value, then Elastic Beanstalk automatically creates a queue. |
HttpPath |
The relative path to the application that HTTP POST messages are sent to. |
/ |
|
MimeType |
The MIME type of the message that's sent in the HTTP POST request. |
|
Custom MIME type. |
HttpConnections |
The maximum number of concurrent connections to any applications that are within an Amazon EC2 instance. NoteIf you use the Elastic Beanstalk console to create an environment, you can't set this option in a configuration file. The console overrides this option with a recommended value. |
|
|
ConnectTimeout |
The amount of time, in seconds, to wait for successful connections to an application. |
|
|
InactivityTimeout |
The amount of time, in seconds, to wait for a response on an existing connection to an application. The message is reprocessed until the daemon receives a 200 (OK) response from the application in the worker environment tier or theRetentionPeriod
expires. |
|
|
VisibilityTimeout |
The amount of time, in seconds, an incoming message from the Amazon SQS queue is locked for processing. After the configured amount of time has passed, then the message is again made visible in the queue for any other daemon to read. |
300 |
|
ErrorVisibilityTimeout |
The amount of time, in seconds, that elapses before Elastic Beanstalk returns a message to the Amazon SQS queue after a processing attempt fails with an explicit error. |
|
|
RetentionPeriod |
The amount of time, in seconds, a message is valid and is actively processed for. |
|
|
MaxRetries |
The maximum number of attempts that Elastic Beanstalk attempts to send the message to the web application that will process it before moving the message to the dead-letter queue. |
|
|
aws:elasticbeanstalk:trafficsplitting
Configure traffic-splitting deployments for your environment.
This namespace applies when you set the DeploymentPolicy
option of the aws:elasticbeanstalk:command namespace to TrafficSplitting
. For more information about deployment policies, see Deployment policies and settings.
Name | Description | Default | Valid values |
---|---|---|---|
NewVersionPercent |
The initial percentage of incoming client traffic that Elastic Beanstalk shifts to environment instances running the new application version you're deploying. |
|
|
EvaluationTime |
The time period, in minutes, that Elastic Beanstalk waits after an initial healthy deployment before proceeding to shift all incoming client traffic to the new application version that you're deploying. |
|
|
aws:elasticbeanstalk:xray
Run the Amazon X-Ray daemon to relay trace information from your X-Ray integrated application.
Name | Description | Default | Valid values |
---|---|---|---|
|
Set to |
|
|
aws:elb:healthcheck
Configure healthchecks for a Classic Load Balancer.
Name | Description | Default | Valid values |
---|---|---|---|
HealthyThreshold |
The number of consecutive successful requests before Elastic Load Balancing changes the instance health status. |
|
|
Interval |
The interval that Elastic Load Balancing checks the health of your application's Amazon EC2 instances at. |
|
|
Timeout |
The amount of time, in seconds, that Elastic Load Balancing waits for a response before it considers the instance nonresponsive. |
|
|
UnhealthyThreshold |
The number of consecutive unsuccessful requests before Elastic Load Balancing changes the instance health status. |
|
|
(deprecated) Target |
The destination on a backend instance that health checks are sent to. Use |
|
Target in the format |
aws:elb:loadbalancer
Configure your environment's Classic Load Balancer.
Several of the options in this namespace are no longer supported in favor of listener-specific options in the aws:elb:listener namespace. With these options that aren't supported anymore, you can only configure two listeners (one secure and one unsecure) on standard ports.
Name | Description | Default | Valid values |
---|---|---|---|
CrossZone |
Configure the load balancer to route traffic evenly across all instances in all Availability Zones rather than only within each zone. NoteIf you use the Elastic Beanstalk console or EB CLI to create an environment, you can't set this option in a configuration file. The console and EB CLI override this option with a recommended value. |
|
|
SecurityGroups |
Assign one or more security groups that you created to the load balancer. |
None |
One or more security group IDs. |
ManagedSecurityGroup |
Assign an existing security group to the load balancer for your environment, instead of creating a new one. To use this setting, update the
To allow traffic from the load balancer to your environment’s EC2 instances, Elastic Beanstalk adds a rule to the security group of the instances that allows inbound traffic from the managed security group. |
None | A security group ID. |
(deprecated) LoadBalancerHTTPPort |
The port to listen on for the unsecure listener. |
|
|
(deprecated) LoadBalancerPortProtocol |
The protocol to use on the unsecure listener. |
|
|
(deprecated) LoadBalancerHTTPSPort |
The port to listen on for the secure listener. |
|
|
(deprecated) LoadBalancerSSLPortProtocol |
The protocol to use on the secure listener. |
|
|
(deprecated) SSLCertificateId |
The Amazon Resource Name (ARN) of an SSL certificate to bind to the secure listener. |
None |
aws:elb:listener
Configure the default listener (port 80) on a Classic Load Balancer.
Name | Description | Default | Valid values |
---|---|---|---|
ListenerProtocol | The protocol used by the listener. | HTTP
|
|
InstancePort | The port that this listener uses to communicate with the EC2 instances. | 80 | 1 to 65535 |
InstanceProtocol |
The protocol that this listener uses to communicate with the EC2 instances. It must be at the same internet protocol layer as the For example, if |
|
HTTP or HTTPS when ListenerProtocol is HTTP or HTTPS
|
PolicyNames | A comma-separated list of policy names to apply to the port for this listener. We recommend that you use the LoadBalancerPorts option of the aws:elb:policies namespace instead. | None | |
ListenerEnabled | Specifies whether this listener is enabled. If you specify false , the listener isn't included in the load balancer. |
true |
|
aws:elb:listener:listener_port
Configure additional listeners on a Classic Load Balancer.
Name | Description | Default | Valid values |
---|---|---|---|
ListenerProtocol |
The protocol used by the listener. |
HTTP
|
|
InstancePort |
The port that this listener uses to communicate with the EC2 instances. | The same as listener_port . |
1 to 65535 |
InstanceProtocol |
The protocol that this listener uses to communicate with the EC2 instances. It must be at the same internet protocol layer as the For example, if |
|
HTTP or HTTPS when ListenerProtocol is HTTP or HTTPS
|
PolicyNames |
A comma-separated list of policy names to apply to the port for this listener. We suggest that you use the LoadBalancerPorts option of the aws:elb:policies namespace instead. | None | |
SSLCertificateId |
The Amazon Resource Name (ARN) of an SSL certificate to bind to the listener. |
None |
|
ListenerEnabled |
Specifies whether this listener is enabled. If you specify false , the listener isn't included in the load balancer. |
true if any other option is set. false otherwise. |
|
aws:elb:policies
Modify the default stickiness and global load balancer policies for a Classic Load Balancer.
Name | Description | Default | Valid values |
---|---|---|---|
ConnectionDrainingEnabled |
Specifies whether the load balancer maintains existing connections to instances that have become unhealthy or deregistered to complete in-progress requests. NoteIf you use the Elastic Beanstalk console or EB CLI to create an environment, you can't set this option in a configuration file. The console and EB CLI override this option with a recommended value. |
|
|
ConnectionDrainingTimeout |
The maximum number of seconds that the load balancer maintains existing connections to an instance during connection draining before forcibly closing the connections. NoteIf you use the Elastic Beanstalk console to create an environment, you can't set this option in a configuration file. The console overrides this option with a recommended value. |
|
|
ConnectionSettingIdleTimeout |
The amount of time, in seconds, that the load balancer waits for any data to be sent or received over the connection. If no data has been sent or received after this time period elapses, the load balancer closes the connection. |
|
|
LoadBalancerPorts |
A comma-separated list of the listener ports that the default policy ( |
None | You can use :all to indicate all listener ports |
Stickiness Cookie Expiration |
The amount of time, in seconds, that each cookie is valid. Uses the default policy ( |
|
|
Stickiness Policy |
Binds a user's session to a specific server instance so that all requests coming from the user during the session are sent to the same
server instance. Uses the default policy ( |
|
|
aws:elb:policies:policy_name
Create additional load balancer policies for a Classic Load Balancer.
Name | Description | Default | Valid values |
---|---|---|---|
CookieName |
The name of the application-generated cookie that controls the session lifetimes of a AppCookieStickinessPolicyType policy. This
policy can be associated only with HTTP/HTTPS listeners. |
None | |
InstancePorts |
A comma-separated list of the instance ports that this policy applies to. |
None | A list of ports, or :all |
LoadBalancerPorts |
A comma-separated list of the listener ports that this policy applies to. |
None | A list of ports, or :all |
ProxyProtocol |
For a |
None |
|
PublicKey |
The contents of a public key for a |
None | |
PublicKeyPolicyNames |
A comma-separated list of policy names (from the |
None | |
SSLProtocols |
A comma-separated list of SSL protocols to be enabled for a |
None | |
SSLReferencePolicy |
The name of a predefined security policy that adheres to Amazon security best practices and that you want to activate for a
|
None | |
Stickiness Cookie Expiration |
The amount of time, in seconds, that each cookie is valid. |
|
|
Stickiness Policy |
Binds a user's session to a specific server instance so that all requests coming from the user during the session are sent to the same server instance. |
|
|
aws:elbv2:listener:default
Configure the default listener (port 80) on an Application Load Balancer or a Network Load Balancer.
This namespace doesn't apply to an environment that uses a shared load balancer. Shared load balancers don't have a default listener.
Name | Description | Default | Valid values |
---|---|---|---|
DefaultProcess |
The name of the process to forward traffic to when no rules match. |
|
A process name. |
ListenerEnabled |
Set to |
|
|
Protocol |
The protocol of traffic to process. |
With application load balancer: With network load balancer: |
With application load balancer: With network load balancer: |
Rules |
A list of rules to apply to the listener This option is only applicable to environments with an Application Load Balancer. |
None |
A comma-separated list of rule names. |
SSLCertificateArns |
The Amazon Resource Name (ARN) of the SSL certificate to bind to the listener. This option is only applicable to environments with an Application Load Balancer. |
None |
The ARN of a certificate stored in IAM or ACM. |
SSLPolicy |
Specify a security policy to apply to the listener. This option is only applicable to environments with an Application Load Balancer. |
None (ELB default) |
The name of a load balancer security policy. |
aws:elbv2:listener:listener_port
Configure additional listeners on an Application Load Balancer or a Network Load Balancer.
Note
For a shared Application Load Balancer, you can specify only the Rule
option. The other options aren't applicable to shared load balancers.
Name | Description | Default | Valid values |
---|---|---|---|
DefaultProcess |
The name of the process where traffic is forwarded when no rules match. |
|
A process name. |
ListenerEnabled |
Set to |
|
|
Protocol |
The protocol of traffic to process. |
With application load balancer: With network load balancer: |
With application load balancer: With network load balancer: |
Rules |
List of rules to apply to the listener This option is applicable only to environments with an Application Load Balancer. If your environment uses a shared Application Load Balancer, and you don't specify this option for any listener, Elastic Beanstalk automatically associates the
|
None |
A comma-separated list of rule names. |
SSLCertificateArns |
The Amazon Resource Name (ARN) of the SSL certificate to bind to the listener. This option is only applicable to environments with an Application Load Balancer. |
None |
The ARN of a certificate stored in IAM or ACM. |
SSLPolicy |
Specify a security policy to apply to the listener. This option is only applicable to environments with an Application Load Balancer. |
None (ELB default) |
The name of a load balancer security policy. |
aws:elbv2:listenerrule:rule_name
Define listener rules for an Application Load Balancer. If a request matches the host names or paths in a rule, the load balancer forwards it to the specified process. To
use a rule, add it to a listener with the Rules
option in the aws:elbv2:listener:listener_port namespace.
Note
This namespace isn't applicable to environments with a network load balancer.
Name | Description | Default | Valid values |
---|---|---|---|
HostHeaders |
A list of host names to match. For example, |
Dedicated load balancer: None Shared load balancer: The environment's CNAME |
Each name can contain up to 128 characters. A pattern can include both uppercase and lowercase letters, numbers, hyphens (–), and up
to three wildcard characters ( For more information, see Host conditions in the User Guide for Application Load Balancers. |
PathPatterns |
The path patterns to match (for example, This option is only applicable to environments with an application load balancer. |
None |
Each pattern can contain up to 128 characters. A pattern can include uppercase and lowercase letters, numbers, hyphens (–), and up to
three wildcard characters ( For more information, see Path conditions in the User Guide for Application Load Balancers. |
Priority |
The precedence of this rule when multiple rules match. The lower number takes precedence. No two rules can have the same priority. With a shared load balancer, Elastic Beanstalk treats rule priorities as relative across sharing environments, and maps them to absolute priorities during creation. |
|
|
Process |
The name of the process to forward traffic when this rule matches the request. |
|
A process name. |
aws:elbv2:loadbalancer
Configure an Application Load Balancer.
For a shared load balancer, only the SharedLoadBalancer
and SecurityGroups
options are valid.
Note
This namespace isn't applicable to environments with a Network Load Balancer.
Name | Description | Default | Valid values |
---|---|---|---|
AccessLogsS3Bucket |
The Amazon S3 bucket where access logs are stored. The bucket must be in the same Region as the environment and allow the load balancer write access. |
None |
A bucket name. |
AccessLogsS3Enabled |
Enable access log storage. |
|
|
AccessLogsS3Prefix |
A prefix to prepend to access log names. By default, the load balancer uploads logs to a directory named AWSLogs in the bucket you specify. Specify a prefix to place the AWSLogs directory inside another directory. |
None |
|
IdleTimeout |
The amount of time, in seconds, to wait for a request to complete before closing connections to client and instance. |
None |
|
ManagedSecurityGroup |
Assign an existing security group to your environment’s load balancer, instead of creating a new one. To use this setting, update the
To allow traffic from the load balancer to the EC2 instances for your environment, Elastic Beanstalk adds a rule to the security group of your instances that allows inbound traffic from the managed security group. |
The security group that Elastic Beanstalks creates for your load balancer. |
A security group ID. |
SecurityGroups |
A list of security groups to attach to the load balancer. For a shared load balancer, if you don't specify this value, Elastic Beanstalk checks if an existing security group that it manages is already attached to the load balancer. If one isn't attached to the load balancer, Elastic Beanstalk creates a security group and attaches it to the load balancer. Elastic Beanstalk deletes this security group when the last environment sharing the load balancer terminates. The load balancer security groups are used to set up the Amazon EC2 instance security group ingress rule. |
The security group that Elastic Beanstalk creates for your load balancer. |
Comma-separated list of security group IDs. |
SharedLoadBalancer |
The Amazon Resource Name (ARN) of a shared load balancer. This option is relevant only to an Application Load Balancer. It's required when the
Criteria for a valid value:
Example:
|
None |
ARN of a valid load balancer that meets all of the criteria described here. |
aws:rds:dbinstance
Configure an attached Amazon RDS DB instance.
Name | Description | Default | Valid values |
---|---|---|---|
DBAllocatedStorage |
The allocated database storage size, specified in gigabytes. |
MySQL: Oracle: sqlserver-se: sqlserver-ex: sqlserver-web: |
MySQL: Oracle: sqlserver: cannot be modified |
DBDeletionPolicy |
Specifies whether to retain, delete, or create snapshot of the DB instance when an environment is terminated. This option works in conjunction with WarningDeleting a DB instance results in permanent data loss. |
|
|
DBEngine |
The name of the database engine to use for this instance. |
|
|
DBEngineVersion |
The version number of the database engine. |
|
|
DBInstanceClass |
The database instance type. |
( |
For more information, see DB Instance Class in the Amazon Relational Database Service User Guide. |
DBPassword |
The name of master user password for the database instance. |
None |
|
DBSnapshotIdentifier |
The identifier for the DB snapshot to restore from. |
None |
|
DBUser |
The name of master user for the DB Instance. |
ebroot |
|
HasCoupledDatabase |
Specifies whether a DB instance is coupled to your environment. If toggled to This option works in conjunction with NoteNote: If you toggle this value back to |
|
|
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), see Regions and Availability Zones in the Amazon Relational Database Service User Guide. |
|
|