Beheer

Cloud
alarm

Oorzaak grote AWS-storing bekend

Gebrek aan capaciteit ontstond door uitbreiding capaciteit.

© Shutterstock Mr.B-king
30 november 2020

Gebrek aan capaciteit ontstond door uitbreiding capaciteit.

De grote AWS-storing vorige week had een complexe oorzaak. In het kort komt het er op neer dat het toevoegen van een kleine hoeveelheid extra capaciteit aan de Kinesis-servers in een datacentrum in North Virginia ( US-East-1) leidde tot een grote activiteit op de al in gebruik zijnde systemen die daardoor ontregeld raakten.

De capaciteitsuitbreiding vond plaats aan de 'front-end' servers van de Kinesis-dienstverlening, geeft AWS nu als uitleg in een verklaring. Die 'front-end' servers zorgen ervoor dat de werklast op de 'back-end' servers netjes wordt verdeeld. Elk van de front-end servers heeft een cache met informatie over onder meer de 'shard map' van de back-end clusters, een onderdeel van een database-architectuur die deze heel schaalbaar maakt.

De informatie voor de shard map krijgen de AWS front servers door een microservice te raadplegen die vervolgens de details over de configuratie ophaalt uit de Dynamo-database en ondertussen berichten van de andere Kinesis front-end servers verwerkt.

Configuratie OS kon threads niet aan

Elk van de front-end servers creëert operating system threads naar elke van de andere servers in de front-end vloot. Nadat nieuwe capaciteit is toegevoegd krijgen de andere servers door dat er nieuwkomers zijn en gaan zij threads met deze machines opzetten om zo tot een nieuwe configuratie te komen. Dat proces neemt ongeveer een uur in beslag. Maar in dit geval oversteeg het aantal threads de limiet die de configuratie van het besturingssysteem oplegde. Het gevolg was dat de front-end servers nutteloze shard maps opbouwden. Ze konden vervolgens verzoeken voor Kinesis niet meer naar de back-end servers routeren.

Zodra het probleem werd onderkend - 2,5 uur na het toevoegen van de extra front-end servers - werden deze snel weer uitgeschakeld. Vervolgens heeft het team geprobeerd het aantal threads omlaag te brengen door minder servers maar met krachtigere CPU's en meer geheugen in te zetten. Daarna zijn gelijk tests gestart om te zien of de limiet aan het aantal threats in de configuratie van het besturingssysteem kon worden verruimd zodat vergelijkbare problemen in de toekomst kunnen worden voorkomen.

Opsplitsen diensten moet uitkomst bieden

AWS zint nu ook op een structuur waarbij verschillende diensten van aparte front-end servers gebruik gaan maken. Daardoor zou een probleem met een van de diensten geen invloed meer kunnen hebben op andere diensten.

Nu deed zich ook nog de ongelukkige situatie voor dat het algemene Service Health Dashboard ook niet bijgewerkt kon worden doordat het gebruik maakte van een van de verstoorde diensten, namelijk Cognito. AWS biedt excuses aan voor de gevolgen die deze storing heeft gehad voor klanten. 

Lees meer over
Lees meer over Beheer OP AG Intelligence
Reactie toevoegen
De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.