Veeb-HighLoad — kuidas me haldame kĂŒmnete tuhandete domeenide liiklust

Legitiimne liiklus DDoS-Guardi vĂ”rgus on hiljuti ĂŒletanud saja gigabiti sekundis. Praegu genereerivad 50% kogu meie liiklusest klientide veebiteenused. Need on kĂŒmned tuhanded domeenid, vĂ€ga erinevad ja enamikul juhtudel nĂ”uavad individuaalset lĂ€henemist.

Allpool — kuidas me hallame eesnode ja vĂ€ljastame SSL-sertifikaadid sajale tuhandele veebisaidile.

Veeb-HighLoad — kuidas me haldame kĂŒmnete tuhandete domeenide liiklust

Eesnode seadmine ĂŒhe veebisaidi jaoks, isegi kui see on vĂ€ga suur, on lihtne. VĂ”tame nginx'i vĂ”i haproxy vĂ”i lighttpd, seadistame juhiste jĂ€rgi ja unustame. Kui on vaja midagi muuta - teeme reload'i ja jĂ€lle unustame.

KĂ”ik muutub, kui te töötlete suures mahus liiklust reaalajas, hindate pĂ€ringute legitiimsust, tihendate ja vahetate kasutajasisu, ja samas muudate parameetreid mitu korda sekundis. Kasutaja soovib nĂ€ha tulemusi kĂ”igil vĂ€liste nodede jooksul kohe pĂ€rast seda, kui ta on oma isiklikus kabinetis seadeid muutnud. Ja kasutaja vĂ”ib ka API kaudu ĂŒles laadida mitu tuhat (mĂ”nikord ka kĂŒmneid tuhandeid) domeene individuaalsete liikluse töötlemise parameetritega. See kĂ”ik peab ka kohe toimima nii Ameerikas, Euroopas kui ka Aasias - ĂŒlesanne pole sugugi triviaalne, arvestades, et ĂŒksi Moskvas on mitu fĂŒĂŒsiliselt, geograafiliselt eraldatud filtreerimise sĂ”lme.

Miks on ĂŒle kogu maailma nii palju suuri ja usaldusvÀÀrseid sĂ”lmi?

  • Kliendiliikluse teenindamise kvaliteet - USA-st tulevaid pĂ€ringuid tuleb töödelda just Ameerikas (ka rĂŒnnakute, andmete kaevandamise ja muude anomaaliate osas), mitte tuua neid Moskvasse vĂ”i Euroopasse, et ettearvamatu viivituse protsessi suurendada.
  • RĂŒndeliiklust tuleb lokaliseerida - ĂŒleminekute operaatorid vĂ”ivad rĂŒnnakute ajal kehvast töö kvaliteedist kannatada, mille mahud ĂŒletavad sageli 1Tbps. RĂŒndeliiklust transatlantiliste vĂ”i transaasia linkide kaudu transportida - ei ole parim idee. Meil on olnud reaalsed juhtumid, kus Tier-1 operaatorid ĂŒtlesid: 'RĂŒnnakute mahud, mida te vastu vĂ”tate, on meile ohtlikud'. Just seepĂ€rast aktsepteerime sisse tulevaid voogusid nii lĂ€hedal nende allikatele kui vĂ”imalik.
  • Ranged maintainability requirements are crucial — the clean centers should not depend on each other or the local events in our rapidly changing world. Power was cut to all 11 floors of MMT-9 for a week? — No problem. Not a single client not physically connected in this location will be affected, and web services will remain intact under any circumstances.

How to manage all of this?

Service configurations must propagate to all front nodes as quickly as possible (ideally instantly). You can't just rebuild text configs and restart daemons at every change — nginx holds terminating processes (worker shutting down) for several minutes (or even hours if there are lengthy websocket sessions).

When reloading nginx configuration, the following scenario is perfectly normal:

Veeb-HighLoad — kuidas me haldame kĂŒmnete tuhandete domeenide liiklust

Regarding memory utilization:

Veeb-HighLoad — kuidas me haldame kĂŒmnete tuhandete domeenide liiklust

Old workers consume memory, including memory not linearly dependent on the number of connections — this is normal. When client connections close, this memory will be freed.

Why wasn't this a problem when nginx first started evolving? There was neither HTTP/2, nor WebSocket, nor large numbers of long keep-alive connections. 70% of our web traffic is HTTP/2, which involves very long connections.

The solution is simple — do not use nginx, do not manage fronts based on text files, and definitely do not run zipped text configurations across transpacific channels. These channels are guaranteed and reserved, but that doesn’t make them any less transcontinental.

