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.AccessLoggingPolicyPropertyAn implementation forCfnLoadBalancer.AccessLoggingPolicyPropertySpecifies a policy for application-controlled session stickiness for your Classic Load Balancer.A builder forCfnLoadBalancer.AppCookieStickinessPolicyPropertyAn implementation forCfnLoadBalancer.AppCookieStickinessPolicyPropertyA fluent builder forCfnLoadBalancer.Specifies the connection draining settings for your Classic Load Balancer.A builder forCfnLoadBalancer.ConnectionDrainingPolicyPropertyAn implementation forCfnLoadBalancer.ConnectionDrainingPolicyPropertySpecifies the idle timeout value for your Classic Load Balancer.A builder forCfnLoadBalancer.ConnectionSettingsPropertyAn implementation forCfnLoadBalancer.ConnectionSettingsPropertySpecifies health check settings for your Classic Load Balancer.A builder forCfnLoadBalancer.HealthCheckPropertyAn implementation forCfnLoadBalancer.HealthCheckPropertySpecifies a policy for duration-based session stickiness for your Classic Load Balancer.A builder forCfnLoadBalancer.LBCookieStickinessPolicyPropertyAn implementation forCfnLoadBalancer.LBCookieStickinessPolicyPropertySpecifies a listener for your Classic Load Balancer.A builder forCfnLoadBalancer.ListenersPropertyAn implementation forCfnLoadBalancer.ListenersPropertySpecifies policies for your Classic Load Balancer.A builder forCfnLoadBalancer.PoliciesPropertyAn implementation forCfnLoadBalancer.PoliciesPropertyExample:A builder forCfnLoadBalancer.SourceSecurityGroupPropertyAn implementation forCfnLoadBalancer.SourceSecurityGroupPropertyProperties for defining aCfnLoadBalancer.A builder forCfnLoadBalancerPropsAn implementation forCfnLoadBalancerPropsDescribe the health check to a load balancer.A builder forHealthCheckAn implementation forHealthCheckRepresents a load balancer.Internal default implementation forILoadBalancer.A proxy class which represents a concrete javascript instance of this type.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 forLoadBalancerListenerAn implementation forLoadBalancerListenerConstruction properties for a LoadBalancer.A builder forLoadBalancerPropsAn implementation forLoadBalancerProps