Environment Properties
This page is a quick lookup reference for high-impact Elastic Beanstalk configuration namespaces and option settings.
Defaults can vary by platform branch, environment tier, and selected load balancer type. Validate final values in environment configuration output.
Namespace Map
flowchart LR
A[Option Settings] --> B[Scaling]
A --> C[Application]
A --> D[Environment]
A --> E[VPC and EC2]
A --> F[Load Balancer]
B --> B1[aws:autoscaling:asg]
B --> B2[aws:autoscaling:trigger]
C --> C1[aws:elasticbeanstalk:application]
C --> C2[aws:elasticbeanstalk:application:environment]
D --> D1[aws:elasticbeanstalk:environment]
E --> E1[aws:ec2:vpc]
E --> E2[aws:autoscaling:launchconfiguration]
F --> F1[aws:elb:*]
F --> F2[aws:elbv2:*]
Auto Scaling Group Namespace
| Namespace | Option | Description | Default |
aws:autoscaling:asg | MinSize | Minimum number of instances in the Auto Scaling group. | Platform default, often 1 |
aws:autoscaling:asg | MaxSize | Maximum number of instances in the Auto Scaling group. | Platform default, often 4 |
aws:autoscaling:asg | Cooldown | Cooldown period between scaling activities (seconds). | Platform-specific default |
aws:autoscaling:asg | Availability Zones | Zone selection strategy for instances. | Any or environment-calculated |
Auto Scaling Trigger Namespace
| Namespace | Option | Description | Default |
aws:autoscaling:trigger | MeasureName | CloudWatch metric used for scaling decisions. | Platform preset (commonly CPU metric) |
aws:autoscaling:trigger | Statistic | Metric statistic used by alarm evaluation. | Platform preset |
aws:autoscaling:trigger | Unit | Metric unit for trigger threshold values. | Metric-derived |
aws:autoscaling:trigger | Period | Alarm period length in seconds. | Platform preset |
aws:autoscaling:trigger | BreachDuration | Duration of threshold breach before scaling action. | Platform preset |
aws:autoscaling:trigger | UpperThreshold | Threshold that triggers scale-out action. | Platform preset |
aws:autoscaling:trigger | LowerThreshold | Threshold that triggers scale-in action. | Platform preset |
Application Namespace
| Namespace | Option | Description | Default |
aws:elasticbeanstalk:application | Application Healthcheck URL | HTTP path used by EB for application-level health check. | / |
Application Environment Variables Namespace
| Namespace | Option | Description | Default |
aws:elasticbeanstalk:application:environment | ENV_VAR_NAME | Runtime environment variable key/value pair exposed to app process. | None |
aws:elasticbeanstalk:application:environment | LOG_LEVEL | Example custom variable used by app logging configuration. | App-defined |
aws:elasticbeanstalk:application:environment | DATABASE_URL | Example dependency endpoint variable (mask credentials in docs). | App-defined |
aws:elasticbeanstalk:application:environment | FEATURE_FLAG_X | Example feature toggle value consumed by app code. | App-defined |
Environment Behavior Namespace
| Namespace | Option | Description | Default |
aws:elasticbeanstalk:environment | EnvironmentType | Deployment mode: single instance or load balanced. | LoadBalanced |
aws:elasticbeanstalk:environment | LoadBalancerType | Load balancer family for web tier. | application (current default) |
aws:elasticbeanstalk:environment | ServiceRole | IAM service role used by Elastic Beanstalk. | Account/region default service role |
VPC Namespace
| Namespace | Option | Description | Default |
aws:ec2:vpc | VPCId | VPC where environment resources are launched. | Default VPC if not specified |
aws:ec2:vpc | Subnets | EC2 instance subnet list. | Platform/console-selected |
aws:ec2:vpc | ELBSubnets | Load balancer subnet list. | Platform/console-selected |
aws:ec2:vpc | AssociatePublicIpAddress | Whether instances get public IP addresses. | Environment topology dependent |
aws:ec2:vpc | ELBScheme | public or internal load balancer scheme. | public in public web deployments |
aws:ec2:vpc | DBSubnets | Subnets for integrated RDS resources when managed by EB. | Not set unless RDS integration used |
Launch Configuration Namespace
| Namespace | Option | Description | Default |
aws:autoscaling:launchconfiguration | InstanceType | EC2 instance type for environment instances. | Platform default |
aws:autoscaling:launchconfiguration | IamInstanceProfile | IAM instance profile attached to EC2 instances. | Account/solution default profile |
aws:autoscaling:launchconfiguration | EC2KeyName | EC2 key pair name for SSH access. | None |
aws:autoscaling:launchconfiguration | SecurityGroups | Security groups attached to EC2 instances. | Environment-created SG by default |
aws:autoscaling:launchconfiguration | RootVolumeType | Root EBS volume type. | Platform default |
aws:autoscaling:launchconfiguration | RootVolumeSize | Root EBS volume size in GiB. | Platform default |
Classic Load Balancer Namespaces (aws:elb:*)
| Namespace | Option | Description | Default |
aws:elb:loadbalancer | CrossZone | Enables cross-zone load balancing behavior. | Depends on ELB defaults |
aws:elb:loadbalancer | ManagedSecurityGroup | Security group controlled by EB for ELB. | EB-managed |
aws:elb:listener | ListenerProtocol | Listener protocol for front-end port. | HTTP unless HTTPS configured |
aws:elb:listener | InstanceProtocol | Protocol between ELB and instances. | HTTP common default |
aws:elb:listener | ListenerEnabled | Whether listener is active. | true |
aws:elb:listener:443 | SSLCertificateId | ACM/IAM certificate identifier for TLS listener. | None |
aws:elb:listener:443 | ListenerProtocol | Typically HTTPS for port 443. | None unless enabled |
Application Load Balancer Namespaces (aws:elbv2:*)
| Namespace | Option | Description | Default |
aws:elbv2:loadbalancer | SecurityGroups | Security groups attached to ALB. | EB-managed SG unless overridden |
aws:elbv2:loadbalancer | ManagedSecurityGroup | EB-managed ALB security group ID. | Auto-generated |
aws:elbv2:listener:80 | ListenerEnabled | Enables HTTP listener on port 80. | true in default web setups |
aws:elbv2:listener:443 | ListenerEnabled | Enables HTTPS listener on port 443. | false unless configured |
aws:elbv2:listener:443 | Protocol | Front-end protocol for listener. | HTTPS when enabled |
aws:elbv2:listener:443 | SSLCertificateArns | One or more ACM certificate ARNs for TLS. | None |
Logging and Health Namespaces
| Namespace | Option | Description | Default |
aws:elasticbeanstalk:cloudwatch:logs | StreamLogs | Stream instance logs to CloudWatch Logs. | false unless enabled |
aws:elasticbeanstalk:cloudwatch:logs | RetentionInDays | CloudWatch Logs retention period. | Service default unless set |
aws:elasticbeanstalk:healthreporting:system | SystemType | Basic or enhanced health reporting mode. | enhanced for modern environments |
aws:elasticbeanstalk:healthreporting:system | ConfigDocument | JSON health reporting configuration document. | Platform default |
Deployment Policy Namespace
| Namespace | Option | Description | Default |
aws:elasticbeanstalk:command | DeploymentPolicy | Deployment strategy (all-at-once, rolling, immutable, etc.). | Platform default |
aws:elasticbeanstalk:command | BatchSizeType | Percent or fixed batch size unit. | Platform default |
aws:elasticbeanstalk:command | BatchSize | Batch size value for rolling deployments. | Platform default |
aws:elasticbeanstalk:command | IgnoreHealthCheck | Continue deployment despite health checks. | false |
aws:elasticbeanstalk:command | Timeout | Timeout for command/deployment phases. | Platform default |
Option Settings Example (Long Flags)
aws elasticbeanstalk update-environment \
--application-name "my-app" \
--environment-name "my-app-prod" \
--option-settings Namespace=aws:autoscaling:asg,OptionName=MinSize,Value=2 \
--option-settings Namespace=aws:autoscaling:asg,OptionName=MaxSize,Value=6 \
--option-settings Namespace=aws:ec2:vpc,OptionName=VPCId,Value=vpc-xxxxxxxx \
--region "us-east-1" \
--profile "eb-ops"
Validation Commands
| Goal | Command |
| View effective option settings | aws elasticbeanstalk describe-configuration-settings --application-name "my-app" --environment-name "my-app-prod" --region "us-east-1" --profile "eb-ops" |
| Export current environment configuration | eb config save --cfg "my-app-prod-baseline" --environment "my-app-prod" --profile "eb-ops" --region "us-east-1" |
| Confirm environment state after update | aws elasticbeanstalk describe-environments --application-name "my-app" --environment-names "my-app-prod" --region "us-east-1" --profile "eb-ops" |
See Also
Sources