Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

D'Skala vum Amazon Web Services Netzwierk ass 69 Zonen ronderëm d'Welt an 22 Regiounen: USA, Europa, Asien, Afrika an Australien. All Zone enthält bis zu 8 Rechenzentren - Data Processing Centers. All Datenzenter huet Dausende oder Honnertdausende vu Serveren. D'Netz ass esou entworf datt all onwahrscheinlech Ausbroch Szenarie berücksichtegt ginn. Zum Beispill sinn all Regioune vuneneen isoléiert, an Accessibilitéitszonen sinn iwwer Distanzen vun e puer Kilometer getrennt. Och wann Dir de Kabel ofgeschnidden hutt, wiesselt de System op Backupkanäl, an de Verloscht vun Informatioun wäert op e puer Datepäckchen ausgoen. De Vasily Pantyukhin wäert schwätzen iwwer wéi eng aner Prinzipien d'Netzwierk opgebaut ass a wéi et strukturéiert ass.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

Vasily Pantyukhin ugefaang als Unix Administrateur an .ru Firmen, huet op grousser Sun Microsystem Hardware fir 6 Joer geschafft, an eng datenzentresch Welt bei EMC fir 11 Joer gepriedegt. Et huet sech natiirlech zu privaten Wolleken entwéckelt, duerno op ëffentlech geplënnert. Elo, als Amazon Web Services Architekt, bitt hien technesch Berodung fir ze hëllefen an der AWS Cloud ze liewen an z'entwéckelen.

Am viregten Deel vun der AWS Trilogie huet de Vasily sech an den Design vu physikalesche Serveren an der Datebankskaléierung verdéift. Nitro Kaarten, personaliséiert KVM-baséiert Hypervisor, Amazon Aurora Datebank - iwwer all dat am Material "Wéi AWS seng elastesch Servicer kacht. Skaléieren Server an Datebank" Liest fir Kontext oder kuckt videoband Rieden.

Dësen Deel konzentréiert sech op Netzwierkskaléierung, ee vun de komplexste Systemer an AWS. D'Evolutioun vun engem flaache Netz op eng Virtual Private Cloud a säin Design, intern Servicer vu Blackfoot an HyperPlane, de Problem vun engem lauter Noper, an um Enn - d'Skala vum Netz, Réckgrat a kierperlech Kabelen. Iwwer all dat ënner dem Schnëtt.

Verzichterklärung: alles hei drënner ass dem Vasily seng perséinlech Meenung a kann net mat der Positioun vun Amazon Web Services zesummefalen.

Netzwierk Skala

D'AWS Cloud gouf 2006 gestart. Säin Netz war zimlech primitiv - mat enger flaacher Struktur. D'Gamme vu privaten Adressen war gemeinsam fir all Wollek Locataire. Wann Dir eng nei virtuell Maschinn start, hutt Dir zoufälleg eng verfügbar IP Adress aus dësem Beräich kritt.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

Dës Approche war einfach ze implementéieren, awer grondsätzlech d'Benotzung vun der Wollek limitéiert. Besonnesch war et zimmlech schwéier Hybridléisungen z'entwéckelen déi privat Netzwierker um Terrain an an AWS kombinéiert hunn. De heefegste Problem war iwwerlappend IP Adressbereich.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

Virtuell Privat Cloud

D'Wollek huet sech gefuerdert. D'Zäit ass komm fir iwwer Skalierbarkeet an d'Méiglechkeet vu senger Notzung vun zéngdausende Millioune Locataire ze denken. De flaach Netzwierk ass e grousst Hindernis ginn. Dofir hu mir geduecht wéi d'Benotzer vuneneen um Netzniveau isoléiere kënnen, fir datt se onofhängeg IP-Beräicher auswielen.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

Wat ass dat éischt wat Dir am Kapp kënnt wann Dir un Netzwierkisolatioun denkt? Bestëmmt VLANs и VRF - Virtuell Routing a Forwarding.

Leider huet et net geklappt. VLAN ID ass nëmmen 12 Bits, wat eis nëmmen 4096 isoléiert Segmenter gëtt. Och déi gréisste Schalter kënne maximal 1-2 Tausend VRFs benotzen. VRF a VLAN zesummen ze benotzen gëtt eis nëmmen e puer Millioune Subnets. Dëst ass definitiv net genuch fir zéngdausende vu Millioune Locataire, déi jidderee muss fäeg sinn verschidde Subnetz ze benotzen.

