Lihtne failover veebisaidi jaoks (monitooring + dĂŒnaamiline DNS)

Selles artiklis tahan nĂ€idata, kui lihtsalt ja tasuta saab luua failover-skeemi veebisaidile (vĂ”i mĂ”nele muule internetiteenusele) jĂ€lgimise ja dĂŒnaamilise DNS-teenuse kombinatsiooniga. okerr See tĂ€hendab, et juhul, kui tekivad probleemid peamise veebisaidiga (alates „PHP Error” probleemist lehel kuni ruumi puudumise vĂ”i lihtsalt kahtlaselt vĂ€ikese arvu tellimustega veebipoes), suunatakse uued kĂŒlastajad teisele (kolmandale jne) aktiivsele serverile vĂ”i „Vabandame” lehele, kus neile sĂ”bralikult selgitatakse, et „on probleem, me oleme juba teadlikud ja töötame selle kallal, varsti lahendame,” (samal ajal, kui te tegelikult ka teate ja suudate probleemi lahendada).

Elada failoveriga vÔi ilma?

Kuni mingi probleem ei juhtu, ei ole erilist vahet. Aga kui see juhtub, on failoverita sageli jĂ€rgnev: proovite kiiresti vĂ€lja selgitada, mis probleem on, aga ei Ă”nnestu (varukoopiad ei laadi, tarkvara ei toimi mingil pĂ”hjusel dokumentatsioonist vĂ€lja, jne), aega ei ole, serverid-veebisaidid on maas, kliendid helistavad, kĂ”ik on endast vĂ€ljas, proovite mingil viisil probleem lahendada roppult ja mĂ”ttetult „teibiga,” siis tundub, et see kuidagi tööle hakkab ja jÀÀb ellu. Te arvate, et hiljem oleks vaja sĂŒvitsi minna ja kĂ”ik ilusti korda seada, kuid pole midagi pĂŒsivamat kui ajutine.

NĂŒĂŒd, kuidas see toimub ilusas versioonis failoveriga:

  • Tekkib viga
  • Viga avastatakse automaatselt
  • Saadetakse teatis
  • LĂŒlitatakse ĂŒle ĂŒhele varuseerverile
  • Rahu ja paanikata lahendatakse probleem, parandatakse ja server taaskĂ€ivitub.

Selles skeemis vĂ”ivad muidugi esineda ka oma kitsaskohad, kuid ikkagi on see skeem lineaarne, iga etapp on siin lihtne ja oluline — seda saab eraldi hÀÀldada, seega on selle skeemi ebaĂ”nnestumise vĂ”imalus palju vĂ€iksem, ja kĂ”ik toimingud saab automatiseerida ja teostada kiiresti (erinevalt ĂŒlesandest leida ja parandada tundmatut epohhialt probleemi). Teie lennuk on maandunud kauges riigis, lĂŒlitate telefoni sisse ja nĂ€ete telegrammis teavitust, et server on maas, kuid kĂ”ik on korras, varusever on aktiveeritud, saate oma reisi jĂ€tkata, teil ei ole vaja tagasi lennata ega SSH kaudu lĂ€himast WiFi-kohvikust parandada. Lahendate siis, kui see on mugavam.

Tulevik on juba siin!

Varem oli peamine probleem, mis tegi failoveri sageli vastuvĂ”etamatuks lahenduseks, kulude kogusummas. Kas tuli osta kallis riistvara (ja palgata veel kallimaid spetsialiste) vĂ”i tulla vĂ€lja keeruliste juhistega (mul on isegi olnud variant, kus kaks serverit ĂŒhendatakse null-modemi kaabli kaudu ja edastatakse selle kaudu heartbeat, et varuserver teaks Ă”igel ajal ĂŒle vĂ”tta). Praegu on olemas lihtsamad ja tasuta viisid. Kui teil on kasside veebisait – ei ole teil mingit Ă”igustust, kui te pole veel failoverit rakendanud!

Lisaks on failover scheemi jaoks vajalik veel server (vÔi vÔib-olla isegi mitu), mis varem oli suurte kuludega, praegu saab vÔtta VDS-i peaaegu tasuta.

KÔige usaldusvÀÀrsem kasside veebisait

