Kif jaħdem Yandex.Cloud ma' Virtual Private Cloud u kif l-utenti tagħna jgħinuna nimplimentaw karatteristiċi utli

Hello, jien jisimni Kostya Kramlikh, jien l-iżviluppatur ewlieni tad-diviżjoni Virtual Private Cloud f'Yandex.Cloud. Qed nagħmel netwerking virtwali, u kif tista' taħsbu, f'dan l-artikolu ser nitkellem dwar l-apparat Virtual Private Cloud (VPC) b'mod ġenerali u n-netwerk virtwali b'mod partikolari. U se ssir taf ukoll għaliex aħna, l-iżviluppaturi tas-servizz, napprezzaw ir-rispons mill-utenti tagħna. Imma l-ewwel affarijiet l-ewwel.

Kif jaħdem Yandex.Cloud ma' Virtual Private Cloud u kif l-utenti tagħna jgħinuna nimplimentaw karatteristiċi utli

X'inhu VPC?

Illum il-ġurnata, hemm varjetà ta 'għażliet għall-iskjerament tas-servizzi. Jien ċert li xi ħadd għadu jżomm is-server taħt l-iskrivanija tal-amministratur, għalkemm nittama li jkun hemm inqas stejjer bħal dawn.

Issa s-servizzi qed jippruvaw imorru fis-sħab pubbliċi, u dan huwa fejn jaħbtu mal-VPCs. Il-VPC huwa parti minn cloud pubbliku li jorbot lill-utent, l-infrastruttura, il-pjattaforma u kapaċitajiet oħra flimkien, ikunu fejn ikunu, fil-Cloud tagħna jew barra minnu. Fl-istess ħin, VPC jippermettilek li ma tesponix dawn il-kapaċitajiet għall-Internet bla bżonn, jibqgħu fin-netwerk iżolat tiegħek.

Kif jidher netwerk virtwali minn barra?

Kif jaħdem Yandex.Cloud ma' Virtual Private Cloud u kif l-utenti tagħna jgħinuna nimplimentaw karatteristiċi utli

B'VPC, nifhmu primarjament netwerk overlay u servizzi ta' netwerk, bħal VPNaaS, NATaas, LBaas, eċċ. U dan kollu jaħdem fuq infrastruttura ta' netwerk li tollera l-ħsarat, li diġà ġiet artiklu mill-aqwa hawn, fuq Habré.

Ejja nagħtu ħarsa aktar mill-qrib lejn in-netwerk virtwali u l-apparat tiegħu.

Kif jaħdem Yandex.Cloud ma' Virtual Private Cloud u kif l-utenti tagħna jgħinuna nimplimentaw karatteristiċi utli

Ikkunsidra żewġ żoni disponibbiltà. Aħna nipprovdu netwerk virtwali - dak li sejjaħna VPC. Fil-fatt, jiddefinixxi l-ispazju ta 'uniċità tal-indirizzi "griżi" tiegħek. F'kull netwerk virtwali, għandek kontroll sħiħ fuq l-ispazju ta 'indirizzi li tista' tassenja għar-riżorsi tal-komputazzjoni.

In-netwerk huwa globali. Fl-istess ħin, huwa pproġettat fuq kull waħda miż-żoni ta 'disponibbiltà fil-forma ta' entità msejħa Subnet. Għal kull Subnet, inti tassenja CIDR ta' daqs 16 jew inqas. Jista' jkun hemm aktar minn entità waħda bħal din f'kull żona ta' disponibbiltà, u dejjem ikun hemm routing trasparenti bejniethom. Dan ifisser li r-riżorsi kollha tiegħek fi ħdan l-istess VPC jistgħu "jitkellmu" ma 'xulxin, anki jekk ikunu f'Żoni ta' Disponibbiltà differenti. "Ikkomunika" mingħajr aċċess għall-Internet, permezz tal-kanali interni tagħna, "taħseb" li huma fl-istess netwerk privat.