Meil on oma oma eesmine server-balanseer, mille sisust rÀÀgin jĂ€rgmistes artiklites. Peamine asi, mida ta oskab, on rakendada tuhandeid konfiguratsioonimuutusi sekundis reaalajas, ilma taaskĂ€ivituste, laadimiste vĂ”i jĂ€rskude mĂ€lu tarbimise tĂ”usudeta. See sarnaneb vĂ€ga Hot Code Reload'iga, nĂ€iteks Erlangis. Andmed salvestatakse geovÀÀrise key-value andmebaasi ja loetakse koheselt ette tĂ€itmismehhanismide poolt. St, te laadisite SSL-sertifikaadi lĂ€bi veebiliidese vĂ”i API Moskvas ja mĂ”ne sekundi pĂ€rast on see juba valmis töötamiseks meie puhastuspunktis Los Angeleses. Kui peaks juhtuma maailmasĂ”da ja internet kaoks ĂŒle kogu maailma, siis meie nodid jĂ€tkavad autonoomset töötamist ja parandavad split-brain'i, kui ĂŒks meie pĂŒhendatud kanalitest Los Angeles-Amsterdam-Moskva, Moskva-Amsterdam-Hongkong-Los Angeles vĂ”i vĂ€hemalt ĂŒks varuĂŒlekande GRE on jĂ€lle saadaval.

Sama mehhanism vĂ”imaldab meil koheselt vĂ€ljastada ja pikendada Let’s Encrypt sertifikaate. VĂ€ga lihtsustatult töötab see nii:

  1. Niipea, kui me nĂ€eme vĂ€hemalt ĂŒhte HTTPS-pĂ€ringut meie kliendi domeeni kohta ilma sertifikaadita (vĂ”i aegunud sertifikaadiga), teavitab pĂ€ringu vastu vĂ”tav vĂ€line node sisemist sertifitseerimiskeskust.

    Veeb-HighLoad — kuidas me haldame kĂŒmnete tuhandete domeenide liiklust

  2. Kui kasutaja ei ole keelanud Let’s Encrypt'i vĂ€ljastamist, genereerib sertifitseerimiskeskus CSR-i, saab LE-lt kinnitustokeni ja saadab selle kĂ”ikidele frontidele krĂŒpteeritud kanali kaudu. NĂŒĂŒd vĂ”ib iga node kinnitada LE-lt kehtivuskinnituspĂ€ringu.

    Veeb-HighLoad — kuidas me haldame kĂŒmnete tuhandete domeenide liiklust

  3. MÔne hetke pÀrast saame Ôige sertifikaadi ja privaatvÔtme ning saadame need samuti frontidele. Taaskord ilma demonite taaskÀivitamiseta.

    Veeb-HighLoad — kuidas me haldame kĂŒmnete tuhandete domeenide liiklust

  4. Seitsme pÀeva pÀrast kehtivuse lÔpptÀhtaega algatatakse sertifikaadi uuesti saamise protseduur.

Praegu rotatsioonime reaalajas 350 000 sertifikaati tÀiesti lÀbipaistvalt kasutajatele.

JĂ€rgmistes artiklite tsĂŒklites rÀÀgin muudest reaalajas töötlemise eripĂ€radest suure veebiliikluse osas — nĂ€iteks RTT analĂŒĂŒsist mittetĂ€ielike andmete pĂ”hjal, et parandada ĂŒleminek klientide teenuse kvaliteeti, ja ĂŒldiselt, transitiliikluse kaitset terabiti rĂŒnnakute eest, liikluse edastamisest ja kogumisest, WAF-ist, peaaegu piiritust CDN-ist ja paljusid sisu esitamise optimeerimise mehhanisme.

Ainult registreeritud kasutajad saavad kĂŒsitluses osaleda. Logige sisse, palun.

Millest sooviksite kÔigepealt teada?

  • 14,3%Klastri ja veebiliikluse kvaliteedi analĂŒĂŒs
  • 33,3%DDoS-Guard balansseerijate sisemus
  • 9,5%L3/L4 transiittĂ€ienduste kaitse
  • 0,0%Veebisaitide kaitse transiidiliikluse puhul
  • 14,3%Veebirakenduse tulemĂŒĂŒri kaitse
  • 28,6%Kaitse kraapimise ja klikkide eest

21 kasutajat hÀÀletas. 6 kasutajat ei hÀÀletanud.

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