„Rachunek za AWS nam się urwał” — to zdanie słyszę częściej, niż powinienem. Prawie zawsze chodzi o te same, powtarzalne przyczyny, nie o wady samej chmury.
Skąd biorą się niespodziewane koszty
- Zasoby uruchomione „do testów” i zapomniane. Serwer testowy działający od trzech miesięcy generuje koszt tak samo jak produkcyjny.
- Źle dobrany typ instancji. Płacenie za moc obliczeniową, której aplikacja nigdy nie wykorzystuje.
- Transfer danych między regionami. Architektura zaprojektowana bez uwzględnienia opłat za przesył danych potrafi generować koszty niewidoczne na pierwszy rzut oka.
- Brak limitów i alertów budżetowych. Bez monitoringu kosztów problem widać dopiero na fakturze, nie w momencie, gdy powstaje.
Jak to kontrolować
AWS Cost Explorer pokazuje, gdzie faktycznie idą pieniądze — usługa po usłudze, dzień po dniu. Budżety z alertami wysyłają powiadomienie, zanim rachunek przekroczy założony próg, zamiast informować o przekroczeniu miesiąc później. To narzędzia wbudowane w AWS, bez dodatkowych opłat za samo ich włączenie.
Instancje zarezerwowane i Savings Plans
Przy przewidywalnym, długoterminowym obciążeniu rezerwacja mocy obliczeniowej na rok albo trzy lata potrafi obniżyć koszt o kilkadziesiąt procent względem stawek na żądanie. To opłaca się tam, gdzie wiadomo, że dany zasób będzie działał długo — nie ma sensu przy środowiskach testowych czy tymczasowych.
Największy koszt w chmurze rzadko wynika ze złej ceny usługi. Wynika z tego, że nikt nie sprawdza rachunku, dopóki nie zrobi się naprawdę duży.
Audyt kosztów — szybki zwrot z inwestycji
Przegląd istniejącego konta AWS pod kątem nieużywanych zasobów i źle dobranych typów instancji często zwraca się w pierwszym miesiącu po wdrożeniu poprawek. To jeden z najszybszych sposobów, żeby chmura zaczęła kosztować tyle, ile powinna, a nie tyle, ile przypadkiem urosła.
Kontrola kosztów to jedna strona medalu. Druga to bezpieczeństwo samego konta — piszę o tym w kolejnym artykule: bezpieczeństwo konta AWS i zarządzanie dostępem.