80 releases (36 stable)

new 1.37.0 Jul 12, 2024
1.35.0 Jun 20, 2024
1.19.0 Mar 26, 2024
1.9.0 Dec 21, 2023
0.0.0 May 7, 2021

#2 in #health-check

Download history 3219/week @ 2024-03-15 1777/week @ 2024-03-22 2541/week @ 2024-03-29 1940/week @ 2024-04-05 2422/week @ 2024-04-12 3113/week @ 2024-04-19 2817/week @ 2024-04-26 2730/week @ 2024-05-03 2567/week @ 2024-05-10 3379/week @ 2024-05-17 2303/week @ 2024-05-24 2636/week @ 2024-05-31 3456/week @ 2024-06-07 3511/week @ 2024-06-14 2105/week @ 2024-06-21 944/week @ 2024-06-28

10,303 downloads per month
Used in 2 crates


56K SLoC


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.

Getting Started

Examples are available for many services and operations, check out the examples folder in GitHub.

The SDK provides one crate per AWS service. You must add Tokio as a dependency within your Rust project to execute asynchronous code. To add aws-sdk-elasticloadbalancingv2 to your project, add the following to your Cargo.toml file:

aws-config = { version = "1.1.7", features = ["behavior-version-latest"] }
aws-sdk-elasticloadbalancingv2 = "1.37.0"
tokio = { version = "1", features = ["full"] }

Then in code, a client can be created with the following:

use aws_sdk_elasticloadbalancingv2 as elasticloadbalancingv2;

async fn main() -> Result<(), elasticloadbalancingv2::Error> {
    let config = aws_config::load_from_env().await;
    let client = aws_sdk_elasticloadbalancingv2::Client::new(&config);

    // ... make some calls with the client


See the client documentation for information on what calls can be made, and the inputs and outputs for each of those calls.

Using the SDK

Until the SDK is released, we will be adding information about using the SDK to the Developer Guide. Feel free to suggest additional sections for the guide by opening an issue and describing what you are trying to do.

Getting Help


This project is licensed under the Apache-2.0 License.


~277K SLoC