Skip to content
v2.274.0

NetworkLoadBalancedTaskImageProps Struct ​

Options for configuring a new container.

Example ​

ts
// Two network load balancers, each with their own listener and target group.
declare const cluster: ecs.Cluster;
const loadBalancedEc2Service = new ecsPatterns.NetworkMultipleTargetGroupsEc2Service(this, 'Service', {
  cluster,
  memoryLimitMiB: 256,
  taskImageOptions: {
    image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample"),
  },
  loadBalancers: [
    {
      name: 'lb1',
      listeners: [
        {
          name: 'listener1',
        },
      ],
    },
    {
      name: 'lb2',
      listeners: [
        {
          name: 'listener2',
        },
      ],
    },
  ],
  targetGroups: [
    {
      containerPort: 80,
      listener: 'listener1',
    },
    {
      containerPort: 90,
      listener: 'listener2',
    },
  ],
});

Properties ​

containerNameoptionalstringcontainer_nameoptionalstrcontainerNameoptionalStringContainerNameoptionalstringContainerNameoptional*string= none#
The container name value to be specified in the task definition.
containerPortsoptionalnumber[]container_portsoptionaltyping.List[int | float]containerPortsoptionalList<Number>ContainerPortsoptionaldouble[]ContainerPortsoptional*[]*float64= [80]#
A list of port numbers on the container that is bound to the user-specified or automatically assigned host port.
notes

If you are using containers in a task with the awsvpc or host network mode, exposed ports should be specified using containerPort. If you are using containers in a task with the bridge network mode and you specify a container port and not a host port, your container automatically receives a host port in the ephemeral port range.

Port mappings that are automatically assigned in this way do not count toward the 100 reserved ports limit of a container instance.

For more information, see hostPort.

dockerLabelsoptional{ [key: string]: string }docker_labelsoptionaltyping.Mapping[str, str]dockerLabelsoptionalMap<String, String>DockerLabelsoptionalIDictionary<string, string>DockerLabelsoptional*map[string]*string#
A key/value map of labels to add to the container.

Default: No labels.

enableLoggingoptionalbooleanenable_loggingoptionalboolenableLoggingoptionalBooleanEnableLoggingoptionalboolEnableLoggingoptional*bool= true#
Flag to indicate whether to enable logging.
environmentoptional{ [key: string]: string }environmentoptionaltyping.Mapping[str, str]environmentoptionalMap<String, String>EnvironmentoptionalIDictionary<string, string>Environmentoptional*map[string]*string#
The environment variables to pass to the container.

Default: No environment variables.

executionRoleoptionalIRoleexecution_roleoptionalIRoleexecutionRoleoptionalIRoleExecutionRoleoptionalIRoleExecutionRoleoptionalIRole#
The name of the task execution IAM role that grants the Amazon ECS container agent permission to call AWS APIs on your behalf.

Default: No value

familyoptionalstringfamilyoptionalstrfamilyoptionalStringFamilyoptionalstringFamilyoptional*string#
The name of a family that this task definition is registered to.

Default: Automatically generated name.

A family groups multiple versions of a task definition.

The image used to start a container.

Image or taskDefinition must be specified, but not both.

logDriveroptionalLogDriverlog_driveroptionalLogDriverlogDriveroptionalLogDriverLogDriveroptionalLogDriverLogDriveroptionalLogDriver#
The log driver to use.

Default: AwsLogDriver if enableLogging is true

secretsoptional{ [key: string]: Secret }secretsoptionaltyping.Mapping[str, Secret]secretsoptionalMap<String, Secret>SecretsoptionalIDictionary<string, Secret>Secretsoptional*map[string]Secret#
The secrets to expose to the container as an environment variable.

Default: No secret environment variables.

taskRoleoptionalIRoletask_roleoptionalIRoletaskRoleoptionalIRoleTaskRoleoptionalIRoleTaskRoleoptionalIRole#
The name of the task IAM role that grants containers in the task permission to call AWS APIs on your behalf.

Default: A task role is automatically created for you.