Разработка

Поддержка отраслевых стандартов

Amazon ECS поддерживает Docker, предоставляя возможность запуска контейнеров Docker и управления ими. Сервис даже интегрируется в Docker Compose CLI, поэтому возможно определять и запускать приложения с несколькими контейнерами. Развертывание и запуск в Amazon ECS приложений, упакованных в контейнер локально, не требует каких-либо изменений конфигурации.

Совместимость с контейнерами Windows

Amazon ECS позволяет управлять контейнерами Windows. Образ Windows Amazon Machine Image (AMI), оптимизированный для Amazon ECS, оптимизирует время запуска инстанса и контейнера и обеспечивает возможность просмотра производительности ЦПУ, использования памяти и метрик резервирования.

AWS Copilot

AWS Copilot CLI – это инструмент командной строки, с помощью которого разработчики могут создавать, выпускать и эксплуатировать готовые к работе контейнерные приложения на базе Amazon ECS и AWS Fargate. Copilot использует передовые технологии, от инфраструктуры до непрерывной доставки, и делает их доступными для клиентов без необходимости выхода из командной строки. Также можно контролировать состояние своего сервиса, просматривая его статус или журналы, увеличивая или уменьшая масштабы действующих сервисов и запуская новую среду для автоматизированного тестирования. Загрузить AWS Copilot.

Поддержка репозитория

Amazon ECS можно использовать с любым репозиторием образов Docker, размещенным на стороннем хостинге, или с доступным частным реестром Docker, например Docker Hub или Реестром эластичных контейнеров Amazon (ECR). Необходимо только указать репозиторий в определении задания, а Amazon ECS будет извлекать для приложений подходящие образы.

Подробнее об инструментах для разработчиков Amazon ECS »

Управление

Определения заданий

Amazon ECS позволяет легко определять задания с использованием декларативного шаблона JSON, называемого определением задания. С помощью определения задания можно указать для выполнения задания один или несколько контейнеров, в том числе соответствующий репозиторий и образ Docker, требования к памяти и процессору, к томам общих данных, а также к тому, как контейнеры будут связаны друг с другом. Из одного файла определения заданий, зарегистрированного в сервисе, можно запустить любое необходимое количество заданий. Файлы определения заданий позволяют также осуществлять контроль версий спецификации приложения.

Программное управление

Amazon ECS предоставляет набор простых действий API, позволяющих выполнять интеграцию и расширять возможности сервиса. Действия API позволяют создавать и удалять кластеры, регистрировать и отменять регистрацию заданий, запускать и прекращать работу контейнеров Docker, а также предоставлять подробные сведения о состоянии кластера и его инстансов. Кроме того, для выделения кластеров Amazon ECS, регистрации определений заданий и планирования работы контейнеров можно использовать AWS CloudFormation.

Развертывание контейнеров

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

Автоматическое восстановление контейнеров

Планировщик Amazon ECS будет автоматически восстанавливать работу неисправных контейнеров, чтобы гарантировать наличие необходимого количества контейнеров для поддержания работы приложения.

Поставщики ресурсов

С помощью поставщиков ресурсов можно устанавливать гибкие правила выполнения контейнерных рабочих нагрузок на различных типах вычислительных ресурсов и управлять масштабированием ресурсов. Поставщики ресурсов работают как с Amazon Elastic Compute Cloud (Amazon EC2), так и с AWS Fargate. Запускаемые задачи и сервисы можно разделить между несколькими поставщиками ресурсов, что позволяет использовать новые возможности, такие как запуск сервиса на Fargate и Fargate Spot в предварительно выбранном процентном соотношении.

Хранилище

Эластичная файловая система Amazon (Amazon EFS) – это простая, масштабируемая, полностью управляемая эластичная файловая система, которая дает возможность создавать современные приложения, хранить данные и состояния, а также предоставлять к ним доступ в развертываниях Amazon ECS и AWS Fargate. Учтены все аспекты использования Amazon EFS с контейнерами, в том числе и подключение, управление не требуется. Вы можете сосредоточиться только на своих приложениях, а не на инфраструктуре. Подробнее о постоянном файловом хранилище.

Узнайте больше о запуске контейнерных микросервисов на AWS »

Планирование и размещение задач

Amazon ECS включает в себя несколько стратегий планирования, которые распределяют контейнеры в кластерах клиента, основываясь на указанных потребностях в ресурсах (например, ЦПУ или оперативной памяти), а также требованиях к доступности. Применяя подходящие стратегии планирования, можно планировать пакетные задания, приложения и сервисы с длительным периодом выполнения, а также процессы-демоны.

Планирование задач

Планирование задач Amazon ECS позволяет запускать процессы, которые выполняют определенные действия, а затем останавливаются (например, задания пакетной обработки). Планирование задач запускает задачи автоматически из очереди заданий либо через указанный промежуток времени.

Планирование сервиса

Планирование сервиса Amazon ECS позволяет запускать сервисы и приложения без сохранения состояния. Такая стратегия планирования обеспечивает постоянную работу определенного количества задач и их повторный запуск, если происходит сбой. Клиенты могут обеспечить регистрацию задач в балансировщике нагрузки Elastic Load Balancing и выполнять несколько типов проверки состояния запущенных задач на выбор.

Планирование демонов

Планирование демонов Amazon ECS автоматически запускает одну и ту же задачу на всех выбранных инстансах кластера ECS. Это упрощает запуск задач, которые обеспечивают функционал общего управления для сервиса, таких как ведение журналов, мониторинг или резервное копирование.

Task Placement

