Amazon Elastic Container Service

Начало работы

Получите доступ к уровню бесплатного пользования AWS на один год, включая преимущества базовой поддержки AWS Basic Support: круглосуточное обслуживание клиентов (без праздников и выходных), форумы и многое другое.


Вопрос: Что такое Amazon Elastic Container Service?
Amazon Elastic Container Service – это высокопроизводительный сервис управления контейнерами с широкими возможностями масштабирования. Он поддерживает контейнеры Docker и позволяет с легкостью запускать приложения в автоматически управляемом кластере инстансов Amazon EC2. C Amazon ECS вам не нужно будет самостоятельно устанавливать, масштабировать и обслуживать инфраструктуру управления кластерами. С помощью простых вызовов API вы сможете запускать и останавливать контейнерные приложения, получать данные о состоянии всего кластера и пользоваться многими знакомыми вам функциями, например группами безопасности, Elastic Load Balancing, томами EBS и ролями IAM. Используя сервис Amazon ECS, можно запланировать размещение контейнеров в вашем кластере с учетом потребности в ресурсах и требований к доступности. Вы также можете интегрировать собственный планировщик или планировщики сторонних разработчиков с учетом конкретных требований, связанных с вашим бизнесом или приложениями.

Вопрос: Какие задачи позволяет решить Amazon ECS?
Amazon ECS позволяет легко использовать контейнеры в качестве строительных блоков для ваших приложений, избавляя от необходимости устанавливать, эксплуатировать и масштабировать свою собственную инфраструктуру управления кластером. Amazon ECS помогает планировать продолжительную работу приложений, сервисов и групп процессов, используя контейнеры Docker. Amazon ECS поддерживает доступность приложений и позволяет осуществлять масштабирование контейнеров в сторону увеличения или уменьшения для соответствия требованиям вашего приложения к ресурсам. Amazon ECS интегрирован с привычными возможностями, которые предоставляют Elastic Load Balancing, тома EBS, VPC и IAM. Простые API позволяют интегрировать и использовать свои собственные планировщики или включить Amazon ECS в существующий процесс доставки программного обеспечения.

Вопрос: Какие цены установлены на Amazon ECS?
Дополнительная плата за использование Amazon ECS отсутствует. Вы платите за ресурсы AWS (например, инстансы Amazon EC2 или тома EBS), которые вы создаете для хранения и запуска приложения. Вы платите только за то, чем пользуетесь, без минимальных платежей или авансовых обязательств.

Вопрос: Чем сервис Amazon ECS отличается от сервиса AWS Elastic Beanstalk?
AWS Elastic Beanstalk – это платформа управления приложениями, которая позволяет клиентам с легкостью развертывать и масштабировать веб-приложения и сервисы. Он отвечает за предоставление строительных блоков (например EC2, RDS, Elastic Load Balancing, Auto Scaling, CloudWatch), при этом задачи развертывания приложений и мониторинга работоспособности не ложатся на плечи пользователей, что позволяет им сосредоточиться на написании кода. Необходимо просто указать, какие образы контейнера следует развернуть, задать требования к процессору и памяти, преобразование портов и ссылки на контейнер. Elastic Beanstalk будет автоматически обрабатывать все задачи, такие как выделение кластера Amazon ECS, балансировка нагрузки, автоматическое масштабирование, контроль и размещение ваших контейнеров в кластере.

Elastic Beanstalk является идеальным решением, если вы хотите воспользоваться преимуществами контейнеров, но при этом вам требуется только простота развертывания приложений от разработки и до рабочей стадии через загрузку образа контейнера. Вы можете работать с Amazon ECS напрямую, если хотите иметь более полный контроль над архитектурой настраиваемых приложений.

Вопрос: Чем сервис Amazon ECS отличается от сервиса AWS Lambda?
Amazon Elastic Container Service – это высокомасштабируемый сервис управления контейнерами Docker, который позволяет запускать распределенные приложения, работающие в контейнерах Docker, и управлять ими. AWS Lambda – это управляемый событиями сервис вычислений, который запускает код в ответ на события, такие как изменение данных, действия пользователей на сайте или сообщения от других сервисов AWS, и не требует управления вычислительной инфраструктурой.

 

 

 

Вопрос: Как начать работу с Amazon ECS?
Дополнительные сведения о начале работы см. на странице Начало работы.

Вопрос: Поддерживает ли Elastic Container Service другие типы контейнеров?
Нет. В настоящее время Docker является единственной платформой контейнеров, которую поддерживает Elastic Container Service.

Вопрос: Я хочу запускать контейнеры. Почему я должен запускать задания?
Docker рекомендует разделять приложения на отдельные компоненты, а Elastic Container Service оптимизирован для работы с таким шаблоном. Задания позволяют определить набор контейнеров, которые требуется разместить вместе (или сделать частью совместного размещения), их свойства, а также способ их соединения. Задания содержат все сведения, которые требуются Elastic Container Service для принятия решения о размещении. Для запуска одного контейнера в вашем определении задания должно содержаться только одно определение контейнера.

Вопрос: Поддерживает ли Amazon ECS приложения и сервисы?
Да. Планировщик Amazon ECS может управлять долго работающими приложениями и сервисами. Планировщик сервисов помогает поддерживать доступность приложений и позволяет осуществлять масштабирование контейнеров в сторону увеличения или уменьшения, чтобы удовлетворить потребности вашего приложения в ресурсах. Планировщик сервисов позволяет распределить трафик между вашими контейнерами, используя Elastic Load Balancing. Amazon ECS автоматически зарегистрирует или отменит регистрацию ваших контейнеров в связанном балансировщике нагрузки. Планировщик сервисов также автоматически восстановит контейнеры, работоспособность которых была нарушена (для которых проверка работоспособности ELB завершилась неудачно), или остановит их работу, чтобы гарантировать необходимое количество работающих контейнеров для поддержки приложения. Можно масштабировать приложение в сторону увеличения и уменьшения, изменяя необходимое количество работающих в сервисе контейнеров. Можно обновить приложение путем изменения его определения или использования нового образа. Планировщик автоматически запустит новые контейнеры с использованием нового определения и остановит контейнеры, работающие с предыдущей версией (ожидания соединения ELB, чтобы остановить, если используется ELB).