Id-dijagramma t'hawn fuq turi sitwazzjoni tipika: żewġ VPCs li jaqsmu x'imkien fl-indirizzi. It-tnejn jistgħu jkunu tiegħek. Per eżempju, wieħed għall-iżvilupp, l-ieħor għall-ittestjar. Jista 'jkun sempliċiment utenti differenti - f'dan il-każ ma jimpurtax. U magna virtwali waħda hija pplaggjata f'kull VPC.

Kif jaħdem Yandex.Cloud ma' Virtual Private Cloud u kif l-utenti tagħna jgħinuna nimplimentaw karatteristiċi utli

Ejja nagħmlu l-iskema agħar. Tista 'tagħmilha sabiex magna virtwali waħda tkun mwaħħla f'diversi Subnets f'daqqa. U mhux hekk biss, iżda f'netwerks virtwali differenti.

Kif jaħdem Yandex.Cloud ma' Virtual Private Cloud u kif l-utenti tagħna jgħinuna nimplimentaw karatteristiċi utli

Fl-istess ħin, jekk għandek bżonn tesponi magni għall-Internet, dan jista 'jsir permezz tal-API jew UI. Biex tagħmel dan, għandek bżonn tikkonfigura t-traduzzjoni NAT tal-"griż", l-indirizz intern tiegħek, għal "abjad" - pubbliku. Ma tistax tagħżel indirizz "abjad", huwa assenjat b'mod każwali mill-grupp ta 'indirizzi tagħna. Hekk kif tieqaf tuża l-IP esterna, hija rritornata fil-pool. Tħallas biss għall-ħin li tuża l-indirizz "abjad".

Kif jaħdem Yandex.Cloud ma' Virtual Private Cloud u kif l-utenti tagħna jgħinuna nimplimentaw karatteristiċi utli

Huwa wkoll possibbli li l-magna tingħata aċċess għall-Internet billi tuża istanza NAT. Tista 'rotta t-traffiku lejn istanza permezz ta' tabella ta 'routing statika. Aħna pprovdejna każ bħal dan, għaliex l-utenti kultant jeħtieġuh, u nafu dwaru. Għaldaqstant, il-katalgu tal-immaġni tagħna fih immaġni NAT kkonfigurata apposta.

Kif jaħdem Yandex.Cloud ma' Virtual Private Cloud u kif l-utenti tagħna jgħinuna nimplimentaw karatteristiċi utli

Iżda anke meta jkun hemm immaġni NAT lesta, is-setup jista 'jkun diffiċli. Aħna fhimna li għal xi utenti din mhix l-iktar għażla konvenjenti, għalhekk fl-aħħar għamilna possibbli li n-NAT għas-Subnet mixtieqa tiġi attivata fi klikk waħda. Din il-karatteristika għadha f'aċċess għal preview magħluq, fejn tiġi ttestjata bl-għajnuna tal-membri tal-komunità.

Kif in-netwerk virtwali huwa rranġat minn ġewwa

Kif jaħdem Yandex.Cloud ma' Virtual Private Cloud u kif l-utenti tagħna jgħinuna nimplimentaw karatteristiċi utli

Kif jinteraġixxi l-utent man-netwerk virtwali? Il-web tħares 'il barra bl-API tagħha. L-utent jasal għall-API u jaħdem mal-istat fil-mira. Permezz tal-API, l-utent jara kif kollox għandu jiġi rranġat u kkonfigurat, filwaqt li jara l-istatus, kemm l-istat attwali huwa differenti minn dak mixtieq. Din hija stampa tal-utent. X'qed jiġri ġewwa?

Aħna niktbu l-istat mixtieq lil Yandex Database u mmorru biex tikkonfigura partijiet differenti tal-VPC tagħna. In-netwerk ta 'overlay f'Yandex.Cloud huwa bbażat fuq komponenti magħżula ta' OpenContrail, li reċentement ġie msejjaħ Tungsten Fabric. Is-servizzi tan-netwerk huma implimentati fuq pjattaforma CloudGate waħda. F'CloudGate, użajna wkoll numru ta' komponenti ta' sors miftuħ: GoBGP - biex taċċessa l-informazzjoni tal-kontroll, kif ukoll VPP - biex timplimenta router tas-softwer li jaħdem fuq DPDK għall-mogħdija tad-dejta.

