'AWS ECS Cli vs Docker Context ECS Cli

I need to deploy an application in AWS using ECS Fargate. This application has multiple services and a docker-compose file. I see there are two main ways to do this:

  1. Using Docker's Context ECS cli, the official docs I found: Docker doc and AWS doc.
  2. Using Amazon's ECS cli as described here.

I am trying to understand the following but didn't find any comparison on the web:

  • Which are the advantages/disadvantages of each way?
  • Can the same result be achieved with both options, or is there something one can do that the other can't?
  • What should I take in consideration when I choose one?

Thanks,



Solution 1:[1]

So I've been trying this this past week, both approaches, and here's what I have found.

  • ecs-cli and docker support different sets of tags for nontrivial features, even things such as how much CPU and memory your container needs.
  • For example docker wants the deploy config in a deploy tag under the service. See https://docs.docker.com/compose/compose-file/deploy/#memory
  • However ECS-CLI wants things in a acs-params.yml. There are almost no examples out there other than trivial ones though, and the ones published don't actually work with the current tooling. What they publish doesn't work.
  • Docker ECS integration works and handles tons of details for you, including VPC, subnet creation, LBs, security groups, everything. This is an amazing part.
  • ecs-cli offers tons more options than Docker CLI but you need to do a lot more work yourself, manual security group config, etc.
  • I was never able to get ecs-cli to really work. It kept choking on cpu config, and what was written in AWS docs did not actually work\
  • docker compose logs doesn't work

Overall neither CLI seems to be in production shape, but docker one seems to be far ahead of where the ecs-cli is IMO.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Evan Chan