Mir kënnen och einfach net leeschten déi néideg Zuel vu grousse Këschte ze kafen, zum Beispill vu Cisco oder Juniper. Et ginn zwee Grënn: et ass verréckt deier, a mir wëllen net un der Barmhäerzegkeet vun hirer Entwécklung a Patch Politik sinn.

Et gëtt nëmmen eng Conclusioun - maacht Är eege Léisung.

2009 hu mir ugekënnegt VPC - Virtuell Privat Cloud. Den Numm ass festgehalen an elo benotzen vill Cloud Provider et och.

VPC ass e virtuellt Netzwierk SDN (Software Definéiert Netzwierk). Mir hu beschloss keng speziell Protokoller um Niveau L2 an L3 ze erfannen. D'Netz leeft op Standard Ethernet an IP. Fir d'Transmissioun iwwer d'Netzwierk gëtt de virtuelle Maschinnverkéier an eisem eegene Protokollwrapper verschlësselt. Et weist d'ID un, déi zum VPC vum Locataire gehéiert.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

Kléngt einfach. Wéi och ëmmer, et ginn e puer sérieux technesch Erausfuerderungen déi iwwerwonne musse ginn. Zum Beispill, wou a wéi Donnéeën op Kartéierung virtuell MAC / IP Adressen, VPC ID an entspriechend kierperlech MAC / IP. Op AWS-Skala ass dëst e riesegen Dësch dee mat minimalen Zougangsverzögerungen soll funktionnéieren. Verantwortlech dofir Mapping Service, déi an enger dënnter Schicht am ganze Netz verbreet ass.

An nei Generatioun Maschinnen gëtt d'Verkapselung duerch Nitro Kaarten um Hardwareniveau gemaach. An eelere Fäll sinn d'Verkapselung an d'Dekapsulatioun Software-baséiert. 

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

Loosst eis erausfannen wéi et allgemeng funktionnéiert. Loosst eis mam L2 Niveau ufänken. Loosst eis unhuelen datt mir eng virtuell Maschinn mat IP 10.0.0.2 op engem kierperleche Server 192.168.0.3 hunn. Et schéckt Daten op virtuell Maschinn 10.0.0.3, déi op 192.168.1.4 lieft. Eng ARP Ufro gëtt generéiert an op d'Netz Nitro Kaart geschéckt. Fir Simplicitéit, mir huelen un datt béid virtuell Maschinnen am selwechten "bloen" VPC liewen.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

D'Kaart ersetzt d'Quelladress mat senger eegener a schéckt den ARP Frame un de Mapping Service.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

De Mapping Service gëtt Informatioun zréck, déi néideg ass fir d'Transmissioun iwwer de L2 kierperlecht Netzwierk.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

D'Nitro-Kaart an der ARP-Äntwert ersetzt den MAC am kierperlechen Netzwierk mat enger Adress am VPC.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

Wann Dir Daten transferéiert, wéckele mir logesch MAC an IP an engem VPC-Wrapper. Mir iwwerdroen all dëst iwwer de kierperlecht Netzwierk mat der entspriechender Quell an Destinatioun IP Nitro Kaarten.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

Déi kierperlech Maschinn, op déi de Package bestëmmt ass, mécht de Scheck. Dëst ass néideg fir d'Méiglechkeet vun Adress spoofing ze verhënneren. D'Maschinn schéckt eng speziell Ufro un d'Mapping Service a freet: "Vun der kierperlecher Maschinn 192.168.0.3 krut ech e Paket, dee fir 10.0.0.3 am bloe VPC geduecht ass. Ass hien legitim? 

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

De Mappingservice kontrolléiert seng Ressourceallokatiounstabell an erlaabt oder refuséiert de Paket duerchzegoen. An all neie Fäll ass zousätzlech Validatioun an Nitro Kaarten agebonnen. Et ass onméiglech et och theoretesch ze ëmgoen. Dofir, spoofing zu Ressourcen an engem aneren VPC wäert net schaffen.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

