Ответ 1
Ваш вопрос
ECS - это просто установка докера в EC2? Если у меня уже есть EC2, я запускаю ECS, значит ли это, что у меня есть два экземпляра?
Нет. AWS ECS
- это просто логическая группа (кластер) экземпляров EC2
, и все экземпляры EC2
части ECS
действуют как хост Docker
т.е. ECS может отправлять команду для запуска контейнера на них (EC2
). Если у вас уже есть EC2, а затем запускаете ECS, у вас все еще будет один экземпляр. Если вы добавите/зарегистрируете (установив Контейнерный агент AWS ECS) 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
, что ECS
просто кластеризация экземпляров EC2 и использует Docker
для создания экземпляров контейнеров/экземпляров/виртуальных машин на этих (EC2
) хостах.
Все, что вам нужно сделать, это запустить ECS
и зарегистрировать/добавить столько экземпляров EC2
сколько вам нужно. Вы можете добавлять/регистрировать экземпляры EC2, все, что вам нужно, это Amazon ECS Container Agent, работающий на вашем экземпляре/машине EC2, что можно сделать вручную или напрямую, используя специальный AMI (образ машины Amazon), то есть AMI, оптимизированный для Amazon ECS, который уже имеет Контейнерный агент Amazon ECS. Во время запуска нового экземпляра EC2 Агент автоматически регистрирует его в кластере ECS по умолчанию.
Контейнерный агент, работающий на каждом из экземпляров (экземпляры EC2
) в кластере Amazon ECS
отправляет информацию о текущих выполняющихся задачах экземпляра и использовании ресурсов в Amazon ECS, а также запускает и останавливает задачи всякий раз, когда получает запрос от Amazon ECS. Для получения дополнительной информации см. Amazon ECS Container Agent. После установки каждый из созданных экземпляров контейнера (любого компьютера/узла EC2
) будет экземпляром в Swarm 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 доступ только для чтения к роли экземпляра контейнера, выберите список "Дополнительные сведения" и вставьте следующий сценарий в поле "Данные пользователя", заменив your_bucket_name на имя ваш пакет для установки интерфейса командной строки AWS и записи файла конфигурации во время запуска. Примечание. Дополнительные сведения об этой конфигурации см. В разделе "Сохранение конфигурации экземпляра контейнера в 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
).