TLDR -
Если у вас есть одно приложение, работающее на EC2; использовать EC2 Autoscaling
Если у вас есть несколько приложений, работающих на EC2, каждое из которых имеет свои собственные требования к языку и среде, сконфигурируйте их и запустите на ECS, чтобы получить выгоду от логической кластеризации приложений и раздельного масштабирования их вверх и вниз
Экземпляр EC2 в ядре - это просто виртуальная машина, которую вы настраиваете, настраиваете и запускаете по своему усмотрению.
С другой стороны, ECS - это служба, которая помогает запускать контейнеризованные приложения в экземпляре EC2.
Преимущества использования контейнеров над виртуальными машинами примерно равны преимуществам использования экземпляров EC2 с ECS над экземплярами EC2 без ECS.
Вероятно, нет смысла разделять ЦП и ОЗУ между кучей маленьких экземпляров докера для запуска вашего веб-приложения. Но это имеет смысл, если у вас запущено несколько микросервисов, но вы не хотите развертывать их на другом экземпляре EC2 из-за низкого трафика или по любой другой причине. Вы можете контейнировать каждый из них и запускать их с помощью ECS на экземплярах EC2.
Вы можете организовать микросервисы в логические кластеры, которые можно независимо контролировать и масштабировать по мере необходимости.
При использовании ECS AutoScaling вам придется масштабировать весь экземпляр EC2 вверх или вниз, что может быть не очень полезно, если только один из ваших микросервисов испытывает увеличение нагрузки, а другие микросервисы в порядке.