purple-shampoo-2675
05/03/2022, 3:08 PMawsx
to deploy EC2-backed ECS services (not Fargate_)_ and having trouble setting them up with proper capacity providers. They have an ASG (via cluster.createAutoScalingGroup(...)
) but by default the group doesn't scale for new deploys. I thought the answer might be to create an explicit aws.ecs.CapacityProvider
which will respond to task placement failures by provisioning new instances, but there seems to be a circular dependency between the different elements like so:
• awsx.ecs.Cluster
takes a capacityProviders
array on creation, but
• aws.ecs.CapacityProvider
needs the ARN of an autoscalingGroup
, but
• the autoscalingGroup
is created via cluster.createAutoScalingGroup(...)
which is not available until after the cluster is created.
I hope that's enough context! I can provide more code if that would be useful. Basically where I want to get to is an ASG with n
instances in, where every time a pulumi up
happens the group scales up to 2n
instances to place new tasks, then scales back down to n
instances, getting rid of the old ones. Right now pulumi up
completes successfully but new tasks don't happen unless I specify the ASG should be permanently twice as big as it needs to be.