CreateYourVPN Academy
Kurz: Ako to funguje

Monitoring serverov a mesh sieť

Ako CreateYourVPN sleduje zdravie serverov: vlastné kontroly, mesh sieť vzájomných kontrol medzi servermi a automatické skrývanie nedostupných serverov pred používateľmi.

Server vás môže sklamať v tej najnevhodnejšej chvíli: spadne služba, poskytovateľ reštartuje stroj — alebo, čo je ešte horšie, server je v krajine používateľa zablokovaný a prestane byť dostupný, aj keď technicky beží. Vaši používatelia by z toho nemali nič spozorovať. Táto lekcia rozoberá, ako CreateYourVPN dohliada na vaše servery a čo sa stane, keď má niektorý z nich problém.

Dve vrstvy kontrol

Systém sa na každý server pozerá z dvoch uhlov.

1. Server kontroluje sám seba

Každý server sa raz za pár minút hlási: či je nažive prijímač prevádzky na porte 443 a či beží VPN služba. S tým istým hlásením prichádzajú aj metriky z lekcie 3. Ak hlásenie povie „nie som v poriadku“, server dostane stav „Server nedostupný“. Ak hlásenia prestanú prichádzať úplne, stav sa zmení na „Žiadne dáta zo servera“ — stroj môže byť vypnutý alebo bez sieťového pripojenia.

2. Servery si navzájom „klopú“

Vlastné kontroly nedokážu odhaliť ten najzákernejší prípad: server je presvedčený, že je zdravý, no zvonku sa k nemu nedá dostať — napríklad mu bola zablokovaná IP adresa. Preto sú všetky vaše servery spojené do mesh siete vzájomných kontrol: každý server sa pravidelne pokúša dostať ku každému svojmu susedovi — presne tak, ako by to skúšala aplikácia používateľa.

Odtiaľ nastupuje „hlasovanie“:

  • Jedno neúspešné zaklopanie nič neznamená — sieť mohla len na chvíľu zablikať. Počítajú sa len dlhodobé série zlyhaní.
  • Server sa označí ako „Nedostupný z vašich serverov“ až vtedy, keď ho dôsledne nedokáže dosiahnuť niekoľko nezávislých serverov — názor jedného servera nie je verdikt.
  • Existuje aj ochrana proti „nespoľahlivému svedkovi“: ak nejaký server zrazu tvrdí, že nevidí polovicu svojich susedov, problém je pravdepodobne na jeho vlastnej strane — a jeho hlasy sa zahodia.

Presne táto schéma odhaľuje blokovania: ak je server zablokovaný v krajine, kde žijú vaše ostatné servery, susedia z tejto krajiny ho čoskoro prestanú dosahovať, vytvorí sa kvórum a systém server označí ako nedostupný. Servery v krajinách bez tohto blokovania ho medzitým naďalej vidia — a rozdiel v názoroch robí obraz jasným.

Keď kontrola spojenia medzi dvoma servermi neprechádza

Hlasovanie zachytí blokovanie, keď máte v krajine, ktorá prístup zavrela, niekoľko serverov. Častejšie tam však stojí presne jeden: prestane vidieť váš zahraničný server, kým zahraničné sa medzi sebou vidia bez problémov. Pre taký obraz sa kvórum nikdy nezíde.

Napriek tomu si to všimneme, ale poctivo hovoríme, čo nevieme. Z „A nevidí B" sa nedá odvodiť, čia adresa je blokovaná: je to jedno a to isté tvrdenie o ceste medzi nimi a zvonku oba prípady vyzerajú rovnako. Preto:

  • V predvolenom nastavení nikoho neobviňujeme. Ako „Nedostupný" označíme vstupné body tej strany, ku ktorej kontrola nedôjde, a oboch strán, ak neprejde ani jedným smerom. V dôvode sú uvedené oba servery (uvidíte ich, keď vstupný bod otvoríte v karte servera). Rozhodnúť, ktorý server vymeniť, musíte vy: zvyčajne je to ten, na ktorý sa nedovolajú vaši klienti.
  • Ani jeden z nich sa neskrýva. Skryť dvojicu by znamenalo vziať z predplatného aj úplne funkčný server. Klienti naďalej dostávajú vstupné body oboch serverov a vyvažovanie jednoducho uprednostní zdravé, ak ich trasa má.

Overujúci server

