Главная / Статьи

AWS DevOps Agent на практике: пространства агентов, расследования, проверки выпусков и навыки.

Прогулка по AWS DevOps Agent: создание пространства агента, проведение расследования корневых причин, превью-функции управления выпусками и написание пользовательских навыков агента.

Издатель: REACTAPP.TOP10 мин чтения2235 слов

Источники: AWS DevOps Agent & AWS DevOps Agent Skills — Simplified with Hands-on demo

Команды по операционному обслуживанию тратят много времени на повторяющиеся задачи: выяснение причин сбоев в работе пайплайнов, проверка состояния инфраструктуры, сопоставление логов с метриками и ответы на ежедневные вопросы вида «Что сейчас не работает?». AWS предоставляет отличные инструменты для этой работы, среди которых CloudWatch, IAM, CodePipeline и Lambda, однако остается пробел между первичными данными и выводами, на основе которых можно принимать действия.

Далее рассматривается практическое использование AWS DevOps Agent: как настраивается пространство агента, как выглядит процесс расследования от начала до конца, какие новые функции управления версиями были добавлены и как Agent Skills позволяют агенту внедрять собственные процедуры команды. Целевая аудитория — инженеры DevOps, SRE, разработчики платформ и ИИ, которые уже используют рабочие нагрузки на AWS и хотят автоматизации, выходящей за рамки простых скриптов.

Что такое агент DevOps и чем он не является

Здесь этот термин означает операционного ассистента, который не заменяет инженеров. Это система, которая:

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

Она не заменяет инженеров. Её задача — снизить нагрузку на мышление при рутинных расследованиях и ускорить их проведение.

Создание пространства агента

Поиск сервиса

Откройте AWS Management Console и найдите AWS DevOps Agent. Основные функции управления производственными операциями уже доступны. Более новые возможности управления версиями, описанные ниже, пока находятся в превью-режиме.

Создание пространства

Выберите опцию Создать пространство агента и укажите два элемента: название, например Demo-DevOps-Agent, и краткое описание среды или её назначения. Пространство агента служит логическими границами для проведения исследований, анализа топологии и формирования рекомендаций.

Предоставление доступа к ресурсам

В разделе, предназначенном для предоставления доступа пространства к ресурсам AWS, выберите опцию автоматического создания новой роли DevOps Agent. AWS формирует и привязывает роль IAM с ограниченными правами, позволяющими ей читать метрики и логи CloudWatch, проверять ресурсы EC2 и связанные с ними элементы, а также создавать графы топологии. Большинство проблем, связанных с IAM и мешающих внедрению, исчезает на этом этапе.

Включение веб-приложения

В разделе «Включить веб-приложение» оставьте выбранной опцию автоматического создания роли. Это включает интерактивный интерфейс, используемый для анализа, общения и работы с панелями управления. После этого создайте пространство агента.

Открытие режима оператора

Перейдите в новое пространство агента и откройте режим доступа оператора. Здесь находятся три раздела: DevOps Center, Реагирование на инциденты и их предотвращение.

DevOps Center и видимость, учитывающая топологию

Внутри этого интерфейса DevOps Center отображает динамическую топологическую схему среды AWS. Сразу бросаются в глаза несколько особенностей: ресурсы выглядят соединенными, а не изолированными, видны зависимости между сервисами, и агент анализирует ситуацию, исходя из этих связей, а не только из метрик. Такая топология имеет огромное значение для последующего анализа первопричин.

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

Именно здесь агент начинает проявлять свою полезность. На панели управления выберите опцию «Начать расследование». Проблему можно описать простым языком или указать распространенную причину, такую как высокая нагрузка на CPU, резкий скачок уровня ошибок или отсутствие метрик и журналов.

Приведённый здесь пример касался ситуации отсутствия данных. Запрос звучал так: «Можете ли вы проверить, почему данные о CPU в CloudWatch недоступны для моих инстансов EC2?» Агент сразу же выявил затронутые инстансы, отобразил их на карте топологии и запросил показатели CloudWatch в соответствующем регионе.

Хронология и результаты

В хронологии расследования описан порядок выполнения работ: сбор информации, поиск ресурсов, анализ показателей и формулировка выводов. Один из выборов конфигурации заслуживает внимания. Когда показатели отсутствуют, агент прямо об этом сообщает и не работает в фоновом режиме. Это небольшое решение, но оно сильно влияет на уровень доверия.

Анализ корневой причины

На вкладке «Корневая причина» агент указал несколько факторов, способствовавших проблеме, а не только один:

  • Подробный мониторинг отключен на инстансах EC2. На этих инстансах отображалось Monitoring: disabled, и без подробного мониторинга показатели CPU никогда не отправляются в CloudWatch.
  • Агент CloudWatch не установлен. На инстансах ничего не было настроено, поэтому более детальные данные о CPU были недоступны.
  • Инстансы остановлены. Они находились в состоянии остановки в течение длительного времени, и остановленные инстансы не генерируют никаких показателей.

