Search code examples
amazon-web-servicesaws-cliamazon-ecs

Replace ECS tasks in cluster using AWS cli


I'm trying to replace the current tasks in an ECS cluster.

Context: I have 2 tasks (and a maximum of 4) Every time I make a change to the docker image, the image is built, tagged, and pushed to ECR (through Jenkins). I wanted to add a timer and after x minutes, replace the current tasks with new ones (also in the CI/CD)

I tried

aws ecs update-service --cluster myCluster --service myService --task-definition myTaskDef

but it didn't work.

Also, several suggestions that I found in StackOverflow and forums, but in the best cases, I ended with 4 tasks, while, I just want to replace the current ones with new ones.

Is this possible using the CLI?


Solution

  • Usually you would use --force-new-deployment parameter of update-service:

    Whether to force a new deployment of the service. Deployments are not forced by default. You can use this option to trigger a new deployment with no service definition changes. For example, you can update a service's tasks to use a newer Docker image with the same image/tag combination (my_image:latest ) or to roll Fargate tasks onto a newer platform version.