Expand description

Elastic Load Balancing

A load balancer distributes incoming traffic across targets, such as your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered targets and ensures that it routes traffic only to healthy targets. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer. You configure a target group with a protocol and port number for connections from the load balancer to the targets, and with health check settings to be used when checking the health status of the targets.

Elastic Load Balancing supports the following types of load balancers: Application Load Balancers, Network Load Balancers, Gateway Load Balancers, and Classic Load Balancers. This reference covers the following load balancer types:

  • Application Load Balancer - Operates at the application layer (layer 7) and supports HTTP and HTTPS.

  • Network Load Balancer - Operates at the transport layer (layer 4) and supports TCP, TLS, and UDP.

  • Gateway Load Balancer - Operates at the network layer (layer 3).

For more information, see the Elastic Load Balancing User Guide.

All Elastic Load Balancing operations are idempotent, which means that they complete at most one time. If you repeat an operation, it succeeds.

If you’re using the service, you’re probably looking for ElbClient and Elb.


Information about an action.

Each rule must include exactly one of the following types of actions: forward, fixed-response, or redirect, and it must be the last action to be performed.

Request parameters to use when integrating with Amazon Cognito to authenticate users.

Request parameters when using an identity provider (IdP) that is compliant with OpenID Connect (OIDC) to authenticate users.

Information about an Availability Zone.

Information about an SSL server certificate.

Information about a cipher used in a policy.

A client for the Elastic Load Balancing v2 API.

Information about an action that returns a custom HTTP response.

Information about a forward action.

Information about a host header condition.

Information about an HTTP header condition.

There is a set of standard HTTP header fields. You can also define custom HTTP header fields.

Information about an HTTP method condition.

HTTP defines a set of request methods, also referred to as HTTP verbs. For more information, see the HTTP Method Registry. You can also define custom HTTP methods.

Information about an Elastic Load Balancing resource limit for your AWS account.

Information about a listener.

Information about a load balancer.

Information about a static IP address for a load balancer.

Information about a load balancer attribute.

Information about the state of the load balancer.

The codes to use when checking for a successful response from a target. If the protocol version is gRPC, these are gRPC codes. Otherwise, these are HTTP codes.

Information about a path pattern condition.

Information about a query string condition.

The query string component of a URI starts after the first '?' character and is terminated by either a '#' character or the end of the URI. A typical query string contains key/value pairs separated by '&' characters. The allowed characters are specified by RFC 3986. Any character can be percentage encoded.

Information about a key/value pair.

Information about a redirect action.

A URI consists of the following components: protocol://hostname:port/path?query. You must modify at least one of the following components to avoid a redirect loop: protocol, hostname, port, or path. Any components that you do not modify retain their original values.

You can reuse URI components using the following reserved keywords:

  • #{protocol}

  • #{host}

  • #{port}

  • #{path} (the leading "/" is removed)

  • #{query}

For example, you can change the path to "/new/#{path}", the hostname to "example.#{host}", or the query to "#{query}&value=xyz".

Information about a rule.

Information about a condition for a rule.

Each rule can optionally include up to one of each of the following conditions: http-request-method, host-header, path-pattern, and source-ip. Each rule can also optionally include one or more of each of the following conditions: http-header and query-string.

Information about the priorities for the rules for a listener.

Information about a source IP condition.

You can use this condition to route based on the IP address of the source that connects to the load balancer. If a client is behind a proxy, this is the IP address of the proxy not the IP address of the client.

Information about a policy used for SSL negotiation.

Information about a subnet mapping.

Information about a tag.

The tags associated with a resource.

Information about a target.

Information about a target group.

Information about a target group attribute.

Information about the target group stickiness for a rule.

Information about how traffic will be distributed between multiple target groups in a forward rule.

Information about the current health of a target.

Information about the health of a target.


Errors returned by AddListenerCertificates

Errors returned by AddTags

Errors returned by CreateListener

Errors returned by CreateLoadBalancer

Errors returned by CreateRule

Errors returned by CreateTargetGroup

Errors returned by DeleteListener

Errors returned by DeleteLoadBalancer

Errors returned by DeleteRule

Errors returned by DeleteTargetGroup

Errors returned by DeregisterTargets

Errors returned by DescribeAccountLimits

Errors returned by DescribeListenerCertificates

Errors returned by DescribeListeners

Errors returned by DescribeLoadBalancerAttributes

Errors returned by DescribeLoadBalancers

Errors returned by DescribeRules

Errors returned by DescribeSSLPolicies

Errors returned by DescribeTags

Errors returned by DescribeTargetGroupAttributes

Errors returned by DescribeTargetGroups

Errors returned by DescribeTargetHealth

Errors returned by ModifyListener

Errors returned by ModifyLoadBalancerAttributes

Errors returned by ModifyRule

Errors returned by ModifyTargetGroupAttributes

Errors returned by ModifyTargetGroup

Errors returned by RegisterTargets

Errors returned by RemoveListenerCertificates

Errors returned by RemoveTags

Errors returned by SetIpAddressType

Errors returned by SetRulePriorities

Errors returned by SetSecurityGroups

Errors returned by SetSubnets


Trait representing the capabilities of the Elastic Load Balancing v2 API. Elastic Load Balancing v2 clients implement this trait.