Автоматизация масштабирования SageMaker ИИ через AWS CDK
AWS Machine Learning · оригинал
Материал подготовлен автоматизированной редакционной системой. Факты можно сверить по указанному первоисточнику.

Обновление конфигурации эндпоинтов Amazon SageMaker AI часто приводит к сбоям развертывания из-за конфликтов с ресурсами Application Auto Scaling. Новая конструкция AWS CDK решает эту проблему, автоматически управляя регистрацией и снятием с регистрации целей масштабирования в процессе обновления.
Решение устраняет критические сбои инфраструктуры при изменении параметров моделей ИИ, позволяя разработчикам обновлять конфигурацию без ручного вмешательства и риска потери автоматического масштабирования.
Разработчики, использующие Amazon SageMaker AI для развертывания моделей в реальном времени, сталкиваются с системной проблемой при управлении инфраструктурой через AWS CloudFormation или AWS Cloud Development Kit (AWS CDK). При попытке изменить конфигурацию эндпоинта — например, тип или количество инстансов — процесс обновления часто завершается ошибкой. Причина кроется в том, что SageMaker AI требует предварительного снятия с регистрации цели масштабирования (scalable target) перед изменением параметров эндпоинта. Однако если разработчик вручную отключает автоскейлинг через CLI, CloudFormation теряет контроль над ресурсами Application Auto Scaling, что приводит к тихому отказу: после деплоя автоскейлинг не активируется, несмотря на наличие соответствующих настроек в шаблоне.
Команда AWS представила решение в виде переиспользуемой конструкции CDK, которая заменяет нативные ресурсы CloudFormation для масштабирования тремя кастомными ресурсами. Этот подход позволяет оркестрировать процесс обновления: система автоматически снимает цель с регистрации, обновляет конфигурацию эндпоинта и затем повторно регистрирует автоскейлинг. Ключевым механизмом здесь является явное управление зависимостями через вызовы node.add_dependency в CDK, что гарантирует правильный порядок выполнения операций без ручного вмешательства.
Архитектура решения опирается на асинхронный паттерн завершения задач. Поскольку обновление эндпоинта может занять время, конструкция использует провайдеры CDK, которые периодически проверяют статус ресурса. Например, регистрация цели масштабирования происходит только после того, как эндпоинт достигнет статуса InService. Для этого используется механизм ожидания с интервалом в 30 секунд и общим таймаутом в один час. Аналогичным образом, применение политики масштабирования откладывается до момента, когда цель станет доступной для запросов, что исключает ошибки из-за гонки состояний.
Важной особенностью реализации является свойство ConfigHash, которое присваивается каждому кастомному ресурсу. Это значение вычисляется на основе конфигурации эндпоинта и параметров автоскейлинга. Если любой из этих параметров изменяется, CloudFormation принудительно вызывает функции Lambda для повторного выполнения последовательности операций. Это обеспечивает целостность настроек при каждом деплое, даже если сам код функций не менялся.
Стоит отметить, что за видимыми тремя кастомными ресурсами скрывается более сложная инфраструктура. Каждый асинхронный провайдер генерирует дополнительные вспомогательные функции Lambda и конечные автоматы AWS Step Functions для управления ожиданием. В итоге развернутая стопка содержит двенадцать функций Lambda и два конечных автомата. Хотя разработчик не управляет сгенерированными фреймворком функциями напрямую, их наличие важно учитывать при аудите ресурсов и оценке затрат.
Для интеграции в существующие проекты достаточно скопировать директорию с конструкцией в свой репозиторий и добавить объект SagemakerAutoscalingConstruct рядом с ресурсами эндпоинта. Конфигурация эндпоинта и параметров масштабирования объединяется в едином файле config.yaml, что упрощает управление. Изменение любого параметра в этом файле автоматически запускает полный цикл перерегистрации автоскейлинга.
Данный подход устраняет необходимость в ручных операциях через консоль или CLI, которые ранее приводили к нестабильным состояниям инфраструктуры. Теперь обновление конфигурации моделей ИИ становится предсказуемым и атомарным процессом, что повышает надежность производственных систем на базе SageMaker AI.