Hvernig Yandex.Cloud virkar með Virtual Private Cloud og hvernig notendur okkar hjálpa okkur að innleiða gagnlega eiginleika

Halló, ég heiti Kostya Kramlich, ég er leiðandi þróunaraðili Virtual Private Cloud deildarinnar hjá Yandex.Cloud. Ég er að vinna á sýndarneti og, eins og þú gætir giska á, í þessari grein mun ég tala um Virtual Private Cloud (VPC) tækið almennt og sýndarnetið sérstaklega. Og þú munt líka komast að því hvers vegna við, þjónustuframleiðendur, metum endurgjöf frá notendum okkar. En fyrst og fremst.

Hvernig Yandex.Cloud virkar með Virtual Private Cloud og hvernig notendur okkar hjálpa okkur að innleiða gagnlega eiginleika

Hvað er VPC?

Nú á dögum eru margvíslegir möguleikar til að dreifa þjónustu. Ég er viss um að einhver geymir ennþá netþjón undir stjórnandaborðinu, þó ég vona að slíkar sögur fari að verða sjaldgæfari og sjaldgæfari.

Nú eru þjónusta að reyna að færa sig yfir í almenningsský og það er þar sem þeir lenda í VPC. VPC er hluti af almenningsskýinu sem tengir notendur, innviði, vettvang og aðra getu saman, hvar sem þeir eru, í skýinu okkar eða víðar. Á sama tíma gerir VPC þér kleift að forðast að afhjúpa þessa getu fyrir internetinu að óþörfu; þau eru áfram innan einangraða netsins þíns.

Hvernig sýndarnet lítur út að utan

Hvernig Yandex.Cloud virkar með Virtual Private Cloud og hvernig notendur okkar hjálpa okkur að innleiða gagnlega eiginleika

Með VPC er fyrst og fremst átt við yfirlagsnet og netþjónustu, svo sem VPNaaS, NATaas, LBaas, o.s.frv. Og allt þetta virkar ofan á bilanaþolið netkerfi, sem þegar hefur verið rætt um. frábær grein hér á Habré.

Lítum nánar á sýndarnetið og uppbyggingu þess.

Hvernig Yandex.Cloud virkar með Virtual Private Cloud og hvernig notendur okkar hjálpa okkur að innleiða gagnlega eiginleika

Við skulum skoða tvö framboðssvæði. Við bjóðum upp á sýndarnet - það sem við kölluðum VPC. Reyndar skilgreinir það sérstöðurými „gráu“ netfönganna þinna. Innan hvers sýndarnets hefur þú fulla stjórn á rými heimilisfönganna sem þú getur úthlutað til tölvuauðlinda.

Netið er alþjóðlegt. Jafnframt er því varpað á hvert framboðssvæði í formi einingar sem kallast Subnet. Fyrir hvert undirnet úthlutar þú CIDR af stærð 16 eða minna. Hvert framboðssvæði getur haft fleiri en eina slíka aðila og það er alltaf gagnsæ leið á milli þeirra. Þetta þýðir að allar auðlindir þínar innan sama VPC geta „talað“ saman, jafnvel þótt þær séu á mismunandi framboðssvæðum. „Samskipti“ án aðgangs að internetinu, í gegnum innri rásir okkar, „að halda“ að þær séu innan sama einkanetsins.

Skýringarmyndin hér að ofan sýnir dæmigerða aðstæður: tvær VPC sem skerast einhvers staðar í vistföngum sínum. Hvort tveggja getur verið þitt. Til dæmis, einn fyrir þróun, hinn til að prófa. Það geta einfaldlega verið mismunandi notendur - í þessu tilfelli skiptir það ekki máli. Og hver VPC hefur eina sýndarvél.

Hvernig Yandex.Cloud virkar með Virtual Private Cloud og hvernig notendur okkar hjálpa okkur að innleiða gagnlega eiginleika

Gerum kerfið verra. Þú getur látið eina sýndarvél tengjast nokkrum undirnetum í einu. Og ekki bara svona, heldur í mismunandi sýndarnetum.

Hvernig Yandex.Cloud virkar með Virtual Private Cloud og hvernig notendur okkar hjálpa okkur að innleiða gagnlega eiginleika

