Class: Aws::ECS::Types::LoadBalancer

Inherits:
Struct
  • Object
show all
Includes:
Structure
Defined in:
lib/aws-sdk-ecs/types.rb

Overview

Note:

When making an API call, you may pass LoadBalancer data as a hash:

{
  target_group_arn: "String",
  load_balancer_name: "String",
  container_name: "String",
  container_port: 1,
}

The load balancer configuration to use with a service or task set.

For specific notes and restrictions regarding the use of load balancers with services and task sets, see the CreateService and CreateTaskSet actions.

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#container_nameString

The name of the container (as it appears in a container definition) to associate with the load balancer.

Returns:

  • (String)

6637
6638
6639
6640
6641
6642
6643
6644
# File 'lib/aws-sdk-ecs/types.rb', line 6637

class LoadBalancer < Struct.new(
  :target_group_arn,
  :load_balancer_name,
  :container_name,
  :container_port)
  SENSITIVE = []
  include Aws::Structure
end

#container_portInteger

The port on the container to associate with the load balancer. This port must correspond to a `containerPort` in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they are launched on must allow ingress traffic on the `hostPort` of the port mapping.

Returns:

  • (Integer)

6637
6638
6639
6640
6641
6642
6643
6644
# File 'lib/aws-sdk-ecs/types.rb', line 6637

class LoadBalancer < Struct.new(
  :target_group_arn,
  :load_balancer_name,
  :container_name,
  :container_port)
  SENSITIVE = []
  include Aws::Structure
end

#load_balancer_nameString

The name of the load balancer to associate with the Amazon ECS service or task set.

A load balancer name is only specified when using a Classic Load Balancer. If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted.

Returns:

  • (String)

6637
6638
6639
6640
6641
6642
6643
6644
# File 'lib/aws-sdk-ecs/types.rb', line 6637

class LoadBalancer < Struct.new(
  :target_group_arn,
  :load_balancer_name,
  :container_name,
  :container_port)
  SENSITIVE = []
  include Aws::Structure
end

#target_group_arnString

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. If you are using a Classic Load Balancer the target group ARN should be omitted.

For services using the `ECS` deployment controller, you can specify one or multiple target groups. For more information, see

Registering Multiple Target Groups with a Service][1

in the

*Amazon Elastic Container Service Developer Guide*.

For services using the `CODE_DEPLOY` deployment controller, you are 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 `awsvpc` network mode (which is required for the Fargate launch type), you must choose `ip` as the target type, not `instance`, when creating your target groups because tasks that use the `awsvpc` network mode are associated with an elastic network interface, not an Amazon EC2 instance.

[1]: docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html [2]: docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html

Returns:

  • (String)

6637
6638
6639
6640
6641
6642
6643
6644
# File 'lib/aws-sdk-ecs/types.rb', line 6637

class LoadBalancer < Struct.new(
  :target_group_arn,
  :load_balancer_name,
  :container_name,
  :container_port)
  SENSITIVE = []
  include Aws::Structure
end