From 84ad736fe3129516d3fea9b429813a098ed02166 Mon Sep 17 00:00:00 2001 From: Chris Kalafarski Date: Mon, 6 Jan 2025 09:49:30 -0500 Subject: [PATCH] Add instance-type placement constraint to ECS tasks --- spire/templates/apps/augury.yml | 6 ++++++ spire/templates/apps/castle.yml | 3 +++ spire/templates/apps/cms.yml | 6 ++++++ spire/templates/apps/dovetail-router.yml | 3 +++ spire/templates/apps/exchange.yml | 6 ++++++ spire/templates/apps/feeder.yml | 6 ++++++ spire/templates/apps/id.yml | 3 +++ spire/templates/apps/iframely.yml | 3 +++ spire/templates/apps/metrics.yml | 3 +++ spire/templates/apps/networks.yml | 6 ++++++ spire/templates/apps/play.yml | 3 +++ spire/templates/apps/remix.yml | 3 +++ spire/templates/apps/styleguide.yml | 3 +++ spire/templates/apps/the-castle.yml | 3 +++ spire/templates/apps/theworld-website.yml | 3 +++ spire/templates/apps/wfmt.yml | 6 ++++++ 16 files changed, 66 insertions(+) diff --git a/spire/templates/apps/augury.yml b/spire/templates/apps/augury.yml index babc4c4e9..24952f1c5 100644 --- a/spire/templates/apps/augury.yml +++ b/spire/templates/apps/augury.yml @@ -271,6 +271,9 @@ Resources: - ContainerName: !Ref kWebContainerName ContainerPort: !Ref kApplicationPort TargetGroupArn: !Ref TargetGroup + PlacementConstraints: + - Type: memberOf + Expression: attribute:ecs.instance-type == "x86_64" PlacementStrategies: - Field: instanceId Type: spread @@ -295,6 +298,9 @@ Resources: MinimumHealthyPercent: 50 DesiredCount: !If [IsProduction, 2, 1] EnableECSManagedTags: true + PlacementConstraints: + - Type: memberOf + Expression: attribute:ecs.instance-type == "x86_64" PropagateTags: TASK_DEFINITION Tags: - { Key: prx:meta:tagging-version, Value: "2021-04-07" } diff --git a/spire/templates/apps/castle.yml b/spire/templates/apps/castle.yml index e1dd6706b..c0df7b689 100644 --- a/spire/templates/apps/castle.yml +++ b/spire/templates/apps/castle.yml @@ -130,6 +130,9 @@ Resources: - ContainerName: !Ref kContainerName ContainerPort: !Ref kApplicationPort TargetGroupArn: !Ref TargetGroup + PlacementConstraints: + - Type: memberOf + Expression: attribute:ecs.instance-type == "x86_64" PropagateTags: TASK_DEFINITION Tags: - { Key: prx:meta:tagging-version, Value: "2021-04-07" } diff --git a/spire/templates/apps/cms.yml b/spire/templates/apps/cms.yml index f769f6295..baeed4d31 100644 --- a/spire/templates/apps/cms.yml +++ b/spire/templates/apps/cms.yml @@ -343,6 +343,9 @@ Resources: - ContainerName: !Ref kWebContainerName ContainerPort: !Ref kApplicationPort TargetGroupArn: !Ref TargetGroup + PlacementConstraints: + - Type: memberOf + Expression: attribute:ecs.instance-type == "x86_64" PropagateTags: TASK_DEFINITION Tags: - { Key: prx:meta:tagging-version, Value: "2021-04-07" } @@ -363,6 +366,9 @@ Resources: MinimumHealthyPercent: 50 DesiredCount: 1 EnableECSManagedTags: true + PlacementConstraints: + - Type: memberOf + Expression: attribute:ecs.instance-type == "x86_64" PropagateTags: TASK_DEFINITION Tags: - { Key: prx:meta:tagging-version, Value: "2021-04-07" } diff --git a/spire/templates/apps/dovetail-router.yml b/spire/templates/apps/dovetail-router.yml index ef1b59b78..8383cb24e 100644 --- a/spire/templates/apps/dovetail-router.yml +++ b/spire/templates/apps/dovetail-router.yml @@ -671,6 +671,9 @@ Resources: - ContainerName: !Ref kContainerName ContainerPort: !Ref kApplicationPort TargetGroupArn: !Ref TargetGroup + PlacementConstraints: + - Type: memberOf + Expression: attribute:ecs.instance-type == "x86_64" PropagateTags: TASK_DEFINITION Tags: - { Key: prx:meta:tagging-version, Value: "2021-04-07" } diff --git a/spire/templates/apps/exchange.yml b/spire/templates/apps/exchange.yml index 3087e58f3..0677b9d41 100644 --- a/spire/templates/apps/exchange.yml +++ b/spire/templates/apps/exchange.yml @@ -355,6 +355,9 @@ Resources: - ContainerName: !Ref kWebContainerName ContainerPort: !Ref kWebApplicationPort TargetGroupArn: !Ref WebTargetGroup + PlacementConstraints: + - Type: memberOf + Expression: attribute:ecs.instance-type == "x86_64" PropagateTags: TASK_DEFINITION Tags: - { Key: prx:meta:tagging-version, Value: "2021-04-07" } @@ -595,6 +598,9 @@ Resources: MinimumHealthyPercent: 50 DesiredCount: !If [IsProduction, 6, 1] EnableECSManagedTags: true + PlacementConstraints: + - Type: memberOf + Expression: attribute:ecs.instance-type == "x86_64" PropagateTags: TASK_DEFINITION Tags: - { Key: prx:meta:tagging-version, Value: "2021-04-07" } diff --git a/spire/templates/apps/feeder.yml b/spire/templates/apps/feeder.yml index 5ed10f7fb..8708c49b4 100644 --- a/spire/templates/apps/feeder.yml +++ b/spire/templates/apps/feeder.yml @@ -747,6 +747,9 @@ Resources: - ContainerName: !Ref kWebContainerName ContainerPort: !Ref kWebApplicationPort TargetGroupArn: !Ref WebTargetGroup2 + PlacementConstraints: + - Type: memberOf + Expression: attribute:ecs.instance-type == "x86_64" PropagateTags: TASK_DEFINITION Tags: - { Key: prx:meta:tagging-version, Value: "2021-04-07" } @@ -922,6 +925,9 @@ Resources: MinimumHealthyPercent: 50 DesiredCount: 1 EnableECSManagedTags: true + PlacementConstraints: + - Type: memberOf + Expression: attribute:ecs.instance-type == "x86_64" PropagateTags: TASK_DEFINITION Tags: - { Key: prx:meta:tagging-version, Value: "2021-04-07" } diff --git a/spire/templates/apps/id.yml b/spire/templates/apps/id.yml index dbccda3a6..4dec30597 100644 --- a/spire/templates/apps/id.yml +++ b/spire/templates/apps/id.yml @@ -132,6 +132,9 @@ Resources: - ContainerName: !Ref kContainerName ContainerPort: !Ref kApplicationPort TargetGroupArn: !Ref TargetGroup + PlacementConstraints: + - Type: memberOf + Expression: attribute:ecs.instance-type == "x86_64" PropagateTags: TASK_DEFINITION Tags: - { Key: prx:meta:tagging-version, Value: "2021-04-07" } diff --git a/spire/templates/apps/iframely.yml b/spire/templates/apps/iframely.yml index 70b5f0762..ac16d38a5 100644 --- a/spire/templates/apps/iframely.yml +++ b/spire/templates/apps/iframely.yml @@ -138,6 +138,9 @@ Resources: - ContainerName: !Ref kContainerName ContainerPort: !Ref kApplicationPort TargetGroupArn: !Ref TargetGroup + PlacementConstraints: + - Type: memberOf + Expression: attribute:ecs.instance-type == "x86_64" PropagateTags: TASK_DEFINITION Tags: - { Key: prx:meta:tagging-version, Value: "2021-04-07" } diff --git a/spire/templates/apps/metrics.yml b/spire/templates/apps/metrics.yml index 8d0fe841d..c6ffde717 100644 --- a/spire/templates/apps/metrics.yml +++ b/spire/templates/apps/metrics.yml @@ -158,6 +158,9 @@ Resources: - ContainerName: !Ref kContainerName ContainerPort: !Ref kApplicationPort TargetGroupArn: !Ref TargetGroup + PlacementConstraints: + - Type: memberOf + Expression: attribute:ecs.instance-type == "x86_64" PropagateTags: TASK_DEFINITION Tags: - { Key: prx:meta:tagging-version, Value: "2021-04-07" } diff --git a/spire/templates/apps/networks.yml b/spire/templates/apps/networks.yml index 2c99101c3..f7ecaee8f 100644 --- a/spire/templates/apps/networks.yml +++ b/spire/templates/apps/networks.yml @@ -249,6 +249,9 @@ Resources: - ContainerName: !Ref kWebContainerName ContainerPort: !Ref kWebApplicationPort TargetGroupArn: !Ref PublicWebTargetGroup + PlacementConstraints: + - Type: memberOf + Expression: attribute:ecs.instance-type == "x86_64" PropagateTags: TASK_DEFINITION Tags: - { Key: prx:meta:tagging-version, Value: "2021-04-07" } @@ -651,6 +654,9 @@ Resources: - !Ref VpcPrivateSubnet1Id - !Ref VpcPrivateSubnet2Id - !Ref VpcPrivateSubnet3Id + PlacementConstraints: + - Type: memberOf + Expression: attribute:ecs.instance-type == "x86_64" PropagateTags: TASK_DEFINITION Tags: - { Key: prx:meta:tagging-version, Value: "2021-04-07" } diff --git a/spire/templates/apps/play.yml b/spire/templates/apps/play.yml index f00c94249..1ca758bcf 100644 --- a/spire/templates/apps/play.yml +++ b/spire/templates/apps/play.yml @@ -169,6 +169,9 @@ Resources: - ContainerName: !Ref kContainerName ContainerPort: !Ref kApplicationPort TargetGroupArn: !Ref WebTargetGroup + PlacementConstraints: + - Type: memberOf + Expression: attribute:ecs.instance-type == "x86_64" PropagateTags: TASK_DEFINITION Tags: - { Key: prx:meta:tagging-version, Value: "2021-04-07" } diff --git a/spire/templates/apps/remix.yml b/spire/templates/apps/remix.yml index 9c717d37b..2a25ed01b 100644 --- a/spire/templates/apps/remix.yml +++ b/spire/templates/apps/remix.yml @@ -237,6 +237,9 @@ Resources: - ContainerName: !Ref kWebContainerName ContainerPort: !Ref kApplicationPort TargetGroupArn: !Ref TargetGroup + PlacementConstraints: + - Type: memberOf + Expression: attribute:ecs.instance-type == "x86_64" PropagateTags: TASK_DEFINITION Tags: - { Key: prx:meta:tagging-version, Value: "2021-04-07" } diff --git a/spire/templates/apps/styleguide.yml b/spire/templates/apps/styleguide.yml index f8836b3b4..91e6dbebd 100644 --- a/spire/templates/apps/styleguide.yml +++ b/spire/templates/apps/styleguide.yml @@ -113,6 +113,9 @@ Resources: - ContainerName: !Ref kContainerName ContainerPort: !Ref kApplicationPort TargetGroupArn: !Ref TargetGroup + PlacementConstraints: + - Type: memberOf + Expression: attribute:ecs.instance-type == "x86_64" PropagateTags: TASK_DEFINITION Tags: - { Key: prx:meta:tagging-version, Value: "2021-04-07" } diff --git a/spire/templates/apps/the-castle.yml b/spire/templates/apps/the-castle.yml index 37dfd8747..7a1afb1d2 100644 --- a/spire/templates/apps/the-castle.yml +++ b/spire/templates/apps/the-castle.yml @@ -216,6 +216,9 @@ Resources: - ContainerName: !Ref kWebContainerName ContainerPort: !Ref kWebApplicationPort TargetGroupArn: !Ref TargetGroup + PlacementConstraints: + - Type: memberOf + Expression: attribute:ecs.instance-type == "x86_64" PropagateTags: TASK_DEFINITION Tags: - { Key: prx:meta:tagging-version, Value: "2021-04-07" } diff --git a/spire/templates/apps/theworld-website.yml b/spire/templates/apps/theworld-website.yml index 563f91673..a431c45de 100644 --- a/spire/templates/apps/theworld-website.yml +++ b/spire/templates/apps/theworld-website.yml @@ -116,6 +116,9 @@ Resources: - ContainerName: !Ref kContainerName ContainerPort: !Ref kApplicationPort TargetGroupArn: !Ref TargetGroup + PlacementConstraints: + - Type: memberOf + Expression: attribute:ecs.instance-type == "x86_64" PropagateTags: TASK_DEFINITION Tags: - { Key: prx:meta:tagging-version, Value: "2021-04-07" } diff --git a/spire/templates/apps/wfmt.yml b/spire/templates/apps/wfmt.yml index d8cd96b22..6f0265ece 100644 --- a/spire/templates/apps/wfmt.yml +++ b/spire/templates/apps/wfmt.yml @@ -421,6 +421,9 @@ Resources: - ContainerName: !Ref kWebContainerName ContainerPort: !Ref kWebApplicationPort TargetGroupArn: !Ref WebTargetGroup + PlacementConstraints: + - Type: memberOf + Expression: attribute:ecs.instance-type == "x86_64" PropagateTags: TASK_DEFINITION Tags: - { Key: prx:meta:tagging-version, Value: "2021-04-07" } @@ -572,6 +575,9 @@ Resources: MinimumHealthyPercent: 50 DesiredCount: 1 EnableECSManagedTags: true + PlacementConstraints: + - Type: memberOf + Expression: attribute:ecs.instance-type == "x86_64" PropagateTags: TASK_DEFINITION Tags: - { Key: prx:meta:tagging-version, Value: "2021-04-07" }