Tungsten Fabric jikkomunika ma 'CloudGate permezz ta' GoBGP. Jgħid x'inhu għaddej fin-netwerk overlay. CloudGate, min-naħa tiegħu, jgħaqqad netwerks overlay ma 'xulxin u ma' l-Internet.

Kif jaħdem Yandex.Cloud ma' Virtual Private Cloud u kif l-utenti tagħna jgħinuna nimplimentaw karatteristiċi utli

Issa ejja naraw kif netwerk virtwali jsolvi l-problemi tal-iskala u d-disponibbiltà. Ejja nikkunsidraw każ sempliċi. Hemm żona ta 'disponibbiltà waħda u żewġ VPCs huma maħluqa fiha. Aħna skjerati istanza waħda tat-Tungsten Fabric, u tiġbed diversi għexieren ta 'eluf ta' netwerks. In-netwerks jikkomunikaw ma' CloudGate. CloudGate, kif diġà għidna, jiżgura l-konnettività tagħhom ma 'xulxin u mal-Internet.

Kif jaħdem Yandex.Cloud ma' Virtual Private Cloud u kif l-utenti tagħna jgħinuna nimplimentaw karatteristiċi utli

Ejja ngħidu li tiżdied it-tieni żona ta' disponibbiltà. Għandu jfalli kompletament indipendentement mill-ewwel. Għalhekk, fit-tieni żona tad-disponibbiltà, irridu ninstallaw istanza separata tat-Tungsten Fabric. Din se tkun sistema separata li tittratta l-overlay u ftit li xejn taf dwar l-ewwel sistema. U l-viżibilità li n-netwerk virtwali tagħna huwa globali, fil-fatt, toħloq l-API VPC tagħna. Dan huwa l-kompitu tiegħu.

VPC1 jiġi mmappjat maż-Żona ta’ Disponibbiltà B jekk ikun hemm riżorsi fiż-Żona ta’ Disponibbiltà B li jiġu mbuttati lejn VPC1. Jekk ma jkun hemm l-ebda riżorsi minn VPC2 fiż-żona ta 'disponibbiltà B, aħna mhux se jimmaterjalizzaw VPC2 f'din iż-żona. Min-naħa tagħhom, peress li r-riżorsi minn VPC3 jeżistu biss fiż-żona B, VPC3 ma jeżistix fiż-żona A. Kollox huwa sempliċi u loġiku.

Ejja mmorru ftit aktar fil-fond u naraw kif jaħdem host partikolari f'Y.Cloud. Il-ħaġa prinċipali li nixtieq ninnota hija li l-ospiti kollha huma rranġati bl-istess mod. Nagħmluha sabiex il-minimu meħtieġ ta 'servizzi biss jaħdem fuq il-ħardwer, il-bqija kollu jaħdem fuq magni virtwali. Aħna nibnu servizzi ta 'ordni ogħla bbażati fuq servizzi bażiċi ta' infrastruttura, u nużaw ukoll il-Cloud biex insolvu xi problemi ta 'inġinerija, pereżempju, fil-qafas tal-Integrazzjoni Kontinwa.

Kif jaħdem Yandex.Cloud ma' Virtual Private Cloud u kif l-utenti tagħna jgħinuna nimplimentaw karatteristiċi utli

Jekk inħarsu lejn host speċifiku, nistgħu naraw li hemm tliet komponenti li jaħdmu fuq l-OS ospitanti:

  • Ikkalkula - il-parti responsabbli għad-distribuzzjoni tar-riżorsi tal-kompjuter fuq il-host.
  • VRouter hija parti mit-Tessili tat-Tungstenu li torganizza overlay, jiġifieri, tagħmel mini pakketti minn underlay.
  • VDisks huma biċċiet ta 'virtwalizzazzjoni tal-ħażna.

Barra minn hekk, is-servizzi huma mnedija f'magni virtwali: Servizzi ta 'infrastruttura tal-cloud, servizzi ta' pjattaforma u kapaċitajiet tal-klijenti. Il-kapaċitajiet tal-klijenti u s-servizzi tal-pjattaforma dejjem imorru għall-overlay permezz ta 'VRouter.

