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)

6742
6743
6744
6745
6746
6747
6748
6749
# File 'lib/aws-sdk-ecs/types.rb', line 6742

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're launched on must allow ingress traffic on the `hostPort` of the port mapping.

Returns:

  • (Integer)

6742
6743
6744
6745
6746
6747
6748
6749
# File 'lib/aws-sdk-ecs/types.rb', line 6742

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)

6742
6743
6744
6745
6746
6747
6748
6749
# File 'lib/aws-sdk-ecs/types.rb', line 6742

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're using a Classic Load Balancer, omit the target group ARN.

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'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 `awsvpc` network mode, you must choose `ip` as the target type, not `instance`. Do this 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. This network mode is required for the Fargate launch type.

[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)

6742
6743
6744
6745
6746
6747
6748
6749
# File 'lib/aws-sdk-ecs/types.rb', line 6742

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