Grudniowe awarie chmury AWS

Dwie awarie w ciągu 10 dni spowodowały wyłączenie niektórych usług dostępnych w chmurze AWS nawet na 7 godzin. Okazało się, że przyczyną były błędy w oprogramowaniu do zarządzania systemem.

Pierwsza, poważna awaria miała miejsce 7 grudnia i na blisko 7 godzin zablokowała dostęp do usług i łączności internetowej w kilku regionach AWS funkcjonujących na terenie USA. Druga, 16 grudnia znów zablokowała łączność internetową w dwóch amerykańskich regionach, ale awaria została dość szybko naprawiona.

Choć problemy dotyczyły tylko kilku regionów zlokalizowanych w USA, ale dotknęły też takich stron internetowych jak Netflix, DoorDash, Ring, Twitch lub Slack powodując ich niedostępność na całym świecie.

Zobacz również:

Jak zapewnia AWS firmie udało się rozwiązać problemy i obecnie jej usługi działają bez zakłóceń.

Jakie były przyczyny awarii

Jak wyjaśnia AWS, awarie zostały spowodowane niewłaściwym działaniem wewnętrznego programu do automatycznego skalowania zasobów i wydajności systemu.

Jeszcze przed drugą, krótką awarią, AWS opublikował wyjaśnienie dlaczego pojawiły się problemy.

Sieć AWS składa się z dwóch podstawowych elementów: sieci wewnętrznej służącej do monitorowania i zarządzania zasobami oraz publicznej udostępniającej usługi AWS klientom tej firmy.

Błąd oprogramowania spowodował „nieoczekiwane zachowanie się” dużej liczby programów używanych do obsługi podstawowych funkcji, takich jak serwery DNS oraz usługi autoryzacji i monitorowania systemu. W efekcie nastąpiło znaczące zwiększenie ruchu i przeciążenie wewnętrznej sieci. Ponieważ działanie tych usług ma duże znaczenie, pierwszą reakcją firmy było przydzielenie im znacząco większych zasobów, co miało zapewnić wysoką dostępność usług dla klientów firmy.

Niestety, jedna z usług skalowania, która według AWS działała bez zarzutu od wielu lat, spowodowała ogromny wzrost aktywności połączeń, który przeciążył urządzenia zarządzające komunikacją między wewnętrznymi i zewnętrznymi sieciami.

Co gorsza, gwałtowny wzrost ruchu spowodował ogromne zwiększenie opóźnień, które wpłynęło na działanie programów monitorujących system uniemożliwiając skorzystanie z systemów do wykrywania źródła zatorów. Aby znaleźć przyczynę problemów niezbędna była analiza logów, która wykazała duży wzrost liczby wewnętrznych błędów DNS. Po przeniesieniu ruchu DNS z przeciążonych ścieżek sieciowych problem błędów DNS został rozwiązany i poprawiła się dostępność usług, ale niestety nie wszystkich.

W kolejnej fazie inżynierowie AWS rozpoczęli izolację fragmentów sieci stwarzających problemy oraz zwiększanie przydzielonych usługom zasobów. Wyszukiwanie przyczyn awarii i odpowiednia rekonfiguracja urządzeń i oprogramowania były mocno utrudnione głównie ze względu na wciąż występujące w sieci duże opóźnienia transmisji. A ponieważ tylko część klientów AWS została dotknięta awarią, a niektórzy wcale jej nie odczuli więc działania naprawcze były prowadzone z dużą ostrożnością by nie zaszkodzić tym drugim.

Ostatecznie, po blisko 7 godzinach udało się opanować sytuację i przywrócić system do prawie normalnego działania. Prawie, bo AWS wyłączył funkcje automatycznego skalowania i będą one ponownie uruchomione dopiero po dokładnej analizie i wdrożeniu niezbędnych poprawek. Ma to nastąpić w ciągu najbliższych dwóch tygodni.

Można mieć nadzieję, że doświadczenia związane z tymi zdarzeniami pozwolą uniknąć takich problemów w przyszłości. Zwłaszcza, że AWS zamierza w przyszłym roku uruchomić w Polsce jedną z nowych lokalnych stref zapewniających szybki dostęp do oferowanych przez firmę usług.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200