Важно то, как работал агент. Он не смог дать единственное объяснение, но разумно расставил причины по степени вероятности, подкрепив каждую из них доказательствами, полученными из API AWS.

Когда правильным ответом является отсутствие действий

Вкладка «План снижения рисков» показала, что никаких немедленных мер по снижению рисков выявлено не было. Это хороший результат, а не плохой. Система работала ровно так, как настроена. Ни регрессия, ни недавние изменения не стали причиной данной проблемы. Любое решение будет соответствовать плановым изменениям конфигурации, а не устранению инцидента. Проведение чёткого различия имеет важное значение в производственной среде, поскольку это предотвращает ненужные откатах.

Профилактика

Вкладка «Профилактика» анализирует предыдущие исследования и определяет, требуются ли проактивные рекомендации. Здесь ничего нового не было сгенерировано, и агент правильно определил отсутствие повторяющихся операционных рисков. Категории, которые он оценивает, включают инфраструктуру, возможности мониторинга, управление и оптимизацию кода.

Почему это важно для команд

Это не просто ещё один инструмент мониторинга. Его ценность заключается в четырёх аспектах: сокращении времени расследований, структурированном анализе корневых причин, снижении усталости от постоянных оповещений и возможности для команд понять, почему их системы ведут себя определённым образом. В противном случае инженерам приходилось бы вручную сопоставлять данные из CloudWatch, настроек EC2, состояния IAM и истории развертываний. Агент выполняет это сопоставление за них.

Функции управления выпусками (предварительная версия)

Новая функция позволяет запускать агент заранее, ещё до того, как код попадёт в производственную среду.

Проверка готовности к выпуску. Каждая изменение кода оценивается с учётом критериев готовности к эксплуатации, рисков зависимостей между хранилищами данных и любых стандартов, установленных организацией; в случае отсутствия таких стандартов применяются общепринятые лучшие практики. К конкретным проверкам относятся влияние изменения на сервисы в других хранилищах, а также изменения в системе управления доступом, оцениваемые согласно модели AWS Well-Architected Framework. Агент также запускает процесс сборки в изолированной среде, управляемой AWS, и тестирует его с помощью нескольких простых тестов пользовательского взаимодействия. Эти тесты подтверждают успешность сборки, корректную работу приложения и прохождение базовых функциональных проверок ещё до того, как изменение попадёт в процесс развертывания.

Результаты отображаются в консоли DevOps Agent, а также в комментариях к пул-реквестам на GitHub или GitLab. Их также можно запустить по требованию из IDE с помощью плагина Kiro power или Claude Code, чтобы разработчики могли выявить риски, связанные с зависимостями, нарушения стандартов и проблемы с контролем доступа, до того как выполнить коммит.

Автономные тесты на выпуск. Это переносит концепцию на этап предварительного слияния. Вместо выполнения фиксированного набора тестов система генерирует планы тестирования, специфичные для конкретных изменений, которые запускаются в средах, максимально приближенных к производственным и предоставленных клиентом, для веб- и API-приложений. Поскольку система анализирует смысл изменений, она может создавать тесты на функциональную корректность, обнаружение регрессий и интеграцию между сервисами, которые ручно поддерживаемый набор тестов вряд ли смог бы предусмотреть. Каждый запуск генерирует структурированные результаты: метрики, логи, трейсы и краткое описание выполнения, что позволяет проверяющим иметь единый и поддающийся аудиту отчет о покрытии тестами и результатах для каждого изменения.

Оба функционала находятся в превью-режиме и не влекут за собой дополнительных затрат в течение этого периода. Они доступны в регионе США Восток (Северная Вирджиния).

Что такое навыки агента

Навыки представляют собой модульные наборы инструкций, которые расширяют возможности агента специализированными знаниями в конкретной области и методами расследования, адаптированными к инфраструктуре и практикам команды. Навык — это самодостаточный каталог инструкций в формате Markdown, который предоставляет агенту новые функции. Сервис поддерживает только часть спецификации Agent Skills, принимая исключительно невыполняемые материалы: инструкции в формате Markdown, PDF-файлы, изображения и файлы с данными.