Kasutamiseks praktilise nĂ€itena lahenduse koos okerr + dynamic dns'iga, kĂ€ivitasime oma kasside veebisaidi cat.okerr.com. Me ei talu kasse, seetĂ”ttu ei tule neid seal peaaegu olema. Kokku on kolm veebisaiti, kĂ”ik nĂ€evad vĂ€lja enam-vĂ€hem sarnased (kĂ”ik ĂŒhel ĆĄabloonil), kuid erinevate kassidega, et oleks lihtne eristada, ja igaĂŒks kirjutab tehnilist teavet, et nĂ€ha, kuidas failover töötab. Leht uuendatakse iga minuti tagant automaatselt, kuid alati on vĂ”imalik brauseris vajutada vĂ€rskenda.

Tehnilises teabes on rida "status=OK". MÔnikord simuleerivad serverid probleeme ja kirjutavad status=ERR. Peamine server "nagu kukub" iga tunni 20. minutil (0:20, 1:20, 2:20, ...). Varuserver 40. minutil. Viimane server ("sorry"-server) töötab alati. Iga tunni alguses "taastuvad" peamine ja varuserver.

Lihtne failover veebisaidi jaoks (monitooring + dĂŒnaamiline DNS)

Kui avate saidi ja jĂ€tate selle vahelehele – nĂ€ete, et see ei kuku kunagi (kuigi iga eraldi server simuleerib aeg-ajalt probleemi), ja serveri probleemi korral "jookseb" see lihtsalt vahel elavate serverite vahel. Pilt, nimi ja serveri aadress ning selle roll muutuvad. MĂ”nikord saab tabada hetke, kui status=ERR (probleem on juba olemas, kuid kogu failoveri skeem pole veel kĂ€ima lĂ€inud), kuid juba jĂ€rgmine vĂ€rskendus nĂ€itab teile lehte töökohalt.

Failover okerr + dynamic DNS-is

Vaatame, kuidas see kapoti all on korraldatud. Failoveri ĂŒlesanne on tagada, et aadress cat.okerr.com viitaks alati töötava serveri IP-aadressile.
Iga serveri taga, mis hoiab meie kodulehte okerr, on indikaator, mis kontrollib selle olekut ĂŒks kord minutis.

Lihtne failover veebisaidi jaoks (monitooring + dĂŒnaamiline DNS)

Selles ekraanipildis nĂ€eme, kuidas kontrollitakse kodulehte cat.okerr.com serverist alpha.okerr.com. LehekĂŒlg peaks sisaldama status=OK ja nagu nĂ€eme ĂŒlal, on meie indikaatori staatus hetkel OK. Kui server "rikkeb", on see ERR. (See on ainult ĂŒks indikaatori nĂ€ide, okerr on jĂ€lgimine, seega vĂ”ib siia lisada mis tahes tĂŒĂŒpi indikaatori, nĂ€iteks kontrollida vabade diskipaikade arvu, uute tellimuste arvu andmebaasis ja isegi loogilisi indikaatoreid, nĂ€iteks öösel vĂ”ivad olla teised veakriteeriumid kui pĂ€eval).

Projektis olekuteates oleme loonud failover skeemi nende indikaatoritega:

Lihtne failover veebisaidi jaoks (monitooring + dĂŒnaamiline DNS)

Skeemis on kolm indikaatorit (kolm serverit), erineva prioriteediga. Peamine server meie lehe jaoks on charlie, kui see ei tööta (ei ole "status=OK" vÔi on lihtsalt kÀtte saamatu), siis brava ja viimase abinÔuna - alpha. Lehe paremas osas kuvatakse DNS-kirje olek erinevates serverites.

Neile, kes mĂ€rkavad, et kasutatakse nime cat.he.okerr.com: Me kasutame veidi keerulisemat skeemi. Selle asemel, et lihtsalt muuta DNS-kirjet cat.okerr.com, muudame cat.he.okerr.com (dĂŒnaamilisel DNS pakkujal Hurricane Electric), ja cat.okerr.com on CNAME (alias), mis ei muutu, alati viitab cat.he.okerr.com-ile. Hurricane meeldib meile lihtsalt rohkem dĂŒnaamilise DNS-ina ja tal on vĂ”tmed, et hallata eraldi kirjet (mitte kogu tsooni), see tundub meile turvalisem. Samuti ei pea te okerris kogu domeeni haldamiseks parooli-kontosid mÀÀrama, vaid ainult alamdomeeni vĂ”i kirje jaoks.

Langemisest tÔusuni