Á sama tíma, ef þú þarft að fletta ofan af vélum á internetinu, er þetta hægt að gera í gegnum API eða UI. Til að gera þetta þarftu að stilla NAT þýðinguna á „gráu“, innra heimilisfangi þínu, í „hvítt“ – almennt heimilisfang. Þú getur ekki valið „hvítt“ heimilisfang; því er úthlutað af handahófi úr vistfangahópnum okkar. Um leið og þú hættir að nota ytri IP-töluna fer hún aftur í sundlaugina. Þú borgar aðeins fyrir þann tíma sem þú notar „hvíta“ heimilisfangið.

Hvernig Yandex.Cloud virkar með Virtual Private Cloud og hvernig notendur okkar hjálpa okkur að innleiða gagnlega eiginleika

Það er líka hægt að veita vélinni netaðgang með því að nota NAT dæmi. Þú getur beint umferð að tilvikinu þínu í gegnum kyrrstæða leiðartöflu. Við höfum lagt fram slíkt mál vegna þess að notendur þurfa stundum á því að halda og við vitum af því. Í samræmi við það, í myndaskránni okkar er sérstillt NAT mynd.

Hvernig Yandex.Cloud virkar með Virtual Private Cloud og hvernig notendur okkar hjálpa okkur að innleiða gagnlega eiginleika

En jafnvel þegar það er tilbúin NAT mynd getur uppsetningin verið flókin. Við skildum að fyrir suma notendur er þetta ekki þægilegasti kosturinn, svo að lokum gerðum við það mögulegt að virkja NAT fyrir viðkomandi undirnet með einum smelli. Þessi eiginleiki er enn í lokuðum forskoðunaraðgangi, þar sem verið er að prófa hann með hjálp samfélagsins.

Hvernig sýndarnet virkar innan frá

Hvernig Yandex.Cloud virkar með Virtual Private Cloud og hvernig notendur okkar hjálpa okkur að innleiða gagnlega eiginleika

Hvernig hefur notandi samskipti við sýndarnet? Netið lítur út á við með API þess. Notandinn kemur að API og vinnur með markástandið. Í gegnum API sér notandinn hvernig öllu ætti að vera raðað og stillt á meðan hann sér stöðuna, hvernig raunverulegt ástand er frábrugðið því sem óskað er eftir. Þetta er mynd notandans. Hvað er að gerast inni?

Við skráum viðkomandi ástand í Yandex gagnagrunninum og förum að stilla mismunandi hluta VPC okkar. Yfirborðsnetið í Yandex.Cloud er byggt á grundvelli völdum íhlutum OpenContrail, sem nýlega hefur verið kallað Tungsten Fabric. Netþjónusta er útfærð á einum CloudGate vettvang. Hjá CloudGate notuðum við einnig fjölda opinna íhluta: GoBGP til að meðhöndla stjórnunarupplýsingar, sem og VPP til að útfæra hugbúnaðarbeini sem keyrir ofan á DPDK fyrir gagnaslóðina.

Tungsten Fabric hefur samskipti við CloudGate í gegnum GoBGP. Segir hvað er að gerast í yfirborðsnetinu. CloudGate, aftur á móti, tengir yfirborðsnet við hvert annað og við internetið.

Hvernig Yandex.Cloud virkar með Virtual Private Cloud og hvernig notendur okkar hjálpa okkur að innleiða gagnlega eiginleika

Nú skulum við skoða hvernig sýndarnet leysir sveigjanleika og framboðsvandamál. Við skulum íhuga einfalt mál. Það er eitt framboðssvæði og tveir VPC hafa verið búnir til á því. Við sendum inn eitt Tungsten Fabric tilvik og það inniheldur nokkra tugi þúsunda neta. Netkerfi hafa samskipti við CloudGate. CloudGate, eins og við höfum þegar sagt, tryggir tengingu þeirra við hvert annað og við internetið.

Hvernig Yandex.Cloud virkar með Virtual Private Cloud og hvernig notendur okkar hjálpa okkur að innleiða gagnlega eiginleika

Segjum að annað framboðssvæði sé bætt við. Það ætti að mistakast algjörlega óháð því fyrsta. Þess vegna verðum við að setja upp sérstakt Tungsten Fabric tilvik á öðru framboðssvæðinu. Þetta verður sérstakt kerfi sem sér um yfirlagið og veit lítið um fyrsta kerfið. Og útlitið sem sýndarnetið okkar er alþjóðlegt skapar í raun VPC API okkar. Þetta er hans verkefni.