Aby ste namiesto „jeden z dvoch" dostávali presnú odpoveď, označte server, ktorého kontrole dôverujete: karta servera → „Použiť tento server na kontrolu blokovania ostatných".

Pravidlo je potom jednoduché: ak overujúci server prestane vidieť bežný server, adresu bežného servera považujeme za blokovanú, napíšeme vám s radou vymeniť IP a prestaneme jeho vstupné body vydávať klientom, kým má trasa alternatívy. Opačný prípad, keď bežný server nevidí overujúci, neznamená nič.

Najlepší overujúci server stojí v tej istej krajine ako vaši klienti: jeho pohľad je najbližšie tomu, čo vidí aplikácia používateľa. Označiť ich môžete viac. Ak však označíte všetky servery, smer opäť zmizne: neostal by nikto, kto by rozhodol, a dvojice sa vrátia k predvolenému správaniu. Počítajte s tým, že samotný overujúci server už týmto signálom označený nebude: súdime z jeho strany, takže neostáva nikto, kto by súdil jeho.

Čo sa stane s problémovým serverom

Stavy priamo vstupujú do vyrovnávania záťaže: servery so stavom „Server nedostupný“ a „Nedostupný z vašich serverov“ sa vyradia z rotácie — nové pripojenia sa naň neposielajú a v predplatnom používateľov ich miesto zaujmú zdravé servery z tých istých trás. Jedinou výnimkou je prerušená dvojica bez overujúceho servera: tam sa vstupné body označia, ale žiadny sa z ponuky nevyraďuje.

Zároveň je systém opatrný — je postavený na princípe „neškodiť“:

  • Trasa nikdy nezostane prázdna. Ak sa všetky servery na trase ukážu ako „zlé“, systém radšej ponúkne používateľom najlepšiu dostupnú možnosť než prázdny zoznam — inak by si aplikácie mohli myslieť, že servery zmizli, a vymazali by ich.
  • Ticho nie je verdikt. Stav „Žiadne dáta zo servera“ sám osebe server z rotácie nevyradí: bez čerstvých dát systém nerobí unáhlené kroky.

Všetko sa uzdravuje samo

Žiadny zo stavov nezostáva „prilepený“ navždy — stav sa vždy odvodzuje z čerstvých dát:

  • server znova pošle zdravé hlásenie → stav „Server nedostupný“ sa zruší;
  • susedia ho znova začnú dosahovať → séria zlyhaní sa vynuluje a označenie „Nedostupný z vašich serverov“ zmizne;
  • hlásenia sa obnovia → „Žiadne dáta zo servera“ zmizne.

Opravte server (alebo počkajte, kým bude odblokovaný) — a sám sa vráti do prevádzky. Žiadne ručné „znova zapnúť“.

Kde to vidieť v paneli

Otvorte kartu ktoréhokoľvek používateľa → jeho zoznam serverov: pri každom serveri je stavová bodka a keď niečo nie je v poriadku — popisok s dôvodom: „Server nedostupný“, „Nedostupný z vašich serverov“ (vrátane počtu vašich serverov, ktoré ho nevidia), alebo „Žiadne dáta zo servera“. Nepriame príznaky sa objavujú aj na kartách serverov: štítok „zastaralé“ pri metrikách a „Žiadne dáta — agent neodpovedá“.

Mesh kontroly sú mimoriadne šetrné: ide o drobné testovacie dotyky s prísnym denným limitom objemu — nemajú žiadny vplyv na prevádzku ani výkon vašich serverov.

Kľúčové poznatky

  • Dve vrstvy kontroly: server kontroluje sám seba a jeho mesh susedia ho kontrolujú zvonku.
  • Blokovania odhaľuje „hlasovanie“ niekoľkých serverov — žiadna panika kvôli jednorazovému výpadku.
  • Problémové servery vypadávajú z rotácie; používatelia nenápadne prechádzajú na zdravé.
  • Všetko sa uzdravuje samo: v okamihu, keď sa server vráti do života, sa sám znova zaradí.
  • Ak kontrola spojenia medzi dvojicou serverov neprechádza a overujúci server nie je nastavený, označíme vstupné body nedosiahnuteľnej strany (alebo oboch, ak neprejde ani jedným smerom) a žiadny z nich neskryjeme: rozhodnutie je na vás.

Nasleduje

Infraštruktúra sa vie sama opraviť, no jedna vec si zaslúži chrániť sa osobitne — vaša databáza používateľov.

On this page