Ваш вопрос
ECS - это просто докер, установленный в EC2? Если у меня уже есть EC2, то я запускаю ECS, значит ли это, что у меня два экземпляра?
Нет. AWS ECSЭто просто логическая группировка (кластер) EC2экземпляров, и все EC2экземпляры, входящие в состав какого-либо экземпляра, ECSдействуют как Dockerхост, т.е. ECS может отправить команду для запуска контейнера на них ( EC2). Если у вас уже есть EC2, а затем вы запустите ECS, у вас все равно будет один экземпляр. Если вы добавите / зарегистрируете (установив AWS ECS Container Agent) EC2 в ECS, он станет частью кластера, но по-прежнему будет единственным экземпляром EC2.
Amazon ECS без зарегистрированного EC2 (добавленного в кластер) ни на что не годен.
TL; DR
Обзор
EC2 - это просто удаленная (виртуальная) машина.
ECSозначает Elastic Container Service- согласно базовому определению компьютерного кластера , ECSэто в основном логическая группа
EC2машин / экземпляров . Технически говоря ECS, это простая конфигурация для эффективного использования и управления ресурсами вашего EC2
экземпляра (-ов), то есть хранилищем, памятью, ЦП и т. Д.
Для дальнейшего упрощения, если вы запустили объект Amazon ECSбез EC2добавленных экземпляров, он ни на что не годен, т.е. вы ничего не можете с этим поделать. ECSимеет смысл только после EC2добавления к нему одного (или нескольких) экземпляров.
Следующее, что сбивает с толку, это термин контейнера, который не является полностью виртуализированными экземплярами машин, а Docker - это одна из технологий, которую мы можем использовать для создания экземпляров контейнеров. Docker- это утилита, которую вы можете установить на нашу машину, что делает ее Dockerхостом, и на этом хосте вы можете создавать контейнеры (такие же, как виртуальные машины, но гораздо более легкие). Подводя итог, ECSэто всего лишь кластеризация экземпляров EC2 и их использование Dockerдля создания экземпляров контейнеров / экземпляров / виртуальных машин на этих ( EC2) хостах .
Все, что вам нужно сделать, это запустить ECSи зарегистрировать / добавить EC2к нему столько экземпляров, сколько вам нужно. Вы можете добавлять / регистрировать инстансы EC2, все, что вам нужно, это Amazon ECS Container Agent, работающий на вашем инстансе / машине EC2, что можно сделать вручную или напрямую с помощью специального AMI (Amazon Machine Image), то есть AMI, оптимизированного для Amazon ECS, который уже имеет агент контейнера Amazon ECS. Во время запуска нового экземпляра EC2 агент автоматически регистрирует его в кластере ECS по умолчанию.
Контейнер агент работает на каждом из случаев ( EC2экземпляры) в пределах Amazon ECSкластера посылает информацию о текущих запущенных задачах экземпляра и использовании ресурсов на Amazon ECS и запускает и останавливает задания всякого раза , когда он получает запрос от Amazon ECS. Дополнительные сведения см. В разделе Агент контейнера Amazon ECS . После установки каждый из созданных экземпляров контейнера (любой EC2машины / узла) будет экземпляром в Amazon ECSрое.
Для получения дополнительной информации прочтите шаг 10 этой документации: Запуск экземпляра контейнера Amazon ECS :
Выберите AMI для своего экземпляра контейнера. Вы можете выбрать AMI, оптимизированный для Amazon ECS, или другую операционную систему, например CoreOS или Ubuntu. Если вы не выбрали AMI, оптимизированный для Amazon ECS, вам необходимо выполнить процедуры, описанные в разделе Установка агента контейнера Amazon ECS .
По умолчанию ваш экземпляр контейнера запускается в кластере по умолчанию. Если вы хотите запустить свой собственный кластер вместо кластера по умолчанию, выберите список «Дополнительные сведения» и вставьте следующий сценарий в поле «Пользовательские данные», заменив your_cluster_name именем вашего кластера.
#!/bin/bash
echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
Или, если у вас есть файл ecs.config в Amazon S3 и вы разрешили Amazon S3 доступ только для чтения к роли экземпляра контейнера, выберите список Advanced Details и вставьте следующий скрипт в поле User data, заменив your_bucket_name на имя ваше ведро, чтобы установить AWS CLI и записать файл конфигурации во время запуска. Примечание. Для получения дополнительных сведений об этой конфигурации см. Сохранение конфигурации экземпляра контейнера в Amazon S3.
#!/bin/bash
yum install -y aws-cli
aws s3 cp s3://your_bucket_name/ecs.config /etc/ecs/ecs.config
Просто чтобы прояснить это дальше - вы можете создавать контейнеры на своем единственном EC2экземпляре без ECS. Установите любую технологию контейнеризации, т. Е. DockerЗапустите команду create container, установив вас EC2в качестве Dockerхоста, и получите столько Dockerконтейнеров, сколько хотите (или столько, сколько EC2позволяют ваши ресурсы).