2016-11-13 6 views
20

Я только начинаю работать на AWS EC2, я понимаю, что EC2 подобен удаленному компьютеру. Я могу делать почти все, что хочу. Затем я нахожу ECS, я знаю, что он использует докер, но смущает связь между этими двумя.В чем разница между Amazon ECS и Amazon EC2?

Является ли ECS только докером в EC2? Если у меня уже есть EC2, тогда я запускаю ECS, значит ли это, что у меня есть два экземпляра?

ответ

12

EC2 позволяет запускать отдельные экземпляры, которые вы можете использовать практически во всем, что вам нравится. ECS - это контейнерное обслуживание, что означает, что он запустит экземпляры, которые будут готовы запускать контейнерные приложения. Основное различие между двумя службами заключается в том, что с EC2 вы должны управлять каждым экземпляром отдельно в любом выбранном вами способе (вручную, используя инструмент CM или любым другим способом) - развертывайте свои приложения и поддерживайте соединение между серверами самостоятельно. ECS позволяет запускать кластер машин, который будет служить местом развертывания ваших контейнерных приложений, позволяя обрабатывать все экземпляры кластера как один большой экземпляр, доступный для рабочей нагрузки вашего контейнера.

И ответить на ваш вопрос. Вы можете запустить кластер ECS без каких-либо экземпляров в нем, но тогда он не сможет ничего запускать на нем. После регистрации экземпляра EC2 внутри кластера ECS контейнеры готовы к запуску в нем. Таким образом, нижняя строка - вы можете использовать как ECS, так и EC2 только с одним экземпляром, но это не фактический вариант использования этих служб.

36

Ваш вопрос

Является ли ECS просто докер установить в EC2? Если у меня уже есть EC2, то I запускает ECS, значит ли это, что у меня есть два экземпляра?

No. AWS ECS это просто логическая группировка (кластер) из EC2 экземпляров, и все экземпляры EC2 часть ECS выступать в качестве хоста Docker т.е. ECS может послать команду, чтобы запустить контейнер на них (EC2). Если у вас уже есть EC2, а затем запускается ECS, у вас все равно будет один экземпляр. Если вы добавите/зарегистрируете (путем установки агента контейнера AWS ECS) EC2 в ECS, он станет частью кластера, но все равно будет единственным экземпляром EC2.

Amazon ECS без регистрации EC2 (добавлен в кластер) никуда не годится.


TL; DR

Обзор

  • EC2 - это просто удаленный (виртуальная) машина.
  • ECS означает EC2 Cluster Service - по основному определению computer cluster, ECS в основном логическая группировка EC2 машин/экземпляров.С технической точки зрения ECS является лишь конфигурация для эффективного использования и управления вашей EC2 экземпляра (ов) ресурсов т.е. хранения, память, CPU и т.д.

Чтобы упростить его дальше, если вы запустили Amazon ECS без добавленных к нему экземпляров EC2, это ни к чему не важно, т. е. вы ничего не можете с этим поделать. ECS имеет смысл только после добавления одного (или более) EC2 экземпляров.

Следующая запутанным здесь является контейнер термин - который не является полностью виртуализированных экземпляров машины, и Docker это одна технология, которую мы можем использовать для создания экземпляров контейнера. Docker - это утилита, которую вы можете установить на нашей машине, что делает ее хостом Docker, и на этом хосте вы можете создавать контейнеры (такие же, как виртуальные машины, но гораздо более легкие). Подводя итог, ECS касается кластеризации экземпляров EC2 и использует Docker для создания экземпляров контейнеров/экземпляров/виртуальных машин на этих (EC2) хостах.

Все, что вам нужно сделать, это запустить ECS и зарегистрировать/добавить столько фактов EC2, сколько вам нужно. Вы можете добавлять/регистрировать экземпляры EC2, все, что вам нужно, это агент контейнеров Amazon ECS, работающий на вашем экземпляре/машине EC2, который можно выполнить вручную или напрямую с помощью специального AMI (Amazon Machine Image), то есть AMI с оптимизацией AMASON, который уже имеет агент контейнера Amazon ECS. Во время запуска нового экземпляра EC2 Агент автоматически регистрирует его в кластере ECS по умолчанию.

Контейнер агент работает на каждом из экземпляров (EC2 экземпляры) в пределах Amazon ECS кластера посылает информацию о текущих запущенных задач экземпляра и использования ресурсов на Amazon ECS и запускает и останавливает задания всякий раз, когда он получает запрос от Amazon ECS. Для получения дополнительной информации см. Amazon ECS Container Agent. После установки каждый из созданных экземпляров контейнера (любого из EC2 machine/node) будет экземпляром в рое Amazon ECS.


Для получения дополнительной информации - читать шаг 10 из этой документации: Launching an Amazon ECS Container Instance:

Выберите AMI для экземпляра контейнера. Вы можете выбрать Amazon ECS-оптимизированный AMI или другую операционную систему, такую ​​как CoreOS или Ubuntu. Если вы не выбрали AMI, оптимизированный для Amazon ECS, вам необходимо выполнить в соответствии с процедурой в Installing the Amazon ECS Container Agent.

По умолчанию экземпляр контейнера запускается в ваш кластер по умолчанию . Если вы хотите запустить свой собственный кластер вместо по умолчанию, выберите список дополнительных деталей и вставьте следующий сценарий в поле данных пользователя, заменив your_cluster_name на имя вашего кластера .

#!/bin/bash 
echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config 

Или, если у вас есть ecs.config в Amazon S3 и включили Доступ к содержимому экземпляра Amazon S3 только для чтения, выберите список дополнительных деталей и вставьте следующий сценарий в поле данных пользователя , заменив your_bucket_name на имя вашего ведра до install 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, и запустите команду создания контейнера, установив EC2 в качестве хоста Docker и имея столько контейнеров Docker, сколько захотите (или столько, сколько позволяют ваши ресурсы EC2).

+7

Не стоит ли использовать ECS для обслуживания эластичных контейнеров? – lfk

 Смежные вопросы

  • Нет связанных вопросов^_^