Samm-sammult, kuidas see skeem töötab:

  1. Serveris juhtub (simuleeritakse) probleem
  2. Sensori okerr kontrollib iga serveri olekut kord minutis ja teatab peamisele serverile projektis okerr
  3. Vastava serveri indikaator muudab oleku OK-st ERR-iks
  4. Indikaatori staatuse muutmisel arvutatakse failover uuesti, et mÀÀrata, milline aadress tuleks seadistada (kui see on vajalik. NÀiteks kui peamine server töötab ja varu on sel ajal hÀvinenud - muutusi ei toimu)
  5. Seda aadressi edastatakse dĂŒnaamiliste dns-teenusele. Kui see etapp on lĂ”petatud, nĂ€ete paremal olekut "synced"
  6. Peagi (sekundite jooksul) jÔuab kirje teie domeeni DNS-serveritesse (kodulehe jaoks on need ns1-ns5.he.net).
  7. Alates sellest hetkest hakkavad mĂ”ned kasutajad juba minema uuele elavale serverile. Kuid kĂ”ik DNS-serverid maailmas pole veel kirjeid vĂ€rskendanud, ja kuskil vĂ”ib endiselt olla vahemĂ€lu vana kirje. Saate nĂ€ha, kuidas andmed avalikes DNS-serverites "tantsivad", nĂ€idates vahel uut, vahel vana vÀÀrtust. Kui uuendate failoveri seadete lehte, kĂŒsib okerr ise DNS-serveritest uusi andmeid.
  8. PĂ€rast seda, kui andmed on stabiliseerunud, on kĂ”ikjal vana vahemĂ€lus olev kirje aegunud — 100% pĂ€ringutest lĂ€heb uuele serverile.

Et 7. etappi (tihti — kĂ”ige pikem) kiirendada, tuleb dĂŒnaamilise DNS-i kirje TTL vĂ”imalikult madalale seada. Tavaliselt lubavad teenused 90-120 sekundi intervalle. See on tĂ€iesti mĂ”istlik kompromiss.

Lisaks

Seda kĂ”ike saab seadistada ĂŒhe Ă”htu jooksul (kui teil on juba dubleeriv server). N tanto okerr kui ka dĂŒnaamilise DNS-i teenused on tasuta. Et okerris rohkem kontrolle ja lĂŒhemaid kontrollperioode saada, peate lĂ€bima koolituse (oma profiili lehelt). PĂ€rast lĂ€bimist tĂ”useb tase kohe (20 indikaatorit tunnis + 1 kiire 10-minutiline). Kui neid on vĂ€he — kirjutage support@okerr.com, tĂ”enĂ€oliselt saab taset tĂ”sta (senine kogemus on nĂ€idanud, et see on alati olnud vĂ”imalik, mitte kunagi keeldutud, pigem on ise pakutud). Lihtsalt algselt ei taha ma kĂ”igile kĂ”ike lubada, ei ole kindel, et vĂ”ime piisavalt vĂ”imekust lubadust tĂ€ita. Kuid praegu on kasutajaid vĂ€he, nii et limiitide tĂ”stmisel ei ole probleeme.

Mida okerr ĂŒldse teeb — vaadake veebisaidilt esitlust. Üldiselt on see jĂ€lgimine (zabbix pilves), ja failover on kena lisafunktsioon. Samuti on veebisaidilt vĂ”imalik ilma registreerimiseta demole pÀÀseda.

Indikaatori oleku muutmisel saadetakse teade e-postile vĂ”i Telegrammi. (Me vaatasime siit, mis toimub, ja arvasime, et tundub, et telegram on kĂ”ige usaldusvÀÀrsem sĂ”numitooja. AitĂ€h RKN-ile stressitestide eest!) Õige okerri seadistamise korral on iga teade kas signaal "jĂ€tke kĂ”ik, tuleb parandada!" vĂ”i "kuna jĂ€lgi!". Okerrilt ei peaks olema liigseid alarme (kui need on olemas — tuleb seadeid kuidagi teisiti seadistada). NĂ€iteks meie kotosaidi server alpha on viimane ja ei simuleeri kunagi tĂ”rget. Kui see peaks kokku kukkuma — peame teadma. Kuid ĂŒlejÀÀnud serverid simuleerivad pidevalt tĂ”rkeid, seetĂ”ttu, et mitte saada alarme mitu korda tunnis, on nende indikaatorite staatus "vaikne".

On mÔttekas luua ka andmete taastamise server (igal odaval hostimisel), mis vÔib kas sisaldada teie vabanduste lehte (juhuks, kui kÔik peamised ja reservserverid on maas) vÔi suunata okerri staatusele (nÀiteks meie cp.okerr.com/status/okerr) vÔi statuspage.io.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster