ApplicationMultipleTargetGroupsEc2ServiceProps Struct
The properties for the ApplicationMultipleTargetGroupsEc2Service service.
Example
// One application load balancer with one listener and two target groups.
declare const cluster: ecs.Cluster;
const loadBalancedEc2Service = new ecsPatterns.ApplicationMultipleTargetGroupsEc2Service(this, 'Service', {
cluster,
memoryLimitMiB: 256,
taskImageOptions: {
image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample"),
},
targetGroups: [
{
containerPort: 80,
},
{
containerPort: 90,
pathPattern: 'a/b/c',
priority: 10,
},
],
});
Properties
cloudMapOptionsoptionalCloudMapOptionscloud_map_optionsoptionalCloudMapOptionscloudMapOptionsoptionalCloudMapOptionsCloudMapOptionsoptionalCloudMapOptionsCloudMapOptionsoptionalCloudMapOptions#Default: AWS Cloud Map service discovery is not enabled.
clusteroptionalIClusterclusteroptionalIClusterclusteroptionalIClusterClusteroptionalIClusterClusteroptionalICluster#Default: create a new cluster; if both cluster and vpc are omitted, a new VPC will be created for you.
If a cluster is specified, the vpc construct should be omitted. Alternatively, you can omit both cluster and vpc.
Default: No minimum CPU units reserved.
Valid values, which determines your range of valid values for the memory parameter:
desiredCountoptionalnumberdesired_countoptionalint | floatdesiredCountoptionalNumberDesiredCountoptionaldoubleDesiredCountoptional*float64#Default: The default is 1 for all new services and uses the existing service's desired count when updating an existing service.
enableECSManagedTagsoptionalbooleanenable_ecs_managed_tagsoptionalboolenableECSManagedTagsoptionalBooleanEnableECSManagedTagsoptionalboolEnableECSManagedTagsoptional*bool= false#For more information, see Tagging Your Amazon ECS Resources
enableExecuteCommandoptionalbooleanenable_execute_commandoptionalboolenableExecuteCommandoptionalBooleanEnableExecuteCommandoptionalboolEnableExecuteCommandoptional*bool= false#healthCheckGracePeriodoptionalDurationhealth_check_grace_periodoptionalDurationhealthCheckGracePeriodoptionalDurationHealthCheckGracePeriodoptionalDurationHealthCheckGracePeriodoptionalDuration#Default: defaults to 60 seconds if at least one load balancer is in-use and it is not already set
loadBalancersoptionalApplicationLoadBalancerProps[]load_balancersoptionaltyping.List[ApplicationLoadBalancerProps]loadBalancersoptionalList<ApplicationLoadBalancerProps>LoadBalancersoptionalApplicationLoadBalancerProps[]LoadBalancersoptional*[]ApplicationLoadBalancerProps#Default: a new load balancer with a listener will be created.
memoryLimitMiBoptionalnumbermemory_limit_mi_boptionalint | floatmemoryLimitMiBoptionalNumberMemoryLimitMiBoptionaldoubleMemoryLimitMiBoptional*float64#Default: No memory limit.
If your container attempts to exceed the allocated memory, the container is terminated.
At least one of memoryLimitMiB and memoryReservationMiB is required.
memoryReservationMiBoptionalnumbermemory_reservation_mi_boptionalint | floatmemoryReservationMiBoptionalNumberMemoryReservationMiBoptionaldoubleMemoryReservationMiBoptional*float64#Default: No memory reserved.
notes
When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the memory parameter (if applicable), or all of the available memory on the container instance, whichever comes first.
At least one of memoryLimitMiB and memoryReservationMiB is required.
Note that this setting will be ignored if TaskImagesOptions is specified
placementConstraintsoptionalPlacementConstraint[]placement_constraintsoptionaltyping.List[PlacementConstraint]placementConstraintsoptionalList<PlacementConstraint>PlacementConstraintsoptionalPlacementConstraint[]PlacementConstraintsoptional*[]PlacementConstraint#Default: No constraints.
For more information, see Amazon ECS Task Placement Constraints.
placementStrategiesoptionalPlacementStrategy[]placement_strategiesoptionaltyping.List[PlacementStrategy]placementStrategiesoptionalList<PlacementStrategy>PlacementStrategiesoptionalPlacementStrategy[]PlacementStrategiesoptional*[]PlacementStrategy#Default: No strategies.
For more information, see Amazon ECS Task Placement Strategies.
propagateTagsoptionalPropagatedTagSourcepropagate_tagsoptionalPropagatedTagSourcepropagateTagsoptionalPropagatedTagSourcePropagateTagsoptionalPropagatedTagSourcePropagateTagsoptionalPropagatedTagSource= none#Tags can only be propagated to the tasks within the service during service creation.
serviceNameoptionalstringservice_nameoptionalstrserviceNameoptionalStringServiceNameoptionalstringServiceNameoptional*string#Default: CloudFormation-generated name.
targetGroupsoptionalApplicationTargetProps[]target_groupsoptionaltyping.List[ApplicationTargetProps]targetGroupsoptionalList<ApplicationTargetProps>TargetGroupsoptionalApplicationTargetProps[]TargetGroupsoptional*[]ApplicationTargetProps#Default: default portMapping registered as target group and attached to the first defined listener
taskDefinitionoptionalEc2TaskDefinitiontask_definitionoptionalEc2TaskDefinitiontaskDefinitionoptionalEc2TaskDefinitionTaskDefinitionoptionalEc2TaskDefinitionTaskDefinitionoptionalEc2TaskDefinition= none#[disable-awslint:ref-via-interface]
taskImageOptionsoptionalApplicationLoadBalancedTaskImagePropstask_image_optionsoptionalApplicationLoadBalancedTaskImagePropstaskImageOptionsoptionalApplicationLoadBalancedTaskImagePropsTaskImageOptionsoptionalApplicationLoadBalancedTaskImagePropsTaskImageOptionsoptionalApplicationLoadBalancedTaskImageProps= none#Only one of TaskDefinition or TaskImageOptions must be specified.
Default: uses the VPC defined in the cluster or creates a new VPC.
If a vpc is specified, the cluster construct should be omitted. Alternatively, you can omit both vpc and cluster.