VPC1 er varpað á Availability Zone B ef Availability Zone B hefur auðlindir sem festast í VPC1. Ef það eru engin úrræði frá VPC2 á framboðssvæði B, gerum við ekki VPC2 á þessu svæði. Aftur á móti, þar sem auðlindir frá VPC3 eru aðeins til á svæði B, er VPC3 ekki til á svæði A. Allt er einfalt og rökrétt.

Við skulum fara aðeins dýpra og sjá hvernig tiltekinn gestgjafi í Y.Cloud virkar. Það helsta sem ég vil taka fram er að allir gestgjafar eru hannaðir eins. Við sjáum til þess að aðeins nauðsynleg lágmarksþjónusta keyri á vélbúnaði, allt hitt keyrir á sýndarvélum. Við byggjum upp hærri röð þjónustu sem byggir á grunninnviðaþjónustu og notum einnig skýið til að leysa nokkur verkfræðileg vandamál, til dæmis sem hluti af stöðugri samþættingu.

Hvernig Yandex.Cloud virkar með Virtual Private Cloud og hvernig notendur okkar hjálpa okkur að innleiða gagnlega eiginleika

Ef við skoðum ákveðinn hýsil getum við séð að það eru þrír þættir í gangi í stýrikerfi gestgjafans:

  • Compute er sá hluti sem ber ábyrgð á að dreifa tölvuauðlindum á hýsilinn.
  • VRouter er hluti af Tungsten Fabric, sem skipuleggur yfirlagið, það er að segja það flytur pökkum í gegnum undirlagið.
  • VDiskar eru hluti af sýndarvæðingu geymslu.

Að auki reka sýndarvélar þjónustu: Skýjainnviðaþjónusta, pallaþjónusta og getu viðskiptavina. Getu viðskiptavina og vettvangsþjónusta fer alltaf í yfirborðið í gegnum VRouter.

Innviðaþjónusta getur tengst yfirlaginu, en aðallega vilja þeir vinna í undirlaginu. Þeir eru festir í undirlagið með SR-IOV. Reyndar klippum við kortið í sýndarnetkort (sýndaraðgerðir) og ýtum þeim inn í sýndarvélar innviða til að missa ekki afköst. Til dæmis er sama CloudGate hleypt af stokkunum sem ein af þessum sýndarvélum fyrir innviði.

Nú þegar við höfum lýst hnattrænum verkefnum sýndarnets og hönnun grunnþátta skýsins, skulum við skoða hvernig nákvæmlega mismunandi hlutar sýndarnetsins hafa samskipti sín á milli.

Við greinum þrjú lög í kerfinu okkar:

  • Config Plane – stillir markástand kerfisins. Þetta er það sem notandinn stillir í gegnum API.
  • Control Plane – veitir notendatilgreinda merkingarfræði, það er, það færir stöðu gagnaplansins í það sem notandinn lýsti í Config Plane.
  • Data Plane – vinnur beint úr notendapakka.

Hvernig Yandex.Cloud virkar með Virtual Private Cloud og hvernig notendur okkar hjálpa okkur að innleiða gagnlega eiginleika

Eins og ég sagði hér að ofan byrjar þetta allt með því að notandinn eða innri vettvangsþjónustan kemur að API og lýsir ákveðnu markástandi.

Þetta ástand er strax skrifað í Yandex gagnagrunninn, skilar auðkenni ósamstilltu aðgerðarinnar í gegnum API og ræsir innri vélina okkar til að framleiða ástandið sem notandinn vildi. Stillingarverkefni fara til SDN stjórnandans og segja Tungsten Fabric hvað þarf að gera í yfirlaginu. Til dæmis panta þeir höfn, sýndarnet og þess háttar.

Hvernig Yandex.Cloud virkar með Virtual Private Cloud og hvernig notendur okkar hjálpa okkur að innleiða gagnlega eiginleika

Stillingarplanið í Tungsten Fabric hleður upp nauðsynlegu ástandi á stjórnplanið. Í gegnum það hefur Config Plane samskipti við gestgjafana og segir þeim hvað nákvæmlega mun keyra á þeim í náinni framtíð.

Hvernig Yandex.Cloud virkar með Virtual Private Cloud og hvernig notendur okkar hjálpa okkur að innleiða gagnlega eiginleika