Is-servizzi tal-infrastruttura jistgħu jeħlu fis-superviżjoni, iżda bażikament iridu jaħdmu fil-qiegħ. Huma mwaħħla fil-qiegħ bl-għajnuna ta 'SR-IOV. Fil-fatt, aħna naqtgħu l-karta f'kards tan-netwerk virtwali (funzjonijiet virtwali) u nimbottawhom f'magni virtwali tal-infrastruttura sabiex ma nitilfux il-prestazzjoni. Pereżempju, l-istess CloudGate huwa mniedi bħala waħda minn dawn il-magni virtwali tal-infrastruttura.

Issa li ddeskrivejna l-kompiti globali tan-netwerk virtwali u l-istruttura tal-komponenti bażiċi tas-sħaba, ejja naraw kif eżattament il-partijiet differenti tan-netwerk virtwali jinteraġixxu ma 'xulxin.

Aħna niddistingwu tliet saffi fis-sistema tagħna:

  • Config Plane - jistabbilixxi l-istat fil-mira tas-sistema. Dan huwa dak li l-utent jikkonfigura permezz tal-API.
  • Control Plane - jipprovdi semantika definita mill-utent, jiġifieri, iġġib l-istat tal-Plane tad-Data għal dak li kien deskritt mill-utent f'Config Plane.
  • Data Plane - jipproċessa direttament il-pakketti tal-utent.

Kif jaħdem Yandex.Cloud ma' Virtual Private Cloud u kif l-utenti tagħna jgħinuna nimplimentaw karatteristiċi utli

Kif għedt hawn fuq, kollox jibda bil-fatt li l-utent jew is-servizz tal-pjattaforma interna jasal għall-API u jiddeskrivi ċertu stat fil-mira.

Dan l-istat jinkiteb immedjatament lil Yandex Database, jirritorna l-ID tal-operazzjoni asinkronika permezz tal-API, u jibda l-makkinarju intern tagħna biex jirritorna l-istat li ried l-utent. Il-kompiti tal-konfigurazzjoni jmorru għand il-kontrollur SDN u għid lil Tungsten Fabric x'għandek tagħmel fl-overlay. Pereżempju, jirriżervaw portijiet, netwerks virtwali, u affarijiet simili.

Kif jaħdem Yandex.Cloud ma' Virtual Private Cloud u kif l-utenti tagħna jgħinuna nimplimentaw karatteristiċi utli

Config Plane fit-Tungsten Fabric jibgħat l-istat meħtieġ lill-Pjan ta 'Kontroll. Permezz tagħha, Config Plane jikkomunika mal-ospiti, u jgħid x'se jkun eżattament iduru fuqhom dalwaqt.

Kif jaħdem Yandex.Cloud ma' Virtual Private Cloud u kif l-utenti tagħna jgħinuna nimplimentaw karatteristiċi utli

Issa ejja naraw kif is-sistema tidher fuq l-ospiti. Il-magna virtwali għandha adapter tan-netwerk imwaħħal f'VRouter. VRouter huwa modulu tal-qalba tat-Tessili tat-Tungstenu li jħares lejn il-pakketti. Jekk diġà hemm fluss għal xi pakkett, il-modulu jipproċessah. Jekk ma jkunx hemm fluss, il-modulu jagħmel l-hekk imsejjaħ punting, jiġifieri jibgħat pakkett lill-proċess usermod. Il-proċess janalizza l-pakkett u jew jirrispondi għalih innifsu, bħal DHCP u DNS, jew jgħid lil VRouter x'għandu jagħmel bih. Wara dan, VRouter jista 'jipproċessa l-pakkett.

Barra minn hekk, it-traffiku bejn magni virtwali fl-istess netwerk virtwali jmur b'mod trasparenti, mhuwiex dirett lejn CloudGate. L-ospiti li fuqhom huma skjerati l-magni virtwali jikkomunikaw direttament ma 'xulxin. Huma t-traffiku fil-mini u jgħadduh għal xulxin permezz tal-qiegħ.

