Modifying the resources that Elastic Beanstalk creates for your environment
The resources that Elastic Beanstalk creates for your environment have names. You can use these names to get information about the resources with a function, or modify properties on the resources to customize their behavior. This topic describes the AWS resources that Elastic Beanstalk uses in the different types of environments.
Note
The previous topic Custom resources provides some uses cases and examples for customizing environment resources. You can also find more examples of configuration files in the later topic Custom resource examples.
Web server environments have the following resources.
Web server environments
-
AWSEBAutoScalingGroup
(AWS::AutoScaling::AutoScalingGroup) – The Auto Scaling group attached to your environment. -
One of the following two resources.
-
AWSEBAutoScalingLaunchConfiguration
(AWS::AutoScaling::LaunchConfiguration) – The launch configuration attached to your environment's Auto Scaling group. -
AWSEBEC2LaunchTemplate
(AWS::EC2::LaunchTemplate) – The Amazon EC2 launch template used by your environment's Auto Scaling group.
Note
If your environment uses functionality that requires Amazon EC2 launch templates, and your user policy lacks the required permissions, creating or updating the environment might fail. Use the AdministratorAccess-AWSElasticBeanstalk managed user policy, or add the required permissions to your custom policy.
-
-
AWSEBEnvironmentName
(AWS::ElasticBeanstalk::Environment) – Your environment. -
AWSEBSecurityGroup
(AWS::EC2::SecurityGroup) – The security group attached to your Auto Scaling group. -
AWSEBRDSDatabase
(AWS::RDS::DBInstance) – The Amazon RDS DB instance attached to your environment (if applicable).
In a load-balanced environment, you can access additional resources related to the load balancer. Classic load balancers have a resource for the load balancer and one for the security group attached to it. Application and network load balancers have additional resources for the load balancer's default listener, listener rule, and target group.
Load-balanced environments
-
AWSEBLoadBalancer
(AWS::ElasticLoadBalancing::LoadBalancer) – Your environment's classic load balancer. -
AWSEBV2LoadBalancer
(AWS::ElasticLoadBalancingV2::LoadBalancer) – Your environment's application or network load balancer. -
AWSEBLoadBalancerSecurityGroup
(AWS::EC2::SecurityGroup) – In a custom Amazon Virtual Private Cloud (Amazon VPC) only, the name of the security group that Elastic Beanstalk creates for the load balancer. In a default VPC or EC2 classic, Elastic Load Balancing assigns a default security group to the load balancer. -
AWSEBV2LoadBalancerListener
(AWS::ElasticLoadBalancingV2::Listener) – A listener that allows the load balancer to check for connection requests and forward them to one or more target groups. -
AWSEBV2LoadBalancerListenerRule
(AWS::ElasticLoadBalancingV2::ListenerRule) – Defines which requests an Elastic Load Balancing listener takes action on and the action that it takes. -
AWSEBV2LoadBalancerTargetGroup
(AWS::ElasticLoadBalancingV2::TargetGroup) – An Elastic Load Balancing target group that routes requests to one or more registered targets, such as Amazon EC2 instances.
Worker environments have resources for the SQS queue that buffers incoming requests, and a Amazon DynamoDB table that the instances use for leader election.
Worker environments
-
AWSEBWorkerQueue
(AWS::SQS::Queue) – The Amazon SQS queue from which the daemon pulls requests that need to be processed. -
AWSEBWorkerDeadLetterQueue
(AWS::SQS::Queue) – The Amazon SQS queue that stores messages that cannot be delivered or otherwise were not successfully processed by the daemon. -
AWSEBWorkerCronLeaderRegistry
(AWS::DynamoDB::Table) – The Amazon DynamoDB table that is the internal registry used by the daemon for periodic tasks.