Вопрос: Поддерживает ли Amazon ECS привязку динамического порта?
Да. Сервис, работающий на Amazon Elastic Container Service (ECS), можно связать с балансировщиком Application Load Balancer сервиса Elastic Load Balancing (ELB). Application Load Balancer поддерживает целевую группу, содержащую набор пар значений инстанс:порт. В определении задания ECS можно указать динамический порт, в этом случае контейнеру, запланированному для инстанса EC2, будет передан неиспользуемый порт. Планировщик ECS автоматически добавит задание в целевую группу Application Load Balancer, использующую этот порт.

Вопрос: Поддерживает ли Amazon ECS пакетные задания?
Да. Можно использовать Amazon ECS для запуска одного или сразу нескольких заданий. Запуск задания приводит к выполнению задания на инстансе, который отвечает всем требованиям задания, включая требования к процессору, памяти и портам.

Вопрос: Можно ли при работе с Amazon ECS использовать собственные планировщики?
ECS предоставляет Blox, подборку программного обеспечения с открытым исходным кодом для оркестрации контейнеров и управления ими. Blox позволяет легко использовать события Amazon ECS, локально хранить состояния кластера и выполнять запросы к данным локального хранилища с помощью API. Blox также включает в себя программный агент-планировщик, который можно применять в качестве справочного пособия по использованию сервиса состояний кластера. Подробнее см. на странице Blox в GitHub.

Вопрос: Могу ли я использовать собственный AMI?
Да. Можно использовать любой AMI, который соответствует спецификации Amazon ECS AMI. Мы рекомендуем начать работу с использования Amazon Linux AMI с поддержкой Amazon ECS. Кроме того, доступны AMI от наших партнеров, совместимые с Amazon ECS. Информацию о спецификации AMI Amazon ECS можно просмотреть в документации.

Вопрос: Как настроить инстансы контейнеров для извлечения образов из Amazon Elastic Container Registry?
Amazon ECR интегрирован с Amazon ECS, что позволяет легко хранить и запускать образы контейнеров для работающих в Amazon ECS приложений, а также управлять ими. Вам необходимо лишь указать репозиторий Amazon ECR в определении задания и прикрепить AmazonEC2ContainerServiceforEC2Role к своим инстансам. После этого Amazon ECS будет извлекать подходящие образы для ваших приложений.

Вопрос: Как Amazon ECS изолирует контейнеры, принадлежащие разным клиентам?
Amazon ECS планирует запуск контейнеров на инстансах Amazon EC2, управляемых клиентами, при этом обеспечивает изоляцию в соответствии с возможностями контроля изоляции и нормативными требованиями к изоляции, которые доступны клиентам EC2.

  • Ваши вычислительные инстансы располагаются в Amazon Virtual Private Cloud (VPC) с указанным вами диапазоном IP-адресов. Вы решаете, какие инстансы будут иметь доступ в Интернет, а какие останутся изолированными.
  • Инстансы EC2 используют роли IAM для доступа к сервису ECS.
  • Задания ECS используют роли IAM для доступа к сервисам и ресурсам.
  • Группы безопасности и списки контроля доступа к сети (network ACL) позволяют контролировать доступ инстанса к сетевым ресурсам.
  • Уже имеющуюся ИТ-инфраструктуру можно подключить к ресурсам в виртуальном частном облаке по стандартным защищенным VPN-каналам IPsec.
  • Ресурсы EC2 можно использовать как выделенные инстансы. Выделенные инстансы Amazon EC2 работают на оборудовании, выделенном отдельному клиенту, что обеспечивает дополнительную изоляцию.

Вопрос: Можно ли применять дополнительные настройки безопасности и инструменты изоляции к моим инстансам контейнеров?
Да. Являясь клиентом Amazon EC2, вы имеете доступ root к операционной системе ваших инстансов контейнеров, что позволяет вам изменять настройки безопасности операционной системы, а также загружать и настраивать дополнительные программные компоненты для обеспечения возможностей защиты, таких как мониторинг, управление исправлениями, управление логами и обнаружение вторжения.

Вопрос: Можно ли работать с инстансами контейнеров, имеющими разные настройки безопасности, или разделять задания по различным средам?
Да. С помощью подходящих инструментов можно настроить разные инстансы контейнеров. Amazon ECS позволяет контролировать размещение заданий в разных инстансах контейнеров путем построения кластеров и целенаправленных запусков.

Вопрос: Поддерживает ли Amazon ECS получение образов Docker из частного или внутреннего источника?
Да. Клиенты могут настроить свои инстансы контейнеров для доступа к частному реестру образов Docker в VPC или к реестру за пределами VPC, например Amazon Elastic Container Registry.

Вопрос: Как настроить роли IAM для заданий ECS?
Сначала нужно создать роль IAM для своего задания. Используйте для этого роль сервиса «Amazon EC2 Container Service Task Role», назначив ей политику с требуемыми разрешениями. Завершив создание нового определения задания или редактирование такового, следует задать роль, выбрав ее из выпадающего списка «Task Role» или воспользовавшись полем «taskRoleArn» в формате JSON.