Jälkiselvitys: Docker-kuvaa ei löytynyt
Tapahtumaraportti Logto-palvelun katkoksesta 2023-12-17 tuotantotason Docker-kuvan menetyksen vuoksi.
Yhteenveto
Koimme palvelukatkoksen 2023-12-17 Logton tuotantotason Docker-kuvan menetyksen vuoksi.
- Tapahtuma-aika: 2023-12-17 03:56:00 UTC
- Tapahtuman kesto: 18 minuuttia
- Palvelun vaikutus: Logton pilvipalvelu ja Logton ydintoiminto olivat poissa käytöstä tapahtuman aikana.
- Vaikutuksen taso: Kriittinen
- Perimmäinen syy: Logton tuotantotason docker-kuva poistettiin vahingossa. Kuvan haku GitHub Container Registrystä epäonnistui.
Aikajana
Aika | Tapahtuma |
---|---|
Aikaisin 2023-12-17 (tarkka aika tuntematon) | Logton automatisoitu GitHub-kuvan säilytyksen työnkulku suoritettiin. logto ja logto-cloud tuotantokuvat poistettiin vahingossa. |
2023-12-17 03:56:00 UTC | Logton pilvipalvelu ja Logton ydintoiminto menivät pois käytöstä. Tapahtuma havaittiin valvontajärjestelmämme toimesta. |
2023-12-17 04:03:00 UTC | Päivystävä insinööri tunnusti tapahtuman. |
2023-12-17 04:10:00 UTC | Logto-pilvipalvelun ja Logto-ydintoiminnon uusi käyttöönotto käynnistettiin uusimmalla kuvalla. |
2023-12-17 04:15:00 UTC | Logton pilvipalvelu ja Logton ydintoiminto palasivat käyttöön. Tapahtuma ratkesi automaattisesti. |
Tapahtuman analyysi
Mitä tapahtui
Logton tuotantopalvelun kuvat poistettiin automatisoidun GitHub-kuvan säilytyksen työnkulun toimesta. Pilvipalvelu ei saanut haettua kuvia GitHub Container Registrystä ja meni pois käytöstä.
Miksi se tapahtui
Automatisoitu GitHub-kuvan säilytyksen työnkulku poisti tuotantokuvat vahingossa. Työnkulku oli suunniteltu poistamaan kaikki vanhemmat kuin kolme päivää vanhat merkkaamattomat kuvat.
Merkkasimme tuotantokuvat prod
-tagilla tunnistaaksemme ne tuotantokuviksi. Aina, kun tuotantojulkaisu käynnistettiin, uusi kuva prod
-tagilla rakennettiin ja puskettiin GitHub Container Registryyn. prod
-tagi poistettiin vanhasta kuvasta sen jälkeen, kun uusi kuva oli onnistuneesti rakennettu ja puskettiin. Vanha kuva muuttui merkkaamattomaksi ja se poistettiin automatisoidun GitHub-kuvan säilytyksen työnkulun toimesta.
Logton palvelukuvat rakennettiin tukemaan useita arkkitehtuureja. Kuva rakennettiin buildx
:llä ja puskettiin GitHub Container Registryyn --platform
lipulla. Kaikki tagit sovellettiin juurilistausten manifestille. Myös prod
-tagi sovellettiin juurilistausten manifestille. Kaikki tässä monialustaisessa manifestilistassa mainitut osakuvat pysyivät merkkaamattomina.
Huonon tarkastelun puutteen vuoksi Docker-kuvan tagien ja manifestilistan rakenteessa, konfiguroimme yksinkertaisesti automatisoidun GitHub-kuvan säilytyksen työnkulun poistamaan kaikki merkkaamattomat kuvat. Työnkulku poisti kaikki monialustaisen manifestilistan alla listatut osat.
Vaikutus
Tämä tapahtuma aiheutti Logto-pilvipalvelun ja Logto-ydintoiminnon poissaolon noin 18 minuutiksi. Loppukäyttäjät eivät voineet kirjautua Logto-palveluun ja päästä asiakassovelluksiinsa. Myös Logton pilvihallintaportaali oli poissa käytöstä tapahtuman aikana.
Ratkaisu
Olemme pysäyttäneet automatisoidun GitHub-kuvan säilytyksen työnkulun ja julkaisseet uuden kuvan prod
-tagilla GitHub Container Registryyn. Uusi kuva onnistuttiin hakemaan Logto-pilvipalvelun ja Logto-ydintoiminnon toimesta. Palvelu tuli jälleen käyttöön.
Opitut läksyt
- Älä koskaan julkaise työnkulkua tuotantoympäristöön ilman huolellista tarkistusta ja testausta.
- Suorita kuivaharjoitus kaikista resurssien poistotoimenpiteistä ennen niiden toteuttamista.
- Aina pidettävä varasuunnitelma tuotantoympäristöä varten.
- Määritä uusi kuvaohjelmoinnin säilytyspolitiikka huolellisesti.
Korjaavat ja ehkäisevät toimenpiteet
- ✅ Lopeta välittömästi automatisoitu GitHub-kuvan säilytyksen työnkulku.