Вопросы и ответы по Amazon Elastic Container Service
Общие вопросы
Вопрос. Что такое Amazon Elastic Container Service?
Amazon Elastic Container Service – это высокопроизводительный сервис управления контейнерами с широкими возможностями масштабирования. Он поддерживает контейнеры Docker и позволяет с легкостью запускать приложения в автоматически управляемом кластере инстансов Amazon Elastic Compute Cloud (Amazon EC2). C Amazon ECS не нужно самостоятельно устанавливать, масштабировать и обслуживать инфраструктуру управления кластерами. С помощью простых вызовов API вы сможете запускать и останавливать контейнерные приложения, получать данные о состоянии всего кластера и пользоваться многими знакомыми вам функциями, например группами безопасности, Elastic Load Balancing, томами Amazon Elastic Block Store (EBS) и ролями IAM. Используя сервис Amazon ECS, можно запланировать размещение контейнеров в вашем кластере с учетом потребности в ресурсах и требований к доступности. Вы также можете интегрировать собственный планировщик или планировщики сторонних разработчиков с учетом конкретных требований, связанных с вашим бизнесом или приложениями.
Вопрос. Какие задачи позволяет решить Amazon ECS?
Amazon ECS позволяет легко использовать контейнеры в качестве строительных блоков для ваших приложений, избавляя от необходимости устанавливать, эксплуатировать и масштабировать собственную инфраструктуру управления кластером. Amazon ECS помогает планировать продолжительную работу приложений, сервисов и групп процессов, используя контейнеры Docker. Amazon ECS поддерживает доступность приложений и позволяет осуществлять масштабирование контейнеров в сторону увеличения или уменьшения для соответствия требованиям вашего приложения к ресурсам. Amazon ECS интегрирован с привычными возможностями, которые предоставляют Elastic Load Balancing, тома EBS, Amazon Virtual Private Cloud (VPC) и IAM. Простые API позволяют интегрировать и использовать свои собственные планировщики или включить Amazon ECS в существующий процесс доставки программного обеспечения.
Вопрос. Какие цены установлены на Amazon ECS?
Дополнительная плата за использование Amazon ECS отсутствует. Оплате подлежат ресурсы AWS (например, инстансы Amazon EC2 или тома EBS), которые создаются для хранения и запуска приложения. Вы платите только за то, что используете. Минимальные платежи и авансовые обязательства отсутствуют.
Вопрос. Чем Amazon ECS отличается от сервиса AWS Elastic Beanstalk?
AWS Elastic Beanstalk – это платформа управления приложениями, которая позволяет клиентам с легкостью развертывать и масштабировать веб-приложения и сервисы. Он отвечает за предоставление строительных блоков (например, EC2, Amazon RDS, Elastic Load Balancing, AWS Auto Scaling, Amazon CloudWatch), при этом задачи развертывания приложений и мониторинга работоспособности не ложатся на плечи пользователей, что позволяет им сосредоточиться на написании кода. Необходимо просто указать, какие образы контейнера следует развертывать, задать требования к процессору и памяти, привязку портов и ссылки на контейнер.
Сервис Elastic Beanstalk будет автоматически обрабатывать все задачи, такие как выделение кластера Amazon ECS, балансировка нагрузки, автомасштабирование, контроль и размещение ваших контейнеров в кластере. Elastic Beanstalk является идеальным решением, если вы хотите воспользоваться преимуществами контейнеров, но при этом вам требуется только простота развертывания приложений от разработки и до рабочей стадии через загрузку образа контейнера. Вы можете работать с Amazon ECS напрямую, если хотите иметь более полный контроль над архитектурой настраиваемых приложений.
Вопрос. Чем Amazon ECS отличается от сервиса AWS Lambda?
Amazon ECS – это высокомасштабируемый сервис управления контейнерами Docker, который позволяет запускать распределенные приложения, работающие в контейнерах Docker, и управлять ими. AWS Lambda – это управляемый событиями сервис вычислений, который запускает код в ответ на события, такие как изменение данных, действия пользователей на сайте или сообщения от других сервисов AWS, и не требует управления вычислительной инфраструктурой.
Использование Amazon ECS
Вопрос. Как начать работу с Amazon ECS?
Подробнее о начале работы с Amazon ECS см. на странице Начало работы.
Вопрос. Поддерживает ли Amazon ECS другие типы контейнеров?
Нет. В настоящее время Docker является единственной платформой контейнеров, которую поддерживает Amazon ECS.
Вопрос. Я хочу запускать контейнеры. Почему я должен запускать задания?
Docker рекомендует разделять приложения на отдельные компоненты, а Amazon ECS оптимизирован для работы с этой моделью. Задания позволяют определить набор контейнеров, которые требуется разместить вместе (или сделать частью совместного размещения), их свойства, а также способ их соединения. Задания содержат все сведения, которые требуются Amazon ECS для принятия решения о размещении. Для запуска одного контейнера в определении задания должно содержаться только одно определение контейнера.
Вопрос. Поддерживает ли Amazon ECS приложения и сервисы?
Да. Планировщик Amazon ECS может управлять долго работающими приложениями и сервисами. Планировщик сервисов помогает поддерживать доступность приложений и позволяет осуществлять масштабирование контейнеров в сторону увеличения или уменьшения, чтобы удовлетворить потребности вашего приложения в ресурсах. Планировщик сервисов позволяет распределить трафик между вашими контейнерами, используя Elastic Load Balancing (ELB). Amazon ECS автоматически зарегистрирует или отменит регистрацию контейнеров в связанном балансировщике нагрузки.
Планировщик сервисов также автоматически восстановит контейнеры, работоспособность которых была нарушена (например, для которых проверка работоспособности ELB завершилась неудачно), или остановит их работу, чтобы гарантировать необходимое количество работающих контейнеров для поддержки приложения.
Можно масштабировать приложение в сторону увеличения и уменьшения, изменяя необходимое количество работающих в сервисе контейнеров. Можно обновить приложение путем изменения его определения или использования нового образа. Планировщик автоматически запустит новые контейнеры с использованием нового определения и остановит контейнеры, работающие с предыдущей версией (ожидание соединения ELB, чтобы остановить, если используется ELB).
Вопрос. Поддерживает ли Amazon ECS динамическую привязку порта?
Да. Сервис, работающий на Amazon ECS, можно связать с балансировщиком Application Load Balancer (ALB) сервиса 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.
Вопрос. Могу ли я использовать собственный Amazon Machine Image (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 будет извлекать подходящие образы для ваших приложений.
Вопрос. Как AWS Fargate взаимодействует с Amazon ECS?
В Fargate отсутствует процесс распределения серверов, управления кластером и координирования работы. Amazon ECS использует контейнеры, предоставляемые Fargate, для автоматического масштабирования, балансировки нагрузки и управления планированием контейнеров клиента, чтобы обеспечить доступность. Это более простой способ создания и эксплуатации контейнерных приложений.
Вопрос. Как определить, что следует использовать: AWS Fargate с Amazon ECS или просто Amazon ECS?
Amazon ECS поддерживает технологию Fargate, и клиенты смогут использовать AWS Fargate для запуска своих контейнеров без необходимости выделения инстансов Amazon EC2 и управления ими. AWS Fargate – это самый простой способ запускать и использовать контейнеры на AWS. Клиенты, которым требуется больший контроль над инстансами EC2 для соответствия требованиям или дополнительных вариантов настройки, могут выбрать использование ECS без Fargate.
Безопасность и соответствие требованиям
Вопрос. Как Amazon ECS изолирует контейнеры, принадлежащие разным клиентам?
Amazon ECS планирует запуск контейнеров на инстансах Amazon EC2, управляемых клиентами или сервисом AWS Fargate, при этом использует те же средства управления изоляцией и настройки соответствия требованиям, которые доступны для клиентов EC2. Ваши вычислительные инстансы располагаются в Amazon Virtual Private Cloud (VPC) с указанным вами диапазоном IP-адресов. Вы решаете, какие инстансы будут иметь доступ в Интернет, а какие останутся изолированными.
- Инстансы EC2 используют роли IAM для доступа к сервису ECS.
- Задания ECS используют роли IAM для доступа к сервисам и ресурсам.
- Группы безопасности и списки контроля доступа к сети (network ACL) позволяют контролировать доступ инстанса к сетевым ресурсам.
- Уже имеющуюся ИТ-инфраструктуру можно подключить к ресурсам в виртуальном частном облаке (VPC) по стандартным защищенным VPN-каналам IPsec.
- Ресурсы EC2 можно использовать как выделенные инстансы. Выделенные инстансы Amazon EC2 работают на оборудовании, выделенном отдельному клиенту, что обеспечивает дополнительную изоляцию.
Вопрос. Можно ли применять дополнительные настройки безопасности и инструменты изоляции к моим инстансам контейнеров?
Да. Как у клиента Amazon EC2, у вас есть доступ с правами root к операционной системе (ОС) ваших инстансов контейнера. Вы можете взять на себя ответственность за настройки безопасности ОС, а также настроить дополнительные программные компоненты для таких функций безопасности, как мониторинг, управление исправлениями, управление журналами и обнаружение вторжений на хост.
Вопрос. Можно ли работать с инстансами контейнеров, имеющими разные настройки безопасности, или разделять задания по различным средам?
Да. С помощью подходящих инструментов можно настроить разные инстансы контейнеров. Amazon ECS позволяет контролировать размещение заданий в разных инстансах контейнеров путем построения кластеров и целенаправленных запусков.
Вопрос. Поддерживает ли Amazon ECS получение образов Docker из частного или внутреннего источника?
Да. Клиенты могут настроить свои инстансы контейнеров для доступа к частному реестру образов Docker в VPC или к реестру за пределами VPC, например Amazon Elastic Container Registry (ECR).
Вопрос. Как настроить роли IAM для заданий ECS?
Сначала нужно создать роль IAM для своего задания. Используйте для этого роль сервиса «Amazon EC2 Container Service Task Role», назначив ей политику с требуемыми разрешениями. Завершив создание нового определения задания или его редактирование, следует задать роль, выбрав ее из выпадающего списка «Task Role» или воспользовавшись полем «taskRoleArn» в формате JSON.
Вопрос. С какими программами соответствия требованиям совместим сервис Amazon ECS?
Amazon ECS соответствует стандартам PCI DSS Level 1, ISO 9001, ISO 27001, ISO 27017, ISO 27018, SOC 1, SOC 2, SOC 3 и HIPAA.
Дополнительную информацию см. на страницах о соответствии требованиям.
Вопрос. Можно ли использовать Amazon ECS для обработки закрытой медицинской информации (PHI) и других рабочих нагрузок, подпадающих под действие HIPAA?
Да. Amazon ECS соответствует требованиям HIPAA. Пользователи, заключившие Договор делового партнерства (BAA) с AWS, могут использовать Amazon ECS для обработки закрытой медицинской информации (PHI) в контейнерах Docker, развернутых в с помощью типа запуска AWS Fargate или в кластере вычислительных инстансов Amazon EC2.
Дополнительную информацию см. на странице о соответствии требованиям HIPAA. Если вы планируете обрабатывать, хранить или передавать PHI, но еще не заключили договор делового партнерства с AWS, свяжитесь с нами для получения дополнительной информации.
Вопрос. Можно ли использовать Amazon ECS для рабочих нагрузок, регулируемых требованиями правительства США, или для обработки конфиденциальной контролируемой некритичной информации (CUI)?
Да. В регионе AWS GovCloud (США) ваши контейнеры и кластеры, управляемые Amazon ECS, могут соответствовать требованиям к конфиденциальной информации и регулируемым рабочим нагрузкам.
Дополнительную информацию см. на странице о AWS GovCloud.
Соглашение об уровне обслуживания
Вопрос. Что гарантирует соглашение об уровне обслуживания (SLA) Amazon ECS?
Соглашение об уровне обслуживания (SLA) гарантирует бесперебойную ежемесячную работу Amazon ECS на уровне не менее 99,99 %.
Вопрос. Как узнать, могу ли я претендовать на компенсацию по соглашению об уровне обслуживания?
Компенсация по SLA Amazon ECS по условиям нашего SLA в отношении вычислительных процессов предоставляется, если бесперебойная ежемесячная работа сервиса в рамках одного региона в нескольких зонах доступности, в которых запущено задание, составила менее 99,99 % в течение любого оплачиваемого месяца.
С условиями и положениями соглашения об уровне обслуживания, а также подробностями оформления заявки на компенсацию можно ознакомиться на странице сведений о SLA в отношении вычислительных процессов.
Начать работу с Amazon ECS