Als nächst ginn d'Donnéeën op déi virtuell Maschinn geschéckt fir déi se geduecht sinn. 

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

De Mapping Service funktionnéiert och als logesche Router fir Daten tëscht virtuelle Maschinnen a verschiddene Subnets ze transferéieren. Alles ass konzeptuell einfach, ech ginn net an den Detail.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

Et stellt sech eraus datt wann Dir all Paket iwwerdroen, d'Serveren op de Mappingservice wenden. Wéi mat inévitabel Verspéidungen ze këmmeren? Caching, natierlech.

D'Schéinheet ass datt Dir de ganzen riesegen Dësch net braucht ze cache. E kierperleche Server héiert virtuelle Maschinnen aus enger relativ klenger Zuel vu VPCs. Dir braucht nëmmen Informatiounen iwwer dës VPCs ze cache. Daten an aner VPCs an der "Standard" Konfiguratioun ze transferéieren ass nach ëmmer net legitim. Wann Funktionalitéit wéi VPC-Peering benotzt gëtt, da gëtt Informatioun iwwer déi entspriechend VPCs zousätzlech an de Cache gelueden. 

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

Mir hunn den Transfert vun Donnéeën op de VPC zortéiert.

Schwaarze Fouss

Wat maache wann de Verkéier dobausse muss iwwerdroe ginn, zum Beispill op den Internet oder iwwer VPN op de Buedem? Hëlleft eis hei eraus Schwaarze Fouss - AWS intern Service. Et gëtt vun eisem südafrikanesche Team entwéckelt. Dofir ass de Service no engem Pinguin benannt deen a Südafrika lieft.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

Blackfoot decapsulates Traffic a mécht wat néideg ass mat et. Daten ginn op den Internet geschéckt wéi se sinn.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

D'Donnéeën ginn dekapsuléiert an nei an IPsec gewéckelt wann Dir e VPN benotzt.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

Wann Dir Direct Connect benotzt, gëtt de Verkéier markéiert an op de passende VLAN geschéckt.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

HyperPlane

Dëst ass en internen Flow Kontroll Service. Vill Netzwierkservicer erfuerderen Iwwerwaachung daten Flux Staaten. Zum Beispill, wann Dir NAT benotzt, muss d'Flowkontroll suergen datt all IP: Destinatiounsportpaar en eenzegaartegen Ausgangshafen huet. Am Fall vun engem Balancer NLB - Network Load Balancer, Den Datefloss soll ëmmer op déiselwecht Zilvirtuell Maschinn geleet ginn. Sécherheetsgruppen ass eng statesch Firewall. Et iwwerwaacht den erakommende Traffic an mécht implizit Ports op fir erausginn Paketfloss.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

An der AWS Cloud sinn d'Transmissiounslatenzfuerderunge extrem héich. Dat ass wouvir HyperPlane kritesch fir d'Leeschtung vum ganzen Netz.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

Hyperplane ass op EC2 virtuelle Maschinnen gebaut. Et gëtt keng Magie hei, nëmmen lëschteg. Den Trick ass datt dës virtuell Maschinnen mat grousse RAM sinn. Operatiounen sinn transaktiounsfäeg an exklusiv an der Erënnerung duerchgefouert. Dëst erlaabt Iech Verspéidungen vun nëmmen Zénger vu Mikrosekonnen z'erreechen. Mat der Scheif ze schaffen géif all Produktivitéit ëmbréngen. 

Hyperplane ass e verdeelt System vun enger grousser Zuel vun esou EC2 Maschinnen. All virtuell Maschinn huet eng bandwidth pa 5 GB / s. Iwwer de ganze regionalen Netzwierk bitt dëst onheemlech Terabits vu Bandbreedung an erlaabt d'Veraarbechtung Millioune Verbindungen pro Sekonn.

HyperPlane funktionnéiert nëmme mat Streamen. VPC Packet Encapsulation ass komplett transparent dofir. Eng potenziell Schwachstelle an dësem internen Service géif nach ëmmer verhënneren datt d'VPC Isolatioun gebrach gëtt. D'Niveauen hei drënner si verantwortlech fir d'Sécherheet.

Kaméidi Noper

