Use a sensible default instance type for ECS
See original GitHub issueThe current CF template for deploying in ECS uses t2.micro
instances. They are free, which is great but the Stack doesn’t work with such small instances (it doesn’t even finish deploying, providing a bad user experience).
In my experience, it only works when using at least 3 m4.xlarge
instances. We should use a default which is verified to work and remove any smaller instances from the list (maybe adding a clarification on this on the side).
m4.xlarge
instances are overkill for a demo but it seems that’s the smallest you can pick to make it work. We should probably revisit whether we are being too resource intensive for a demo application, but that’s a different topic.
Related: https://github.com/microservices-demo/microservices-demo/pull/412#issuecomment-260906964
Issue Analytics
- State:
- Created 7 years ago
- Comments:18 (16 by maintainers)
Top GitHub Comments
@errordeveloper: The last time that I tried to deploy this onto t2 micros, CFN never completed because it waits for ECS services to reach equilibrium, but the ECS service scheduler is unable to find sufficient resources to place all of the services. My suspicion is that 4x T2’s run out of memory fairly quickly. IIRC many of the services here require 512/1024mb of ram.
If you disable rollback when launching a CFN template, it makes it significantly easier to retroactively debug what happened- you can log into instances, etc. You can take a look at the “events” tab in ECS (or call the describe-service API) to find out why the ECS scheduler was never able to place the task.
@moretea that said, this was an issue a few month ago (around the time I’ve opened #146), I don’t know what may have improved since. Let’s chat on Slack to determine how to proceed 👍