Package software.amazon.awscdk.services.elasticloadbalancing
package software.amazon.awscdk.services.elasticloadbalancing
Amazon Elastic Load Balancing Construct Library
The aws-cdk-lib/aws-elasticloadbalancing
package provides constructs for configuring
classic load balancers.
Configuring a Load Balancer
Load balancers send traffic to one or more AutoScalingGroups. Create a load
balancer, set up listeners and a health check, and supply the fleet(s) you want
to load balance to in the targets
property. If you want the load balancer to be
accessible from the internet, set internetFacing: true
.
IVpc vpc; AutoScalingGroup myAutoScalingGroup; LoadBalancer lb = LoadBalancer.Builder.create(this, "LB") .vpc(vpc) .internetFacing(true) .healthCheck(HealthCheck.builder() .port(80) .build()) .build(); lb.addTarget(myAutoScalingGroup); lb.addListener(LoadBalancerListener.builder() .externalPort(80) .build());
The load balancer allows all connections by default. If you want to change that,
pass the allowConnectionsFrom
property while setting up the listener:
SecurityGroup mySecurityGroup; LoadBalancer lb; lb.addListener(LoadBalancerListener.builder() .externalPort(80) .allowConnectionsFrom(List.of(mySecurityGroup)) .build());
Adding Ec2 Instance as a target for the load balancer
You can add an EC2 instance to the load balancer by calling using new InstanceTarget
as the argument to addTarget()
:
IVpc vpc; LoadBalancer lb = LoadBalancer.Builder.create(this, "LB") .vpc(vpc) .internetFacing(true) .build(); // instance to add as the target for load balancer. Instance instance = Instance.Builder.create(this, "targetInstance") .vpc(vpc) .instanceType(InstanceType.of(InstanceClass.BURSTABLE2, InstanceSize.MICRO)) .machineImage(AmazonLinuxImage.Builder.create().generation(AmazonLinuxGeneration.AMAZON_LINUX_2).build()) .build(); lb.addTarget(new InstanceTarget(instance));
-
ClassDescriptionSpecifies a Classic Load Balancer.Specifies where and how access logs are stored for your Classic Load Balancer.A builder for
CfnLoadBalancer.AccessLoggingPolicyProperty
An implementation forCfnLoadBalancer.AccessLoggingPolicyProperty
Specifies a policy for application-controlled session stickiness for your Classic Load Balancer.A builder forCfnLoadBalancer.AppCookieStickinessPolicyProperty
An implementation forCfnLoadBalancer.AppCookieStickinessPolicyProperty
A fluent builder forCfnLoadBalancer
.Specifies the connection draining settings for your Classic Load Balancer.A builder forCfnLoadBalancer.ConnectionDrainingPolicyProperty
An implementation forCfnLoadBalancer.ConnectionDrainingPolicyProperty
Specifies the idle timeout value for your Classic Load Balancer.A builder forCfnLoadBalancer.ConnectionSettingsProperty
An implementation forCfnLoadBalancer.ConnectionSettingsProperty
Specifies health check settings for your Classic Load Balancer.A builder forCfnLoadBalancer.HealthCheckProperty
An implementation forCfnLoadBalancer.HealthCheckProperty
Specifies a policy for duration-based session stickiness for your Classic Load Balancer.A builder forCfnLoadBalancer.LBCookieStickinessPolicyProperty
An implementation forCfnLoadBalancer.LBCookieStickinessPolicyProperty
Specifies a listener for your Classic Load Balancer.A builder forCfnLoadBalancer.ListenersProperty
An implementation forCfnLoadBalancer.ListenersProperty
Specifies policies for your Classic Load Balancer.A builder forCfnLoadBalancer.PoliciesProperty
An implementation forCfnLoadBalancer.PoliciesProperty
Properties for defining aCfnLoadBalancer
.A builder forCfnLoadBalancerProps
An implementation forCfnLoadBalancerProps
Describe the health check to a load balancer.A builder forHealthCheck
An implementation forHealthCheck
Interface that is going to be implemented by constructs that you can load balance to.Internal default implementation forILoadBalancerTarget
.A proxy class which represents a concrete javascript instance of this type.An EC2 instance that is the target for load balancing.Reference to a listener's port just created.A load balancer with a single listener.A fluent builder forLoadBalancer
.Add a backend to the load balancer.A builder forLoadBalancerListener
An implementation forLoadBalancerListener
Construction properties for a LoadBalancer.A builder forLoadBalancerProps
An implementation forLoadBalancerProps