Programiranje

Izkušnje iz nedavnega izpada AWS S3

Amazon S3 podpira številne storitve AWS, vključno z AWS Lambda, Elastic BeanStalk in lastno nadzorno ploščo Service Health. Služi tudi kot objekt in medijska trgovina za številne druge internetne storitve, ki se nanjo zanašajo vsak dan.

28. februarja 2017 je AWS doživel urni izpad storitve Amazon S3 v regiji US-EAST – 1. To je ustvarilo kaskadni učinek izpadov na dobrem delu interneta, vključno s storitvami, kot je Dockerhub.

Izkazalo se je, da je glavni vzrok človeška napaka:

Ob 9:37 AM PST je pooblaščeni član ekipe S3 z uveljavljeno knjigo iger izvedel ukaz, ki naj bi odstranil majhno število strežnikov za enega od podsistemov S3, ki jih uporablja postopek obračunavanja S3. Na žalost je bil eden od vhodov v ukaz napačno vnesen in večji nabor strežnikov je bil odstranjen, kot je bilo predvideno.

Izkazalo se je, da obstaja pogosta napačna predstava o razliki med trajnostjo in razpoložljivostjo. Trajnost meri, kako zanesljivo je shranjevanje, in odgovarja na vprašanje "Ali bom izgubil podatke?" Razpoložljivost pa meri, kako dostopni so podatki, tj. "Ali bom mogel pridobiti svoje podatke?"

AWS S3 ponuja 99,999999999% trajnosti znotraj ene regije. Če preučimo Amazonov primer, to pomeni, da če shranite 10.000 predmetov v S3, se lahko en predmet izgubi v povprečju enkrat na 10 milijonov let. Amazon S3 to doseže s kopiranjem podatkov v več objektih v regiji.

Standardna razpoložljivost predmetov S3 pa je v regiji 99,99% na leto. To pomeni, da morate v katerem koli 12-mesečnem obdobju pričakovati 52 minut in 33 sekund, da ne boste mogli dostopati do svojih podatkov.

AWS ponuja storitve IaaS in PaaS. Na ravni IaaS imajo stranke AWS popoln nadzor nad navideznimi strežniki in omrežji. Lahko konfigurirajo katero koli programsko opremo in storitev, ki jo želijo, in jo upravljajo sami. Vsak izpad je odgovornost kupca.

Na ravni PaaS ponuja AWS popolnoma upravljane storitve platforme, kot so shranjevanje predmetov, zbirke podatkov, čakalne vrste itd. Naročnik odgovornost za razpoložljivost in trajnost teh storitev prenese na upravljanega ponudnika storitev - v tem primeru AWS. Storitve platforme AWS, ki se uporabljajo prek lastniškega API-ja, so še posebej občutljive na regionalni izpad zaradi človeške napake pri AWS.

Človeška napaka lahko povzroči izpad kjer koli - lokalno, v oblaku, upravlja ali samo gosti. Razmislite o nedavnem izpadu računalnika Delta kot primer padca celotnega samostojnega sistema. Prenos odgovornosti za upravljanje storitve platforme na ponudnika oblaka ne spremeni dejstva, da jo človeške napake lahko zmanjšajo, vendar poveča učinek. Medtem ko je izpad Delta vplival le na Delto, je izpad AWS S3 vplival na dober del interneta.

Na srečo AWS S3 ponuja veliko orodij za zmanjšanje vpliva izpada. Upoštevajmo le nekaj.

Replikacija S3 med regijami

Podatki, shranjeni v določeni regiji S3, se kopirajo v vseh območjih razpoložljivosti in lahko povzročijo izpad v katerem koli območju. Ne more pa preživeti izpada v celotni regiji, na primer tistega, ki se je zgodil 28. februarja. Ponavljanje predmetov S3 v geografskih regijah pomaga zadovoljiti povečane zahteve po redundanci.

Varnostne kopije

Replikacija med regijami lahko pomaga povečati razpoložljivost. Varnostne kopije ledenika AWS lahko prispevajo k večji vzdržljivosti. AWS priročno ponuja samodejni mehanizem za varnostno kopiranje predmetov v S3 v Glacier.

Razmislite o distribuciji vsebine z CloudFront

Če so vaši predmeti S3 pogosto dostopni, je morda smiselno konfigurirati AWS CloudFront za prikazovanje predmetov iz S3. CloudFront bo podatke kopiral tam, kjer jih uporabniki najbolj potrebujejo, in lahko v nekaterih primerih pomaga ublažiti učinke izpada S3.

Zadnje misli

Storitve upravljane platforme so temelj storitev v oblaku. Uporaba takega, kot je S3, lahko zmanjša stroške DevOps in pripomore k hitrejšemu trženju aplikacij. Medtem ko je bil AWS v preteklih letih izjemno zanesljiv, je Amazon v preteklosti že sam izvajal prekinitve. Nedavni izpad S3 ni nobena izjema. Nekatera kombinacija kopiranja med regijami, varnostnih kopij in distribucije vsebine bi morala zmanjšati vpliv takšnih izpadov.

$config[zx-auto] not found$config[zx-overlay] not found