Et gëtt nach ëmmer e Problem Kaméidi Noper - Kaméidi Noper. Loosst eis unhuelen datt mir 8 Wirbelen hunn. Dës Node veraarbecht d'Flows vun all Cloud Benotzer. Alles schéngt gutt ze sinn an d'Laascht soll gläichméisseg iwwer all Noden verdeelt ginn. Node si ganz mächteg an et ass schwéier se ze iwwerlaascht.

Awer mir bauen eis Architektur baséiert op souguer onwahrscheinlech Szenarien. 

Niddereg Wahrscheinlechkeet heescht net onméiglech.

Mir kënnen eis eng Situatioun virstellen, an där een oder méi Benotzer ze vill Laascht generéieren. All HyperPlane Node sinn an der Veraarbechtung vun dëser Belaaschtung involvéiert an aner Benotzer kéinte potenziell eng Aart Performance Hit erliewen. Dëst brécht d'Konzept vun der Wollek, an där Mieter keng Fäegkeet hunn sech géigesäiteg ze beaflossen.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

Wéi de Problem vun engem Kaméidi Noper ze léisen? Déi éischt Saach, déi am Kapp kommt, ass d'Sharding. Eis 8 Wirbelen sinn logesch a 4 Stécker vun all 2 Wirbelen opgedeelt. Elo wäert e Kaméidi Noper nëmmen e Véierel vun alle Benotzer stéieren, awer et wäert se immens stéieren.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

Loosst eis d'Saachen anescht maachen. Mir allokéieren nëmmen 3 Noden fir all Benotzer. 

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

Den Trick ass zoufälleg Node fir verschidde Benotzer ze ginn. Am Bild hei drënner schneit de bloe Benotzer Noden mat engem vun deenen aneren zwee Benotzer - gréng an orange.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

Mat 8 Wirbelen an 3 Benotzer ass d'Wahrscheinlechkeet datt e lauter Noper mat engem vun de Benotzer kräizt 54%. Et ass mat dëser Wahrscheinlechkeet datt e bloe Benotzer aner Locataire beaflosst. Zur selwechter Zäit nëmmen en Deel vu senger Laascht. An eisem Beispill wäert dësen Afloss op d'mannst iergendwéi net fir jiddereen bemierkenswäert sinn, awer nëmmen en Drëttel vun alle Benotzer. Dat ass schonn e gutt Resultat.

Zuel vun de Benotzer déi wäert Kräizung

Wahrscheinlechkeet an Prozent

0

18%

1

54%

2

26%

3

2%

Loosst eis d'Situatioun méi no un d'Realitéit bréngen - loosst eis 100 Wirbelen a 5 Benotzer op 5 Wirbelen huelen. An dësem Fall wäert keng vun de Wirbelen mat enger Wahrscheinlechkeet vu 77% kräizen. 

Zuel vun de Benotzer déi wäert Kräizung

Wahrscheinlechkeet an Prozent

0

77%

1

21%

2

1,8%

3

0,06%

4

0,0006%

5

0,00000013%

An enger realer Situatioun, mat enger grousser Zuel vun HyperPlane Noden a Benotzer, ass de potenziellen Impakt vun engem lauter Noper op aner Benotzer minimal. Dës Method gëtt genannt vermëschen sharding - shuffle sharding. Et miniméiert den negativen Effekt vum Node Echec.

Vill Servicer ginn op Basis vun HyperPlane gebaut: Network Load Balancer, NAT Gateway, Amazon EFS, AWS PrivateLink, AWS Transit Gateway.

Netzwierk Skala

Loosst eis elo iwwer d'Skala vum Netz selwer schwätzen. Fir Oktober 2019 bitt AWS seng Servicer an 22 Regiounen, an 9 weider sinn geplangt.

  • All Regioun enthält verschidde Disponibilitéitszonen. Et gi 69 vun hinnen ronderëm d'Welt.
  • All AZ besteet aus Datenveraarbechtungszentren. Et sinn net méi wéi 8 vun hinnen am Ganzen.
  • Den Datenzenter huet eng riesech Unzuel u Serveren, e puer mat bis zu 300.

Loosst eis dat alles duerchschnëttlech, multiplizéieren a kréien eng beandrockend Figur déi reflektéiert Amazon Cloud Skala.