Amazon ECS позволяет пользователям индивидуально настраивать размещение задач в кластере из инстансов Amazon EC2 на основании таких встроенных атрибутов, как тип инстанса и зона доступности, а также указанных пользователем специальных атрибутов. Используйте такие атрибуты, как environment = production для создания меток ресурсов, а затем применяйте вызовы API List для поиска соответствующих ресурсов и API RunTask и CreateService для планирования задач на таких ресурсах.

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

Подробнее о планировании задач Amazon ECS »

Работа в сети

 

Amazon ECS Service Connect

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

С ECS Service Connect вы сможете:

• устанавливать способ подключения клиентских приложений к зависимостям, выполняя всего одно действие;

• писать и использовать отказоустойчивые распределенные приложения с логическим именованием;

• мониторить и распределять трафик между задачами ECS без развертывания и настройки балансировщиков нагрузки;

• быстрее развертывать сервисы и обеспечивать эффективную интеграцию микросервисов ECS, из которых состоит приложение.

Обнаружение сервисов

Сервис Amazon ECS интегрирован с AWS Cloud Map. Благодаря этому размещенные в контейнерах сервисы могут легко обнаруживать друг друга и подключаться друг к другу. AWS Cloud Map – сервис обнаружения облачных ресурсов, который позволяет выбирать пользовательские имена для ресурсов приложений. Это повышает доступность приложений, так как веб-сервис всегда обнаруживает последние расположения его динамически меняющихся ресурсов.

Сетевая конфигурация задач

Amazon ECS поддерживает сетевые технологии Docker и интегрирован с Amazon VPC для обеспечения изоляции контейнеров. Это позволяет контролировать, как контейнеры подключаются к другим сервисам и внешнему трафику. Amazon ECS позволяет выбрать один из четырех сетевых режимов работы контейнеров, предназначенных для различных сценариев использования.

Сетевая конфигурация задач/awsvpc
В этом режиме каждому запущенному заданию ECS назначается эластичный сетевой интерфейс, который обеспечивает полноценную сетевую работу контейнеров в VPC, аналогичную их работе на инстансах EC2.

Мост
В этом режиме создается сетевой мост Linux, соединяющий между собой все контейнеры, которые работают на данном хосте виртуальной локальной сети и доступны через сетевое подключение хоста по умолчанию.

Узел
В этом режиме контейнеры добавляются непосредственно в сетевой стек хоста, в результате чего они оказываются доступны в сети данного хоста без изоляции.

Нет
В этом режиме внешний сетевой функционал контейнеров отключается.

Балансировка нагрузки

Amazon ECS интегрирован с Elastic Load Balancing, что позволяет распределять трафик между контейнерами с помощью балансировщиков Application Load Balancer или Network Load Balancer. Требуется только указать определение задачи и выбрать балансировщик нагрузки, после чего Amazon ECS начнет автоматически добавлять контейнеры в балансировщик нагрузки и удалять контейнеры из него. Укажите динамический порт в определении задания, в этом случае контейнеру, запланированному для инстанса EC2, будет передан неиспользуемый порт. Дополнительно для совместного использования балансировщика нагрузки с несколькими сервисами можно применять маршрутизацию на основе путей.

Подробнее о переносе существующих сервисов Amazon ECS из системы обнаружения сервисов в ECS Service Connect »

Мониторинг и ведение журналов

Мониторинг

Amazon ECS предоставляет возможности мониторинга контейнеров и кластеров с помощью Amazon CloudWatch. Это позволяет отслеживать среднее и совокупное использование ЦПУ и памяти запущенными заданиями, сгруппированными по определению задания, сервису или кластеру. Установите предупреждения CloudWatch для оповещения о том, когда необходимо осуществить масштабирование контейнеров или кластеров в сторону увеличения или уменьшения.

Ведение журналов

Amazon ECS позволяет записывать все вызовы API Amazon ECS и получать файлы журналов с помощью AWS CloudTrail. В журналы попадает следующая информация: данные оператора, совершившего вызов API, время вызова API, IP-адрес источника, совершившего вызов API, параметры запроса, а также элементы ответа, возвращенные сервисом Amazon ECS. CloudTrail предоставляет историю вызовов API, сделанных с помощью Консоли управления AWS, SDK и интерфейса командной строки AWS. Данный сервис позволяет проводить анализ безопасности и аудит соответствия требованиям, а также отслеживать изменения ресурсов.

AWS Config

AWS Config интегрируется с Amazon ECS, чтобы обеспечить видимость настроек ресурсов AWS в вашей учетной записи AWS. AWS Config позволяет пользователям мониторить и отслеживать настройки ресурсов, их взаимосвязи, а также изменения с течением времени. Сервис AWS Config позволяет упростить соблюдение требований и стандартов безопасности, операционное устранение неполадок и администрирование ресурсов.

Подробнее о мониторинге и наблюдении »

Гибридные развертывания

AWS Outposts

Amazon ECS для AWS Outposts можно использовать для запуска контейнерных приложений, требующих особо малой задержки, в локальных системах. Outposts – это полностью управляемый сервис, предоставляющий возможность использовать инфраструктуру AWS, сервисы AWS, API и инструменты практически в любой системе, подключенной к этому сервису. Благодаря Amazon ECS для Outposts локальное управление контейнерами становится таким же простым, как и управление ими в облаке.

Amazon ECS Anywhere

С помощью Amazon ECS Anywhere вы можете использовать знакомые инструменты консоли и оператора Amazon ECS, чтобы управлять локальными контейнерными рабочими нагрузками для обеспечения согласованного взаимодействия с приложениями на основе контейнеров. Интеграция Менеджера систем AWS (SSM) автоматически и надежно устанавливает доверие между локальным оборудованием и плоскостью контроля AWS.

Подробнее об Amazon ECS Anywhere »

Узнайте о ценах на Amazon ECS

Перейти на страницу цен
Готовы начать?
Регистрация
Возникли дополнительные вопросы?
Связаться с нами