Каждому навыку требуется файл SKILL.md, в котором хранятся инструкции. Кроме того, навык может включать:

  • Рабочие процессы расследования для определенных сценариев или типов инфраструктуры
  • Справочные материалы, такие как архитектурные шаблоны и процедуры эксплуатации
  • Целенаправленное использование типов агентов — это применение определённых навыков к конкретным типам агентов (Общие, По запросу, Триаж инцидентов, Анализ причин инцидентов, Смягчение последствий инцидентов или Оценка), что позволяет сократить объём контекстной информации и усилить фокус.
  • Зачем это нужно?

    Навыки превращают универсального помощника в специалиста для конкретной среды. Инструкция, введённая один раз в чате, исчезает после этого, тогда как навык можно использовать повторно и он загружается автоматически при необходимости выполнения задачи. Это даёт четыре преимущества:

    • Специализация. Агент осваивает процедуры расследования, лучшие практики и организационные знания, характерные для данной инфраструктуры.
    • Меньше повторений. Рабочий процесс, написанный один раз, автоматически применяется при каждом соответствующем расследовании, поэтому не требуется повторять одни и те же указания.
    • Состав. Несколько навыков объединяются в полноценный рабочий процесс. Агент может использовать множество навыков одновременно: например, тот, который загружает развертывания из пользовательской CI/CD-системы, и другой, который ищет данные в репозиториях кода.
    • Более эффективное использование пользовательских инструментов. Навык может указать агенту, когда вызывать определенный инструмент сервера MCP, какие параметры подходят для разных сценариев и как интерпретировать результаты.

    Как они используются

    Когда агент сталкивается с соответствующей задачей, он загружает необходимые навыки и следует их инструкциям. Например, навык под названием «Исследование производительности базы данных» может содержать пошаговые инструкции по работе с ограничениями RDS, систематически помогая агенту определять статус сигналов тревоги, показатели подключений и медленные запросы.

    Структура навыков

    Навык представляет собой каталог:

    my-skill/
    ├── SKILL.md              # Main skill instructions
    ├── references/           # Optional: additional reference documentation
    └── assets/               # Optional: images, diagrams, data files
    

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

    Примеры навыков и их загрузка

    В организации GitHub aws-samples AWS публикует примерный набор навыков, разработанных для этой среды выполнения. Это не универсальные Agent Skills; они адаптированы под среду выполнения DevOps Agent, её типы агентов и рабочие процессы, которые выполняются внутри Agent Space.

    Чтобы использовать один из них, скачайте нужный архив из репозитория или создайте пакет с такой структурой:

    <skill-name>.zip
    ├── SKILL.md              # Required: main instructions + YAML frontmatter
    ├── references/           # Optional: reference documentation
    │   ├── architecture.md
    │   └── troubleshooting.md
    └── assets/               # Optional: images, diagrams, data files
    

    Разместите файл SKILL.md в корне архива ZIP с действительным фронтматтером, содержащим поля name и description. Пример фронтматтера может включать название вроде eks-resilience-checker-skill-devops и описание, описывающее процедуры проверки устойчивости Amazon EKS, включая состояние контрольной плоскости, масштабирование данных, проблемы в сетевой инфраструктуре и возможности мониторинга, которые используются при оценке или устранении недостатков в устойчивости кластера.

    Затем выполните следующие шаги загрузки:

    1. Убедитесь, что в архиве ZIP нет папки scripts/ и его размер не превышает 6 МБ.
    2. Откройте веб-приложение Operator и перейдите на страницу Skills.
    3. Выберите опцию «Добавить навык», затем «Загрузить навык».
    4. Перетащите файл .zip в окно загрузки или найдите его в системе. Принимаются только архивы размером до 6 МБ.
  • Выберите типы агентов, которые должны использовать данную навык. По умолчанию выбран Generic, который применяется ко всем типам. Отметьте его, чтобы выбрать On-demand, Incident Triage, Incident RCA, Incident Mitigation или Evaluation.
  • Прочитайте результаты проверки, отображаемые формой, затем выберите опцию «Загрузить», чтобы добавить навык в пространство агентов.
  • Управление навыками позже

    • Список и просмотр: на странице навыков можно открыть любой навык, чтобы просмотреть его файлы (SKILL.md, references/, assets/); доступ осуществляется только для чтения.
    • Активация или деактивация: в режиме детального просмотра включите или выключите опцию Active или Inactive. Деактивированные навыки остаются сохраненными, но не загружаются при новых расследованиях.
  • Перенаправление целевой аудитории: выбор типов агентов можно изменить в любое время.
  • Замена: навык, полученный из архива zip, обновляется путем загрузки новой версии.
  • Создание навыка в интерфейсе

    Один файл SKILL.md без ссылок и ресурсов может полностью обойтись без использования архива zip:

    1. На странице Навыки выберите «Добавить навык», затем «Создать навык».
    2. Укажите Название строчными буквами, цифрами и дефисами; длина должна составлять не более 64 символов, название не может начинаться и заканчиваться дефисом.
    3. Укажите Описание; желательно, чтобы его длина составляла не менее 100 и не более 1024 символов.
    4. Выберите Статус (Активный или Инактивный) и один или несколько типов агентов.
    5. Вставьте текст в формате Markdown в поле Инструкции.
    6. Выберите «Создать». Система автоматически сгенерирует файл SKILL.md с необходимыми метаданными.

    Где он применяется

    Для всех, кто использует AWS в масштабах, этот сервис стоит попробовать, особенно для сортировки инцидентов и анализа после их возникновения. Проще говоря, он действует как автономный коллега, работающий круглосуточно. Он начинает расследование сразу после срабатывания тревоги, сокращает время устранения проблем путем связывания данных телеметрии, информации о коде и истории развертывания, а также помогает предотвращать будущие сбои в средах AWS, гибридных и мультиоблачных средах.