Web HighLoad - kumaha urang ngatur lalu lintas pikeun puluhan rébu domain

Lalu lintas sah dina jaringan DDoS-Guard nembe ngaleuwihan saratus gigabit per detik. Ayeuna, 50% tina sadaya lalu lintas urang dihasilkeun ku jasa wéb klien. Ieu seueur puluhan rébu domain, béda pisan sareng dina kalolobaan kasus meryogikeun pendekatan individu.

Di handap ieu potongan kumaha urang ngatur titik hareup sareng ngaluarkeun sertipikat SSL pikeun ratusan rébu situs.

Web HighLoad - kumaha urang ngatur lalu lintas pikeun puluhan rébu domain

Nyetel payun pikeun hiji situs, bahkan anu ageung pisan, gampang. Kami nyandak nginx atanapi haproxy atanapi lighttpd, ngonpigurasikeunana dumasar kana pituduh sareng hilap ngeunaan éta. Lamun urang kudu ngarobah hiji hal, urang ngalakukeun ulang a jeung poho deui.

Sagalana robah mun anjeun ngolah volume badag lalulintas on laleur, evaluate legitimasi requests, niiskeun na cache eusi pamaké, sarta dina waktos anu sareng ngarobah parameter sababaraha kali per detik. Pangguna hoyong ningali hasil dina sadaya titik éksternal langsung saatos anjeunna ngarobih setélan dina akun pribadina. A pamaké ogé bisa ngundeur sababaraha sarébu (jeung kadang puluhan rébu) domain kalawan parameter processing lalulintas individu via API. Sadaya ieu ogé kedah dianggo langsung di Amérika, sarta di Éropa, sarta di Asia - tugas teu paling trivial, tempo yén di Moscow nyalira aya sababaraha titik filtration dipisahkeun fisik.

Naha aya seueur titik anu tiasa dipercaya di sakumna dunya?

  • Kualitas jasa pikeun lalu lintas klien - pamundut ti AS kedah diolah di AS (kalebet serangan, parsing sareng anomali sanésna), sareng henteu ditarik ka Moskow atanapi Éropa, sacara teu kaduga ningkatkeun telat ngolah.

  • Lalu lintas serangan kedah dilokalkeun - operator transit tiasa nguraikeun nalika serangan, volumena sering ngaleuwihan 1Tbps. Ngangkut lalu lintas serangan ngaliwatan tautan transatlantik atanapi transasian sanés ide anu saé. Kami ngagaduhan kasus nyata nalika operator Tier-1 nyarios: "Jumlah serangan anu anjeun tampa bahaya pikeun kami." Éta sababna kami nampi aliran anu asup sacaket-gancangna kana sumberna.

  • Syarat anu ketat pikeun kontinuitas palayanan - pusat beberesih henteu kedah gumantung kana silih atanapi dina acara lokal di dunya urang anu robih gancang. Naha anjeun pareum kakuatan ka sadaya 11 lantai MMTS-9 salami saminggu? - henteu masalah. Henteu aya klien tunggal anu henteu gaduh sambungan fisik di lokasi khusus ieu bakal sangsara, sareng jasa wéb moal sangsara dina kaayaan naon waé.

Kumaha carana ngatur sakabéh ieu?

Konfigurasi jasa kudu disebarkeun ka sadaya titik hareup gancang-gancang (ideally instan). Anjeun teu tiasa ngan ukur nyandak sareng ngawangun deui konfigurasi téks sareng reboot daemon dina unggal parobihan - nginx anu sami ngajaga prosés pareum (pagawe mareuman) sababaraha menit deui (atanapi sababaraha jam upami aya sesi websocket anu panjang).

Nalika ngamuat ulang konfigurasi nginx, gambar di handap ieu cukup normal:

Web HighLoad - kumaha urang ngatur lalu lintas pikeun puluhan rébu domain

Dina pamakéan memori:

Web HighLoad - kumaha urang ngatur lalu lintas pikeun puluhan rébu domain

Pagawe heubeul ngahakan mémori, kaasup mémori anu henteu linier gumantung kana jumlah sambungan - ieu téh normal. Nalika sambungan klien ditutup, mémori ieu bakal dibébaskeun.

Naha ieu sanés masalah nalika nginx nembé ngamimitian? Henteu aya HTTP / 2, henteu aya WebSocket, henteu aya sambungan anu tetep-hirup anu panjang. 70% tina lalu lintas wéb kami nyaéta HTTP / 2, anu hartosna sambungan anu panjang pisan.

