• jälkiselvitys
  • pilvipalvelu
  • tapahtuma

Jälkiselvitys: Docker-kuvaa ei löytynyt

Tapahtumaraportti Logto-palvelun katkoksesta 2023-12-17 tuotantotason Docker-kuvan menetyksen vuoksi.

Simeng
Simeng
Developer

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

AikaTapahtuma
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 UTCLogton pilvipalvelu ja Logton ydintoiminto menivät pois käytöstä. Tapahtuma havaittiin valvontajärjestelmämme toimesta.
2023-12-17 04:03:00 UTCPäivystävä insinööri tunnusti tapahtuman.
2023-12-17 04:10:00 UTCLogto-pilvipalvelun ja Logto-ydintoiminnon uusi käyttöönotto käynnistettiin uusimmalla kuvalla.
2023-12-17 04:15:00 UTCLogton 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ä.

Palvelun logi

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.