Class LoadBalancer
- All Implemented Interfaces:
Serializable,SdkPojo,ToCopyableBuilder<LoadBalancer.Builder,LoadBalancer>
The load balancer configuration to use with a service or task set.
When you add, update, or remove a load balancer configuration, Amazon ECS starts a new deployment with the updated Elastic Load Balancing configuration. This causes tasks to register to and deregister from load balancers.
We recommend that you verify this on a test environment before you update the Elastic Load Balancing configuration.
A service-linked role is required for services that use multiple target groups. For more information, see Using service-linked roles in the Amazon Elastic Container Service Developer Guide.
- See Also:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionfinal AdvancedConfigurationThe advanced settings for the load balancer used in blue/green deployments.static LoadBalancer.Builderbuilder()final StringThe name of the container (as it appears in a container definition) to associate with the load balancer.final IntegerThe port on the container to associate with the load balancer.final booleanfinal booleanequalsBySdkFields(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz) final inthashCode()final StringThe name of the load balancer to associate with the Amazon ECS service or task set.static Class<? extends LoadBalancer.Builder> final StringThe full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set.Take this object and create a builder that contains all of the current property values of this object.final StringtoString()Returns a string representation of this object.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
targetGroupArn
The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set.
A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer.
For services using the
ECSdeployment controller, you can specify one or multiple target groups. For more information, see Registering multiple target groups with a service in the Amazon Elastic Container Service Developer Guide.For services using the
CODE_DEPLOYdeployment controller, you're required to define two target groups for the load balancer. For more information, see Blue/green deployment with CodeDeploy in the Amazon Elastic Container Service Developer Guide.If your service's task definition uses the
awsvpcnetwork mode, you must chooseipas the target type, notinstance. Do this when creating your target groups because tasks that use theawsvpcnetwork mode are associated with an elastic network interface, not an Amazon EC2 instance. This network mode is required for the Fargate launch type.- Returns:
- The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with
a service or task set.
A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer.
For services using the
ECSdeployment controller, you can specify one or multiple target groups. For more information, see Registering multiple target groups with a service in the Amazon Elastic Container Service Developer Guide.For services using the
CODE_DEPLOYdeployment controller, you're required to define two target groups for the load balancer. For more information, see Blue/green deployment with CodeDeploy in the Amazon Elastic Container Service Developer Guide.If your service's task definition uses the
awsvpcnetwork mode, you must chooseipas the target type, notinstance. Do this when creating your target groups because tasks that use theawsvpcnetwork mode are associated with an elastic network interface, not an Amazon EC2 instance. This network mode is required for the Fargate launch type.
-
loadBalancerName
The name of the load balancer to associate with the Amazon ECS service or task set.
If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted.
- Returns:
- The name of the load balancer to associate with the Amazon ECS service or task set.
If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted.
-
containerName
The name of the container (as it appears in a container definition) to associate with the load balancer.
You need to specify the container name when configuring the target group for an Amazon ECS load balancer.
- Returns:
- The name of the container (as it appears in a container definition) to associate with the load
balancer.
You need to specify the container name when configuring the target group for an Amazon ECS load balancer.
-
containerPort
The port on the container to associate with the load balancer. This port must correspond to a
containerPortin the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they're launched on must allow ingress traffic on thehostPortof the port mapping.- Returns:
- The port on the container to associate with the load balancer. This port must correspond to a
containerPortin the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they're launched on must allow ingress traffic on thehostPortof the port mapping.
-
advancedConfiguration
The advanced settings for the load balancer used in blue/green deployments. Specify the alternate target group, listener rules, and IAM role required for traffic shifting during blue/green deployments.
- Returns:
- The advanced settings for the load balancer used in blue/green deployments. Specify the alternate target group, listener rules, and IAM role required for traffic shifting during blue/green deployments.
-
toBuilder
Description copied from interface:ToCopyableBuilderTake this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilderin interfaceToCopyableBuilder<LoadBalancer.Builder,LoadBalancer> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
-
equals
-
equalsBySdkFields
Description copied from interface:SdkPojoIndicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojoclass, and is generated based on a service model.If an
SdkPojoclass does not have any inherited fields,equalsBySdkFieldsandequalsare essentially the same.- Specified by:
equalsBySdkFieldsin interfaceSdkPojo- Parameters:
obj- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
toString
-
getValueForField
-
sdkFields
-
sdkFieldNameToField
- Specified by:
sdkFieldNameToFieldin interfaceSdkPojo- Returns:
- The mapping between the field name and its corresponding field.
-