Skip to content
v2.273.0

LoadBalancerTargetOptions Struct ​

Properties for defining an ECS target.

The port mapping for it must already have been created through addPortMapping().

Example ​

ts
declare const cluster: ecs.Cluster;
declare const taskDefinition: ecs.TaskDefinition;
declare const blueTargetGroup: elbv2.ApplicationTargetGroup;
declare const greenTargetGroup: elbv2.ApplicationTargetGroup;
declare const prodListenerRule: elbv2.ApplicationListenerRule;

const service = new ecs.FargateService(this, 'Service', {
  cluster,
  taskDefinition,
  deploymentStrategy: ecs.DeploymentStrategy.LINEAR,
  linearConfiguration: {
    stepPercent: 10.0,
    stepBakeTime: Duration.minutes(5),
  },
});

const target = service.loadBalancerTarget({
  containerName: 'web',
  containerPort: 80,
  alternateTarget: new ecs.AlternateTarget('AlternateTarget', {
    alternateTargetGroup: greenTargetGroup,
    productionListener: ecs.ListenerRuleConfiguration.applicationListenerRule(prodListenerRule),
  }),
});

target.attachToApplicationTargetGroup(blueTargetGroup);

Properties ​

alternateTargetIAlternateTargetalternate_targetIAlternateTargetalternateTargetIAlternateTargetAlternateTargetIAlternateTargetAlternateTargetIAlternateTarget= No alternate target configuratio…#
Alternate target configuration for blue/green deployments.
default

Default: No alternate target configuration

containerNamestringcontainer_namestrcontainerNameStringContainerNamestringContainerName*stringrequired#
The name of the container.
containerPortnumbercontainer_portint | floatcontainerPortNumberContainerPortdoubleContainerPort*float64= Container port of the first adde…#
The port number of the container.

Only applicable when using application/network load balancers.

default

Default: Container port of the first added port mapping.

protocolProtocolprotocolProtocolprotocolProtocolProtocolProtocolProtocolProtocol= Protocol.TCP#
The protocol used for the port mapping.

Only applicable when using application load balancers.