Solusina saderhana - ulah nganggo nginx, ulah ngatur payun dumasar kana file téks, sareng pastina henteu ngirim konfigurasi téks zipped dina saluran transpacific. Saluranna, tangtosna, dijamin sareng ditangtayungan, tapi éta henteu ngajantenkeun aranjeunna kirang transcontinental.

Urang boga hareup server-balancer urang sorangan, internal nu kuring bakal ngobrol ngeunaan dina artikel di handap ieu. Hal utama anu tiasa dilakukeun nyaéta nerapkeun rébuan parobahan konfigurasi per detik dina laleur, tanpa restart, reloads, paningkatan ngadadak dina konsumsi mémori, sareng anu sanésna. Ieu pisan sarupa Hot Code Reload, contona dina Erlang. Data disimpen dina basis data konci-nilai anu disebarkeun geo sareng langsung dibaca ku aktuator hareup. Jelema. Anjeun unggah sertipikat SSL ngaliwatan panganteur web atawa API di Moscow, sarta dina sababaraha detik geus siap pikeun buka puseur beberesih kami di Los Angeles. Upami perang dunya ujug-ujug kajantenan sareng Internét ngaleungit di sakumna dunya, titik-titik urang bakal terus dianggo sacara mandiri sareng ngalereskeun otak pamisah pas salah sahiji saluran khusus Los Angeles-Amsterdam-Moscow, Moscow-Amsterdam-Hong Kong- Los-Los janten sadia. Angeles atawa sahanteuna salah sahiji overlays cadangan GRE.

Mékanisme anu sami ieu ngamungkinkeun urang langsung ngaluarkeun sareng nga-renew sertipikat Hayu Encrypt. Saderhana pisan tiasa dianggo sapertos kieu:

  1. Pas urang ningali sahenteuna hiji pamundut HTTPS pikeun domain klien kami tanpa sertipikat (atanapi kalayan sertipikat kadaluwarsa), titik éksternal anu nampi pamundut ngalaporkeun ieu ka otoritas sertifikasi internal.

    Web HighLoad - kumaha urang ngatur lalu lintas pikeun puluhan rébu domain

  2. Upami pangguna henteu ngalarang penerbitan Hayu Encrypt, otoritas sertifikasi ngahasilkeun CSR, nampi token konfirmasi ti LE sareng ngirimkeunana ka sadaya payuneun saluran énkripsi. Ayeuna titik naon waé tiasa ngonfirmasi pamundut validasi ti LE.

    Web HighLoad - kumaha urang ngatur lalu lintas pikeun puluhan rébu domain

  3. Dina sababaraha waktos, kami bakal nampi sertipikat anu leres sareng konci pribadi sareng ngirimkeunana ka payun dina cara anu sami. Sakali deui, tanpa ngamimitian deui daemon

    Web HighLoad - kumaha urang ngatur lalu lintas pikeun puluhan rébu domain

  4. 7 dinten sateuacan tanggal béakna, prosedur pikeun nampi deui sertipikat dimimitian

Ayeuna kami muterkeun sertipikat 350k sacara real waktos, lengkep transparan pikeun pangguna.

Dina artikel séri di handap ieu, kuring bakal ngobrol ngeunaan fitur-fitur séjén pikeun ngolah lalu lintas wéb sacara real-time - contona, ngeunaan nganalisa RTT nganggo data anu teu lengkep pikeun ningkatkeun kualitas layanan pikeun klien transit sareng sacara umum ngeunaan ngajagaan lalu lintas transit tina serangan terabit, ngeunaan pangiriman jeung aggregation inpormasi lalulintas, ngeunaan WAF, CDN ampir taya sarta loba mékanisme pikeun optimizing pangiriman eusi.

Ngan pamaké nu kadaptar bisa ilubiung dina survey. Daptar, Punten.

Naon anu anjeun hoyong terang heula?

  • 14,3%Algoritma pikeun klaster sareng nganalisa kualitas lalu lintas wéb<3

  • 33,3%Internals of DDoS-Guard7 balancers

  • 9,5%Perlindungan transit L3 / lalulintas L4

  • 0,0%Ngajagi situs wéb dina lalu lintas transit0

  • 14,3%Firewall Aplikasi wéb3

  • 28,6%Perlindungan ngalawan parsing sareng ngaklik6

21 pamaké milih. 6 pamaké abstained.

sumber: www.habr.com

Tambahkeun komentar