Ten projekt to zautomatyzowane rozwiązanie do monitorowania i wizualizacji wszystkich zasobów AWS rozproszonych po różnych regionach Twojego konta. Korzystając z AWS Resource Explorer 2 oraz CloudWatch Custom Widgets, tworzy jeden, spójny punkt widzenia na całą Twoją infrastrukturę.
- Brak Widoczności: Trudno jest śledzić zasoby w regionach, których rzadko używasz (np. zapomniane instancje EC2 czy Buckety S3).
- "Duchy" w Infrastrukturze: Pomaga wykryć rzadkie typy zasobów (jak konfiguracje S3 Storage Lens czy Access Points), które generują koszty lub bałagan, a są trudne do znalezienia w standardowej konsoli.
- Rozproszenie Danych: Zamiast przełączać się między 20 regionami, widzisz wszystko w jednej, czytelnej tabeli.
- Dokładna Klasyfikacja: Precyzyjnie rozróżnia typy zasobów (np.
s3:bucketosobno ods3:storage-lens). - Dystrybucja Geograficzna: Interaktywny wykres pokazujący, gdzie masz najwięcej zasobów.
- Szybkie Statystyki: Łączna liczba zasobów, aktywnych regionów oraz unikalnych usług.
Aby automatyka mogła zadziałać, musisz podać dane w swoim repozytorium na GitHubie.
Przejdź do: Settings -> Secrets and variables -> Actions.
Dodaj jako New repository secret:
AWS_ACCESS_KEY_ID: Twój klucz dostępu AWS.AWS_SECRET_ACCESS_KEY: Twój tajny klucz dostępu AWS.
Dodaj jako New repository variable:
AWS_REGION: Główny region wdrożenia (np.eu-north-1). Tutaj powstanie Dashboard i funkcja Lambda.
Wdrożenie jest w pełni zautomatyzowane dzięki GitHub Actions:
- Pobierz kod lub zrób Forka tego repozytorium.
- Wykonaj
git push: Każda zmiana w kodzie (lub pierwszy push po konfiguracji sekretów i zmiennych) uruchamia procesDeploy, który sam stworzy funkcję Lambda, uprawnienia IAM oraz Dashboard w Twoim AWS.
W projekcie znajduje się skrypt pomocniczy testLayout.js. Służy on do wygenerowania pliku HTML, abyś mógł lokalnie sprawdzić wygląd nowej siatki kart (Region Cards) i wprowadzić ewentualne poprawki w stylach widget/tableRenderer.js przed wypchnięciem zmian do repozytorium.
Jak wygenerować podgląd? W terminalu, w głównym folderze projektu wpisz polecenie:
node testLayout.jsSkrypt wygeneruje plik /tmp/dashboard_test.html. Otwórz go w dowolnej przeglądarce by podejrzeć jak zachowuje się widget, zanim podejmiesz decyzję o udostępnieniu go w chmurze AWS (plik nie jest wgrywany przez GitHub Actions).
Po zakończeniu wdrożenia (zakładka Actions na zielono), zaloguj się do konsoli AWS:
- Przejdź do usługi CloudWatch.
- W menu bocznym wybierz Dashboards.
- Kliknij w:
CloudWatch-globalResourceExplorer2View.
Przy pierwszym wejściu zobaczysz komunikat o bezpieczeństwie. Kliknij żółty przycisk "Invoke Lambda functions" lub "Allow always" na widgecie. Bez tego kroku AWS nie pozwoli na pobranie danych z Twojej nowej Lambdy.
Autor: Grzegorz N
Data: Marzec 2026