Copyright | (c) 2013-2023 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Synopsis
- data LoadBalancer = LoadBalancer' {}
- newLoadBalancer :: LoadBalancer
- loadBalancer_containerName :: Lens' LoadBalancer (Maybe Text)
- loadBalancer_containerPort :: Lens' LoadBalancer (Maybe Int)
- loadBalancer_loadBalancerName :: Lens' LoadBalancer (Maybe Text)
- loadBalancer_targetGroupArn :: Lens' LoadBalancer (Maybe Text)
Documentation
data LoadBalancer Source #
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.
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: newLoadBalancer
smart constructor.
LoadBalancer' | |
|
Instances
newLoadBalancer :: LoadBalancer Source #
Create a value of LoadBalancer
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:containerName:LoadBalancer'
, loadBalancer_containerName
- The name of the container (as it appears in a container definition) to
associate with the load balancer.
$sel:containerPort:LoadBalancer'
, loadBalancer_containerPort
- 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.
$sel:loadBalancerName:LoadBalancer'
, loadBalancer_loadBalancerName
- 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.
$sel:targetGroupArn:LoadBalancer'
, loadBalancer_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. 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
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.
loadBalancer_containerName :: Lens' LoadBalancer (Maybe Text) Source #
The name of the container (as it appears in a container definition) to associate with the load balancer.
loadBalancer_containerPort :: Lens' LoadBalancer (Maybe Int) Source #
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.
loadBalancer_loadBalancerName :: Lens' LoadBalancer (Maybe Text) Source #
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.
loadBalancer_targetGroupArn :: Lens' LoadBalancer (Maybe Text) Source #
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
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.