Подробное определение заданий

Для работы с заданиями AWS Batch позволяет настраивать конкретные требования к ресурсам, таким как память и виртуальные ЦПУ, роли AWS Identity and Access Management (IAM), точки подключения томов, параметры контейнеров, а также переменные среды. AWS Batch выполняет задания в виде приложений в контейнерах в Amazon ECS.

Простое моделирование зависимостей задания

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

AWS Batch можно интегрировать с сервисами управления рабочими процессами (как с коммерческими, так и с теми, что распространяются с открытым исходным кодом), например с Pegasus WMS или Luigi. Это позволяет использовать знакомые языки программирования для моделирования конвейеров пакетных вычислений.

Динамическое выделение вычислительных ресурсов и масштабирование

AWS Batch использует управляемые вычислительные среды для динамического выделения вычислительных ресурсов и масштабирования в зависимости от объема и требований предоставленных заданий. Для управляемых вычислительных сред AWS Batch можно настраивать такие требования, как тип инстансов EC2, конфигурации подсети VPC, максимальное / минимальное / желательное количество виртуальных ЦПУ на всех инстансах, а также стоимость спотовых инстансов.

Кроме того, если требуется другая конфигурация (например, более крупные тома EBS или операционная система, недоступная в рамках управляемых вычислительных сред), для инстансов EC2 можно выделять собственные вычислительные ресурсы в рамках среды, не управляемой AWS Batch. Достаточно выделить инстансы EC2, на которых установлены агент Amazon ECS и поддерживаемые версии Linux и Docker. После этого AWS Batch будет запускать пакетные задания на этих инстансах EC2.

Планирование выполнения заданий на основе приоритетов

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

Динамическое размещение заявок на спотовые инстансы

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

Встроенный мониторинг и ведение журналов

AWS Batch отображает основные рабочие метрики заданий в Консоли управления AWS. Можно просматривать метрики по вычислительным ресурсам, а также выполняемые задания, завершенные задания и задания, ожидающие своей очереди. Журналы заданий (например, STDERR и STDOUT) доступны в Консоли управления AWS и сохраняются в сервисе Amazon CloudWatch Logs.

Точный контроль доступа

AWS Batch использует IAM для управления ресурсами AWS, доступными для заданий, например таблицами Amazon DynamoDB, а также для мониторинга таких ресурсов. IAM также позволяет создавать политики для разных пользователей в организации. Например, администраторам можно предоставить полный доступ API AWS Batch, разработчикам – ограниченные права для настройки вычислительных сред и регистрации заданий, а конечным пользователям – только права на отправку и удаление заданий.

Подробнее о ценах на AWS Batch

Перейти на страницу цен
Готовы приступить к разработке?
Начать работу с AWS Batch
Есть вопросы?
Свяжитесь с нами