Et gi vill optesch Linken tëscht Disponibilitéitszonen an dem Rechenzentrum. An enger vun eise gréisste Regiounen sinn 388 Channels geluecht just fir AZ Kommunikatioun tëscht all aner a Kommunikatioun Zentren mat anere Regiounen (Transit Zentren). Am Ganzen gëtt dat verréckt 5000 Tbit.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

Backbone AWS ass speziell fir d'Wollek gebaut an optimiséiert. Mir bauen et op de Kanäl 100 GB / s. Mir kontrolléieren se komplett, mat Ausnam vu Regiounen a China. Den Traffic gëtt net mat de Lasten vun anere Firmen gedeelt.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

Natierlech si mir net deen eenzegen Cloud Provider mat engem private Backbone Netzwierk. Ëmmer méi grouss Entreprisen befollegen dëse Wee. Dëst gëtt vun onofhängege Fuerscher bestätegt, zum Beispill aus Telegeographie.

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

D'Grafik weist datt den Undeel vun Inhaltsanbieter a Cloud Provider wiisst. Dowéinst geet den Undeel vum Internetverkéier vun de Backbone Ubidder dauernd erof.

Ech erkläre firwat dat geschitt. Virdrun waren déi meescht Webservicer zougänglech an direkt vum Internet verbraucht. Hautdesdaags sinn ëmmer méi Serveren an der Wollek lokaliséiert a sinn iwwer zougänglech CDN - Inhalt Distribution Network. Fir Zougang zu enger Ressource ze kréien, geet de Benotzer duerch den Internet nëmmen op déi nootste CDN PoP - Punkt vun Präsenz. Meeschtens ass et iergendwou an der Géigend. Da verléisst et den ëffentlechen Internet a flitt duerch e private Réckgrat iwwer den Atlantik, zum Beispill, a kënnt direkt op d'Ressource.

Ech froe mech wéi den Internet an 10 Joer wäert änneren wann dësen Trend weider geet?

Kierperlech Channels

D'Wëssenschaftler hunn nach net erausfonnt wéi d'Liichtgeschwindegkeet am Universum erhéicht gëtt, awer si hu grouss Fortschrëtter gemaach a Methoden fir et duerch optesch Faser ze vermëttelen. Mir benotzen am Moment 6912 Glasfaserkabelen. Dëst hëlleft d'Käschte vun hirer Installatioun wesentlech ze optimiséieren.

A verschiddene Regioune musse mir speziell Kabelen benotzen. Zum Beispill, an der Sydney Regioun benotze mir Kabelen mat enger spezieller Beschichtung géint Termiten. 

Wéi AWS seng elastesch Servicer kacht. Netzwierk Skala

Keen ass immun vu Probleemer an heiansdo ginn eis Kanäl beschiedegt. D'Foto riets weist optesch Kabelen an enger vun den amerikanesche Regiounen, déi vu Bauaarbechter zerrass goufen. Als Resultat vum Accident sinn nëmmen 13 Datepäck verluer, wat iwwerraschend ass. Nach eng Kéier - nëmmen 13! De System ass wuertwiertlech direkt op Backupkanäl gewiesselt - d'Skala funktionnéiert.

Mir hunn duerch e puer vun Amazon's Cloud Servicer an Technologien galopéiert. Ech hoffen, datt Dir op d'mannst eng Iddi hutt iwwer d'Skala vun den Aufgaben, déi eis Ingenieuren mussen léisen. Ech perséinlech fannen dat ganz spannend. 

Dëst ass de leschten Deel vun der Trilogie vum Vasily Pantyukhin iwwer den AWS Apparat. IN éischt Deeler beschreiwen Server Optimisatioun an Datebank Skala, an an déi zweet - Serverlos Funktiounen a Firecracker.

op HighLoad++ am November Vasily Pantyukhin wäert nei Detailer vun der Amazon Apparat deelen. Hien soen iwwer d'Ursaache vu Feeler an den Design vun verdeelt Systemer bei Amazon. De 24. Oktober ass nach méiglech ze buchen Ticket zu engem gudde Präis, a bezuelen spéider. Mir waarden op Iech bei HighLoad++, kommt a loosst eis chatten!

Source: will.com

Setzt e Commentaire