Kif jaħdem Yandex.Cloud ma' Virtual Private Cloud u kif l-utenti tagħna jgħinuna nimplimentaw karatteristiċi utli

Ajruplani ta 'Kontroll jikkomunikaw ma' xulxin bejn iż-żoni ta 'disponibbiltà permezz ta' BGP, bħal ma 'router ieħor. Jgħidu liema magni huma up fejn sabiex il-VMs f'żona waħda jkunu jistgħu jikkomunikaw direttament ma 'VMs oħra.

Kif jaħdem Yandex.Cloud ma' Virtual Private Cloud u kif l-utenti tagħna jgħinuna nimplimentaw karatteristiċi utli

U Control Plane jikkomunika ma' CloudGate. Bl-istess mod, tirrapporta fejn u liema magni virtwali jitqajmu, liema indirizzi għandhom. Dan jippermettilek tidderieġi t-traffiku estern u t-traffiku minn balancers għalihom.

It-traffiku li jħalli l-VPC jasal għal CloudGate, għall-mogħdija tad-dejta, fejn il-VPP bil-plugins tagħna malajr jintmagħdu. Imbagħad it-traffiku jiġi sparat jew lejn VPCs oħra jew barra, lejn routers tal-fruntiera li huma kkonfigurati permezz tal-Pjan ta 'Kontroll ta' CloudGate innifsu.

Pjanijiet għall-futur qarib

Jekk niġbru fil-qosor dak kollu li ntqal hawn fuq fi ftit sentenzi, nistgħu ngħidu li VPC f'Yandex.Cloud issolvi żewġ kompiti importanti:

  • Jipprovdi iżolament bejn klijenti differenti.
  • Tgħaqqad riżorsi, infrastruttura, servizzi ta’ pjattaforma, sħab oħra u fuq il-post f’netwerk wieħed.

U sabiex issolvi dawn il-problemi sew, għandek bżonn tipprovdi skalabbiltà u tolleranza għall-ħsarat fil-livell tal-arkitettura interna, li tagħmel VPC.

Gradwalment VPC jakkwista funzjonijiet, nimplimentaw karatteristiċi ġodda, nippruvaw intejbu xi ħaġa f'termini ta 'konvenjenza tal-utent. Xi ideat jiġu espressi u jitilgħu fil-lista ta’ prijorità grazzi għall-membri tal-komunità tagħna.

Bħalissa għandna l-lista li ġejja ta’ pjanijiet għall-futur qarib:

  • VPN bħala servizz.
  • L-istanzi privati ​​tad-DNS huma immaġini biex jitwaqqfu malajr magni virtwali b'server DNS konfigurat minn qabel.
  • DNS bħala servizz.
  • Balanċjar tat-tagħbija interna.
  • Iż-żieda ta 'indirizz IP "abjad" mingħajr ma terġa' toħloq il-magna virtwali.

Il-balancer u l-abbiltà li jaqilbu l-indirizz IP għal magna virtwali diġà maħluqa kienu fuq din il-lista fuq talba tal-utenti. Biex inkun onest, mingħajr feedback espliċitu, konna nieħdu dawn il-funzjonijiet ftit aktar tard. U għalhekk diġà qed naħdmu fuq il-problema dwar l-indirizzi.

Inizjalment, indirizz IP "abjad" jista 'jiġi miżjud biss meta tinħoloq magna. Jekk l-utent nesa jagħmel dan, il-magna virtwali kellha tiġi maħluqa mill-ġdid. L-istess u, jekk meħtieġ, neħħi l-IP esterna. Dalwaqt se jkun possibbli li l-IP pubbliku jinxtegħel u jintfew mingħajr ma jkollok bżonn terġa' toħloq il-magna.

Ħossok liberu li tesprimi tiegħek ideat u suġġerimenti ta’ appoġġ utenti oħra. Int tgħinna nagħmlu l-Cloud aħjar u niksbu karatteristiċi importanti u utli aktar malajr!

Sors: www.habr.com

Żid kumment