Ваш вопрос
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
позволяют ваши ресурсы).