AWS DevOps Agent w praktyce: przestrzenie agentów, dochodzenia, sprawdzanie wersji oraz umiejętności agenta.
Przewodnik po AWS DevOps Agent: tworzenie przestrzeni agenta, przeprowadzanie dochodzeń w celu ustalenia przyczyn problemów, funkcje wstępne zarządzania wersjami oraz tworzenie dostosowanych umiejętności agenta.
Źródła: AWS DevOps Agent & AWS DevOps Agent Skills — Simplified with Hands-on demo
Zespoły operacyjne poświęcają wiele godzin na powtarzające się zadania: ustalanie przyczyn awarii pipeline’ów, sprawdzanie stanu infrastruktury, porównywanie logów z metrykami oraz odpowiadanie na codzienne pytania typu „co teraz jest zepsute?”. AWS oferuje doskonałe narzędzia do tego celu, takie jak CloudWatch, IAM, CodePipeline i Lambda, jednak wciąż istnieje luka pomiędzy surowymi danymi a wnioskami, na których można oprzeć działania.
Poniżej znajduje się praktyczny przegląd narzędzia AWS DevOps Agent: jak konfiguruje się Agent Space, jak wygląda proces dochodzenia od początku do końca, co dodają najnowsze funkcje zarządzania wersjami oraz jak Agent Skills umożliwiają agentowi przyswajanie własnych procedur zespołu. Grupą docelową są inżynierowie DevOps, SRE, platformowi oraz AI, którzy już uruchamiają obciążenia na AWS i chcą automatyzacji wykraczającej poza proste skrypty.
Czym jest i czym nie jest agent DevOps
Tutaj termin ten oznacza asystenta operacyjnego, który nie zastępuje inżynierów. Jest to system, który:
- ma dostęp odczytu do zasobów AWS, a czasami ograniczony dostęp zapisu
- rozumie kontekst operacyjny środowiska
- może odpowiadać na pytania takie jak dlaczego deployment się nie udał, co zmieniło się w ciągu ostatniej godziny lub który serwis jest przyczyną wzrostu błędów
- pełni rolę warstwy łączącej API AWS, logi, metryki z osobami pełniącymi dyżur
Nie zastępuje on inżynierów. Jego zadaniem jest zmniejszenie obciążenia umysłowego związanego z rutynowymi dochodzeniami oraz przyspieszenie tych dochodzeń.
Tworzenie przestrzeni agenta
Znalezienie usługi
Otwórz Konsolę zarządzania AWS i wyszukaj AWS DevOps Agent. Podstawowe funkcje związane z operacjami w produkcji są już dostępne. Nowsze możliwości zarządzania wersjami, opisane poniżej, są nadal w wersji przeglądowej.
Stwórz przestrzeń
Wybierz opcję „Create Agent Space” i podaj dwie informacje: nazwę, na przykład Demo-DevOps-Agent, oraz krótki opis środowiska lub jego przeznaczenia. Przestrzeń agenta stanowi logiczną granicę dla działań badawczych, analizy topologii oraz rekomendacji.
Zezwalaj na dostęp do zasobów
W sekcji umożliwiającej dostęp przestrzeni do zasobów AWS wybierz opcję automatycznego utworzenia nowej roli DevOps Agent. AWS tworzy i przypina rolę IAM z ograniczonymi uprawnieniami, które pozwalają jej na odczytywanie metryk i logów CloudWatch, inspekcję zasobów EC2 oraz powiązanych z nimi elementów, a także tworzenie grafik topologicznych. Większość problemów związanych z IAM, które zwykle opóźniają wdrożenie, znika na tym etapie.
Włącz aplikację internetową
W sekcji Włącz aplikację internetową pozostaw wybraną opcję automatycznego tworzenia roli. Dzięki temu włącza się interaktywna interfejs służący do przeprowadzania dochodzeń, komunikacji i korzystania z paneli kontrolnych. Następnie utwórz przestrzeń Agenta.
Otwórz widok operatora
Wejdź do nowej przestrzeni Agenta i otwórz dostęp operatora. Tutaj znajdują się trzy obszary: DevOps Center, Reakcja na incydenty i Zapobieganie im.
DevOps Center oraz widoczność oparta na topologii
W tym interfejsie DevOps Center pokazuje żywy wykres topologii środowiska AWS. Od razu rzucają się w oczy kilka rzeczy: zasoby wyglądają na połączone, a nie izolowane, widoczne są zależności między usługami, a agent opiera swoją pracę na tych relacjach, a nie tylko na metrykach. Ta topologia ma ogromne znaczenie przy późniejszej analizie przyczyn źródłowych.
Prowadzenie dochodzenia
To właśnie w module Reakcja na incydenty agent zaczyna naprawdę się przydać. Na panelu sterowania należy wybrać opcję „Rozpocznij dochodzenie”. Problem można opisać prostym językiem lub wybrać typowy czynnik wyzwalający, taki jak wysoki zużycie CPU, gwałtowny wzrost wskaźników błędów lub brak metryk i logów.
Przykładem tutaj była sytuacja z brakującymi danymi. Prośba brzmiała: czy może pan sprawdzić, dlaczego dane dotyczące CPU w CloudWatch nie są widoczne dla moich instancji EC2? Agent natychmiast zidentyfikował dotknięte instancje, umieścił je na widoku topologii i sprawdził metryki CloudWatch w odpowiednim regionie.
Historia zdarzeń i ustalenia
Historia dochodzenia pokazuje, w jaki sposób postępowała praca: zbieranie informacji kontekstowych, identyfikacja zasobów, ocena metryk oraz formułowanie ustaleń. Jedna decyzja projektowa zasługuje na uwagę. Gdy metryki są nieobecne, agent jasno to komunikuje i nie działa w tle bez informacji. To mała decyzja, która ma duży wpływ na zaufanie.
Analiza przyczyn podstawowych
Na karcie „Przyczyny podstawowe” agent wymienił kilka przyczyn, a nie tylko jedną:
- Szczegółowe monitorowanie jest wyłączone na instancjach EC2. Instancje pokazywały
Monitoring: disabled, a bez szczegółowego monitorowania te metryki CPU nigdy nie są publikowane w CloudWatch. - Nie zainstalowano agenta CloudWatch. Nic nie zostało skonfigurowane na instancjach, więc bardziej szczegółowe dane dotyczące CPU nie były dostępne.
- Instancje zostały zatrzymane. Były one zatrzymane przez długi czas, a zatrzymane instancje nie generują żadnych metryk.
Ważne jest to, jak działał agent. Nie doszedł do jednego wyjaśnienia, racjonalnie uporządkował przyczyny i poparł każdą z nich dowodami pobranymi z API AWS.
Kiedy brak działań jest właściwą odpowiedzią
Karta Planu łagodzenia wskazała, że nie można było zidentyfikować żadnych natychmiastowych działań łagodzących. To dobry wynik, a nie zły. System funkcjonował dokładnie tak, jak został skonfigurowany. Żadna regresja ani niedawna zmiana nie spowodowała tego objawu. Każde rozwiązanie stanowiłoby zmianę konfiguracji zaplanowaną z góry, a nie działanie mające na celu łagodzenie incydentu. Wyraźne rozróżnienie to ma znaczenie w środowisku produkcyjnym, ponieważ zapobiega niepotrzebnym odwróceniom zmian.
Zapobieganie
Karta Zapobiegania analizuje wcześniejsze dochodzenia i decyduje, czy wymagane są proaktywne zalecenia. Tym razem nie powstało nic nowego, a agent prawidłowo stwierdził brak powtarzającego się ryzyka operacyjnego. Kategorie, które ocenia, to infrastruktura, możliwość obserwacji, zarządzanie oraz optymalizacja kodu.
Dlaczego zależy to zespołom
To nie jest zwykły kolejny produkt do monitoringu. Jego wartość polega na czterech aspektach: krótszym czasie dochodzenia, uporządkowanej analizie przyczyn źródłowych, zmniejszeniu zmęczenia spowodowanego sygnałami alarmowymi oraz możliwości poznania przez zespoły, dlaczego ich systemy zachowują się w określony sposób. W przeciwnym razie inżynierowie musieliby ręcznie łączyć informacje z CloudWatch, ustawień EC2, stanu IAM oraz historii wdrażania. Agent wykonywa tę korelację za nich.
Zdolności do zarządzania wersjami (przegląd)
Nowsza funkcja umożliwia wdrożenie agenta wcześniej, zanim kod w ogóle trafi do środowiska produkcyjnego.
Przegląd gotowości do wdrożenia. Każda zmiana kodu jest oceniana pod kątem kryteriów gotowości do produkcji, ryzyka związanego z zależnościami między repozytoriami oraz standardów określonych przez organizację; w przypadku braku takich wytycznych stosuje się ogólne zasady dobrych praktyk. Do konkretnych sprawdzeń należą wpływ zmiany na usługi w innych repozytoriach oraz modyfikacje związane z IAM lub kontrolą dostępu, oceniane według ram AWS Well-Architected Framework. Agent dodatkowo uruchamia proces budowania w izolowanym środowisku zarządzanym przez AWS i testuje go kilkoma prostymi scenariuszami użytkownika. Pozwalają one potwierdzić, że proces budowania przebiegł pomyślnie, aplikacja działa poprawnie oraz że podstawowe testy funkcjonalne przeszły, wszystko to zanim zmiana trafi do łańcucha integracji.
Wyniki pojawiają się w konsoli DevOps Agent oraz jako komentarze do prośb o pull request na GitHub lub GitLab. Mogą być również wywoływane na żądanie z IDE za pośrednictwem narzędzia Kiro power lub wtyczki Claude Code, dzięki czemu programiści mogą wykryć ryzyko związane z zależnościami, naruszenia standardów oraz problemy z kontrolą dostępu przed zatwierdzeniem zmian.Autonomiczne testy wypuszczania. Przenoszą one tę koncepcję na etap przed połączeniem. Zamiast uruchamiać ustaloną serię testów, generują plany testowe dostosowane konkretnie do wprowadzanych zmian, które są wykonywane w środowiskach przypominających produkcję dostarczanych przez klienta, zarówno dla aplikacji internetowych, jak i API. Ponieważ analizują one znaczenie różnic między wersjami, mogą tworzyć testy poprawności funkcjonalnej, regresji oraz integracji między usługami, których seria testów utrzymywana ręcznie mogłaby nigdy nie przewidzieć. Każde uruchomienie generuje ustrukturyzowane pliki, mianowicie metryki, logi, ślady działania oraz podsumowanie wykonania, które umożliwiają osobom przeglądającym spójny i sprawdzalny zapis zakresu testowania oraz wyników dla każdej zmiany.
Oba te funkcje są w wersji wstępnej i nie wiążą się z żadnymi dodatkowymi kosztami w tym okresie. Są dostępne w regionie US East (N. Virginia).
Czym są umiejętności agenta
Umiejętności to modułowe zestawy instrukcji, które rozszerzają agenta o specjalistyczną wiedzę z danej dziedziny oraz metody badawcze dostosowane do infrastruktury i praktyk danej zespołu. Umiejętność to samodzielny katalog instrukcji w formacie Markdown, który nadaje agentowi nowe możliwości. Usługa obsługuje podzbiór specyfikacji Agent Skills, przyjmując wyłącznie materiały niewykonywalne: instrukcje w formacie Markdown, pliki PDF, obrazy oraz pliki danych.
Każda umiejętność wymaga pliku SKILL.md zawierającego instrukcje. Ponadto umiejętność może obejmować:
- Procedury badawcze przeznaczone do konkretnych scenariuszy lub typów infrastruktury
- Materiały referencyjne, takie jak wzory architektury i procedury operacyjne
Dlaczego warto?
Umiejętności przekształcają asystenta uniwersalnego w specjalistę od konkretnego środowiska. Jednorazowa instrukcja wpisana w czacie znika po jej użyciu, natomiast umiejętność może być wykorzystywana wielokrotnie i ładować się sama, gdy zadanie tego wymaga. Oto cztery korzyści:
- Specjalizacja. Agent opanowuje procedury dochodzeniowe, dobre praktyki oraz wiedzę organizacyjną specyficzną dla danej infrastruktury.
- Mniej powtórzeń. Przepisany raz proces pracy jest automatycznie stosowany we wszystkich odpowiednich dochodzeniach, dzięki czemu nie trzeba powtarzać tych samych wskazówek.
- Kompozycja. Kilka umiejętności łączy się, tworząc kompletny proces pracy. Agent może wykonywać wiele z nich jednocześnie – na przykład taką, która pobiera implementacje z niestandardowej ścieżki CI/CD, oraz inną, która przeszukuje repozytoria kodu.
- Lepsze wykorzystanie narzędzi niestandardowych. Umiejętność może podpowiedzieć agentowi, kiedy należy wezwać określone narzędzie serwera MCP, jakie parametry pasują do różnych sytuacji oraz jak odczytywać wyniki.
Sposób wykorzystania
Gdy agent napotyka odpowiednie zadanie, ładuje odpowiadające mu umiejętności i postępuje zgodnie z nimi. Na przykład umiejętność o nazwie „Badanie wydajności bazy danych” może zawierać krok po kroku procedury dotyczące ograniczania przepustowości RDS, prowadząc agenta w systematyczny sposób przez informacje o stanie alarmów, metrykach połączeń oraz wolnych zapytaniach.
Struktura umiejętności
Umiejętność to katalog:
my-skill/
├── SKILL.md # Main skill instructions
├── references/ # Optional: additional reference documentation
└── assets/ # Optional: images, diagrams, data files
Plik SKILL.md jest jedynym obowiązkowym elementem. Powinien opisywać, kiedy i w jaki sposób umiejętność ma zastosowanie, podawać procedury badawcze krok po kroku, zawierać drzewa decyzyjne dla różnych scenariuszy oraz określać oczekiwane wyniki i kryteria sukcesu.
Przykłady umiejętności i ich przesyłanie
AWS publikuje przykładową kolekcję umiejętności stworzonych dla tego środowiska wykonawczego w organizacji aws-samples na GitHubie. Nie są to ogólne Agent Skills – zostały dostosowane do środowiska DevOps Agent, jego typów agentów oraz procesów pracy uruchamianych w Agent Space.
Aby je użyć, pobierz potrzebny plik zip z repozytorium lub stwórz pakiet o następującej strukturze:
<skill-name>.zip
├── SKILL.md # Required: main instructions + YAML frontmatter
├── references/ # Optional: reference documentation
│ ├── architecture.md
│ └── troubleshooting.md
└── assets/ # Optional: images, diagrams, data files
Umieść plik SKILL.md w korzeniu pliku zip z ważnym frontmatter zawierającym pola name i description. Przykładowy frontmatter powinien mieć nazwę tę jak eks-resilience-checker-skill-devops oraz opis w stylu: procedury badawcze służące do oceny odporności Amazon EKS, obejmujące stan płaszczyzny sterującej, skalowanie płaszczyzny danych, luki w sieciowaniu i możliwościach monitorowania, które należy wykorzystać podczas oceny lub naprawy odporności klastra.
Następnie postępuj zgodnie z krokami przesyłania:
- Upewnij się, że plik zip nie zawiera katalogu
scripts/i ma rozmiar 6 MB lub mniej. - Otwórz Operator Web App i przejdź na stronę Skills.
- Wybierz opcję „Dodaj umiejętność”, a następnie „Prześlij umiejętność”.
- Przeciągnij plik
.zipdo okna dialogowego lub znajdź go ręcznie. Akceptowane są tylko pliki zip o rozmiarze do 6 MB.
Generic jest wybrany domyślnie i dotyczy wszystkich typów. Odznacz go, aby skierować się na On-demand, Incident Triage, Incident RCA, Incident Mitigation lub Evaluation.Zarządzanie umiejętnościami później
- Lista i przeglądanie: każdą umiejętność na stronie Umiejętności można otworzyć, aby przeglądać jej pliki (
SKILL.md,references/,assets/), w trybie tylko do odczytu. - Aktywacja lub dezaktywacja: w widoku szczegółowym przełącz stan na
ActivelubInactive. Dezaktywowane umiejętności pozostają zapisane, ale nie są ładowane podczas nowych dochodzeń.
Tworzenie umiejętności w interfejsie użytkownika
Jedyny plik SKILL.md bez odniesień ani zasobów może całkowicie pominąć użycie pliku zip:
- Na stronie Umiejętności wybierz „Dodaj umiejętność”, a następnie „Stwórz umiejętność”.
- Wpisz nazwę w małych literach, z cyframi i myślnikami, maksymalnie 64 znaki, taka, która nie zaczyna się ani nie kończy na myślniku.
- Wpisz opis, najlepiej co najmniej 100 znaków, ale nie więcej niż 1024.
- Wybierz stan (
AktywnylubNieaktywny) oraz jeden lub więcej typów agentów. - Wklej kod Markdown do pola z instrukcjami.
- Wybierz „Stwórz”. System automatycznie generuje plik
SKILL.mdz odpowiednim frontmatterem.
Gdzie się sprawdzi
Dla wszystkich, którzy zarządzają AWS na dużą skalę, ten serwis warto wypróbować, szczególnie do triażu incydentów i analizy po ich wystąpieniu. Mówiąc prościej, zachowuje się jak autonomiczny kolega z zespołu, który pracuje całą dobę. Rozpoczyna badania w momencie wywołania alertu, skraca czas rozwiązania problemu poprzez korelację danych telemetrycznych, historii kodu i procesów wdrażania oraz pomaga zapobiegać przyszłym awariom w środowiskach AWS, hybrydowych i wielochmurnych.