Nú skulum við sjá hvernig kerfið lítur út á vélunum. Sýndarvélin er með ákveðinn netadapter tengt við VRouterinn. VRouter er Tungsten Fabric kjarnaeining sem skoðar pakka. Ef það er nú þegar flæði fyrir einhvern pakka vinnur einingin það. Ef það er ekkert flæði gerir einingin svokallaða punting, það er að segja að hún sendir pakkann í usermod ferlið. Ferlið greinir pakkann og svarar honum annað hvort sjálft, eins og DHCP og DNS, eða segir VRouter hvað hann á að gera við hann. VRouter getur síðan unnið úr pakkanum.

Ennfremur flæðir umferð milli sýndarvéla innan sama sýndarnets gegnsætt, hún er ekki send til CloudGate. Vélarnar sem sýndarvélarnar eru settar á hafa bein samskipti sín á milli. Þeir keyra umferð og senda hana hver á annan í gegnum undirlagið.

Hvernig Yandex.Cloud virkar með Virtual Private Cloud og hvernig notendur okkar hjálpa okkur að innleiða gagnlega eiginleika

Stjórnarflugvélar hafa samskipti sín á milli á milli aðgengissvæða í gegnum BGP, rétt eins og með öðrum beini. Þeir segja þér hvaða vélar eru settar upp hvar, þannig að sýndarvélar á einu svæði geti átt bein samskipti við aðrar sýndarvélar.

Hvernig Yandex.Cloud virkar með Virtual Private Cloud og hvernig notendur okkar hjálpa okkur að innleiða gagnlega eiginleika

Control Plane hefur einnig samskipti við CloudGate. Á sama hátt greinir það frá hvar og hvaða sýndarvélar eru settar upp, hvert heimilisföng þeirra eru. Þetta gerir þér kleift að beina utanaðkomandi umferð og umferð frá jafnvægismönnum til þeirra.

Umferð sem fer frá VPC kemur til CloudGate, í gagnaslóðinni, þar sem VPP með viðbætur okkar er fljótt tyggja. Síðan er umferðin annað hvort skotin til annarra VPC eða út á við, til brúnbeina, sem eru stilltir í gegnum stjórnplan CloudGate sjálfs.

Áætlanir fyrir næstu framtíð

Ef við tökum saman allt sem sagt er hér að ofan í nokkrum setningum getum við sagt að VPC í Yandex.Cloud leysi tvö mikilvæg vandamál:

  • Veitir einangrun milli mismunandi viðskiptavina.
  • Sameinar auðlindir, innviði, vettvangsþjónustu, önnur ský og á staðnum í eitt net.

Og til að leysa þessi vandamál vel þarftu að tryggja sveigjanleika og bilanaþol á stigi innri arkitektúrsins, sem er það sem VPC gerir.

VPC er smám saman að eignast aðgerðir, við erum að innleiða nýja eiginleika og reynum að bæta eitthvað hvað varðar þægindi fyrir notendur. Sumar hugmyndir eru settar fram og innifaldar á forgangslistanum þökk sé meðlimum samfélagsins okkar.

Nú höfum við um það bil eftirfarandi lista yfir áætlanir fyrir næstu framtíð:

  • VPN sem þjónusta.
  • Einka DNS tilvik – myndir til að setja upp sýndarvélar fljótt með fyrirfram stilltum DNS netþjóni.
  • DNS sem þjónusta.
  • Innri hleðslujafnari.
  • Bætir við „hvítu“ IP tölu án þess að endurskapa sýndarvélina.

Jafnvægi og hæfileikinn til að skipta um IP tölu fyrir þegar búið til sýndarvél var innifalinn í þessum lista að beiðni notenda. Til að vera heiðarlegur, án skýrrar endurgjöf hefðum við tekið að okkur þessar aðgerðir aðeins síðar. Og svo erum við nú þegar að vinna í vandamálinu varðandi heimilisföng.

Upphaflega var aðeins hægt að bæta við „hvítu“ IP tölu þegar búið var til vél. Ef notandinn gleymdi að gera þetta þurfti að endurskapa sýndarvélina. Sama gildir um að fjarlægja ytri IP ef þörf krefur. Bráðum verður hægt að kveikja og slökkva á opinberri IP án þess að þurfa að endurskapa vélina.

Ekki hika við að tjá þitt hugmyndir og stuðningstillögur öðrum notendum. Þú hjálpar okkur að gera skýið betra og fá mikilvæga og gagnlega eiginleika hraðar!

Heimild: www.habr.com

Bæta við athugasemd