Giunsa pagtrabaho sa Yandex.Cloud ang Virtual Private Cloud ug kung giunsa kami pagtabang sa among mga tiggamit sa pagpatuman sa mapuslanon nga mga bahin

Kumusta, ang akong ngalan mao si Kostya Kramlich, ako ang nanguna nga developer sa Virtual Private Cloud division sa Yandex.Cloud. Nagtrabaho ako sa usa ka virtual nga network, ug, ingon sa imong gihunahuna, sa kini nga artikulo maghisgot ako bahin sa aparato sa Virtual Private Cloud (VPC) sa kinatibuk-an ug labi na ang virtual network. Ug mahibal-an usab nimo kung ngano nga kami, ang mga nag-develop sa serbisyo, gipabilhan ang feedback gikan sa among mga tiggamit. Apan una sa tanan.

Giunsa pagtrabaho sa Yandex.Cloud ang Virtual Private Cloud ug kung giunsa kami pagtabang sa among mga tiggamit sa pagpatuman sa mapuslanon nga mga bahin

Unsa ang usa ka VPC?

Karong panahona, adunay lainlaing mga kapilian alang sa pag-deploy sa mga serbisyo. Sigurado ko nga adunay nagtago sa usa ka server sa ilawom sa lamesa sa administrador, bisan kung naglaum ako nga ang ingon nga mga istorya mahimong dili kaayo komon.

Karon ang mga serbisyo naningkamot sa pagbalhin ngadto sa publiko nga mga panganod, ug dinhi sila makasugat og mga VPC. Ang VPC usa ka bahin sa publiko nga panganod nga naghiusa sa tiggamit, imprastraktura, plataporma ug uban pang mga kapasidad, bisan asa sila, sa among Cloud o sa unahan. Sa parehas nga oras, gitugotan ka sa VPC nga likayan ang pagbutyag niini nga mga kapasidad sa Internet nga wala kinahanglana; nagpabilin sila sa sulod sa imong nahilit nga network.

Unsa ang hitsura sa usa ka virtual network gikan sa gawas

Giunsa pagtrabaho sa Yandex.Cloud ang Virtual Private Cloud ug kung giunsa kami pagtabang sa among mga tiggamit sa pagpatuman sa mapuslanon nga mga bahin

Sa VPC among gipasabot, una sa tanan, usa ka overlay nga network ug mga serbisyo sa network, sama sa VPNaaS, NATaas, LBaas, ug uban pa. maayong artikulo dinhi sa Habré.

Atong tan-awon pag-ayo ang virtual network ug ang istruktura niini.

Giunsa pagtrabaho sa Yandex.Cloud ang Virtual Private Cloud ug kung giunsa kami pagtabang sa among mga tiggamit sa pagpatuman sa mapuslanon nga mga bahin

Atong tan-awon ang duha ka availability zones. Naghatag kami usa ka virtual network - ang among gitawag nga VPC. Sa tinuud, gipasabut niini ang pagkatalagsaon nga wanang sa imong "gray" nga mga adres. Sulod sa matag virtual network, aduna kay bug-os nga kontrol sa luna sa mga adres nga mahimo nimong i-assign sa mga kapanguhaan sa pag-compute.

Ang network kay global. Sa parehas nga oras, giplano kini sa matag usa sa mga magamit nga sona sa porma sa usa ka entidad nga gitawag Subnet. Alang sa matag Subnet nag-assign ka og CIDR nga may gidak-on nga 16 o ubos pa. Ang matag availability zone mahimong adunay labaw pa sa usa ka entidad, ug adunay kanunay nga transparent nga ruta tali kanila. Kini nagpasabot nga ang tanan nimong mga kahinguhaan sulod sa samang VPC mahimong “magsultihanay” sa usag usa, bisan pa kon sila anaa sa lain-laing Availability Zone. "Pagkomunikar" nga wala’y access sa Internet, pinaagi sa among mga internal nga channel, "naghunahuna" nga naa sila sa parehas nga pribadong network.

Ang dayagram sa ibabaw nagpakita sa usa ka tipikal nga sitwasyon: duha ka VPC nga nag-intersect sa usa ka dapit sa ilang mga adres. Ang duha mahimong imoha. Pananglitan, ang usa alang sa kalamboan, ang lain alang sa pagsulay. Mahimong adunay lainlaing mga tiggamit - sa kini nga kaso dili kini igsapayan. Ug ang matag VPC adunay usa ka virtual machine.

Giunsa pagtrabaho sa Yandex.Cloud ang Virtual Private Cloud ug kung giunsa kami pagtabang sa among mga tiggamit sa pagpatuman sa mapuslanon nga mga bahin

Atong samotan ang laraw. Mahimo nimong makonektar ang usa ka virtual machine sa daghang mga Subnet sa usa ka higayon. Ug dili lang ingon niana, apan sa lainlaing mga virtual network.

Giunsa pagtrabaho sa Yandex.Cloud ang Virtual Private Cloud ug kung giunsa kami pagtabang sa among mga tiggamit sa pagpatuman sa mapuslanon nga mga bahin

Sa samang higayon, kung kinahanglan nimo nga ibutyag ang mga makina sa Internet, mahimo kini pinaagi sa API o UI. Aron mahimo kini, kinahanglan nimo nga i-configure ang paghubad sa NAT sa imong "gray", internal nga adres, sa usa ka "puti" - adres sa publiko. Dili ka makapili og "puti" nga adres; kini gi-assign nga random gikan sa among address pool. Sa diha nga mohunong ka sa paggamit sa eksternal nga IP, kini mobalik sa pool. Nagbayad ka lang sa oras nga imong gigamit ang "puti" nga adres.

Giunsa pagtrabaho sa Yandex.Cloud ang Virtual Private Cloud ug kung giunsa kami pagtabang sa among mga tiggamit sa pagpatuman sa mapuslanon nga mga bahin

Posible usab nga mahatagan ang makina nga akses sa Internet gamit ang usa ka pananglitan sa NAT. Mahimo nimong ruta ang trapiko sa imong instance pinaagi sa usa ka static nga routing table. Naghatag kami sa ingon nga kaso tungod kay usahay gikinahanglan kini sa mga tiggamit, ug nahibal-an namon kini. Tungod niini, sa among direktoryo sa imahe adunay usa ka espesyal nga na-configure nga imahe sa NAT.

Giunsa pagtrabaho sa Yandex.Cloud ang Virtual Private Cloud ug kung giunsa kami pagtabang sa among mga tiggamit sa pagpatuman sa mapuslanon nga mga bahin

Apan bisan kung adunay usa ka andam nga gihimo nga imahe sa NAT, ang pagsumpo mahimong komplikado. Nakasabut kami nga alang sa pipila nga mga tiggamit dili kini ang labing kombenyente nga kapilian, mao nga sa katapusan gihimo namon nga posible nga mahimo ang NAT alang sa gusto nga Subnet sa usa ka pag-klik. Kini nga bahin anaa pa sa closed preview access, diin kini gisulayan sa tabang sa mga miyembro sa komunidad.

Giunsa ang usa ka virtual nga network molihok gikan sa sulod

Giunsa pagtrabaho sa Yandex.Cloud ang Virtual Private Cloud ug kung giunsa kami pagtabang sa among mga tiggamit sa pagpatuman sa mapuslanon nga mga bahin

Giunsa ang usa ka tiggamit makig-uban sa usa ka virtual network? Ang network nagtan-aw sa gawas sa iyang API. Ang tiggamit moabut sa API ug nagtrabaho kauban ang target nga estado. Pinaagi sa API, nakita sa tiggamit kung giunsa ang tanan nga gihan-ay ug gi-configure, samtang nakita niya ang kahimtang, kung giunsa ang tinuud nga kahimtang lahi sa gusto. Kini ang hulagway sa tiggamit. Unsay nahitabo sa sulod?

Among girekord ang gitinguha nga kahimtang sa Yandex Database ug moadto aron i-configure ang lainlaing bahin sa among VPC. Ang overlay network sa Yandex.Cloud gitukod pinasukad sa pinili nga mga sangkap sa OpenContrail, nga bag-o lang gitawag nga Tungsten Fabric. Ang mga serbisyo sa network gipatuman sa usa ka plataporma sa CloudGate. Sa CloudGate, migamit usab kami og ubay-ubay nga open source nga mga sangkap: GoBGP alang sa pagdumala sa impormasyon sa pagkontrol, ingon man sa VPP alang sa pagpatuman sa usa ka software router nga nagdagan sa ibabaw sa DPDK alang sa agianan sa datos.

Ang Tungsten Fabric nakigsulti sa CloudGate pinaagi sa GoBGP. Nagsulti kung unsa ang nahitabo sa overlay network. Ang CloudGate, sa baylo, nagkonektar sa mga overlay nga network sa usag usa ug sa Internet.

Giunsa pagtrabaho sa Yandex.Cloud ang Virtual Private Cloud ug kung giunsa kami pagtabang sa among mga tiggamit sa pagpatuman sa mapuslanon nga mga bahin

Karon tan-awon nato kung giunsa pagsulbad sa usa ka virtual network ang mga isyu sa scalability ug availability. Atong tagdon ang usa ka yano nga kaso. Adunay usa ka availability zone ug duha ka VPC ang gihimo niini. Nag-deploy kami usa ka pananglitan sa Tungsten Fabric, ug kini adunay daghang libu-libo nga mga network. Ang mga network nakigsulti sa CloudGate. Ang CloudGate, sama sa giingon na namo, nagsiguro sa ilang koneksyon sa usag usa ug sa Internet.

Giunsa pagtrabaho sa Yandex.Cloud ang Virtual Private Cloud ug kung giunsa kami pagtabang sa among mga tiggamit sa pagpatuman sa mapuslanon nga mga bahin

Ingnon ta nga ang ikaduha nga Availability Zone gidugang. Kini kinahanglan nga mapakyas sa hingpit nga independente sa una. Busa, kinahanglan natong i-install ang usa ka separado nga Tungsten Fabric nga pananglitan sa ikaduha nga availability zone. Kini usa ka bulag nga sistema nga nagdumala sa overlay ug gamay ra ang nahibal-an bahin sa una nga sistema. Ug ang dagway nga ang among virtual network kay global, sa tinuud, nagmugna sa among VPC API. Kini ang iyang tahas.

Ang VPC1 gimapa ngadto sa Availability Zone B kung ang Availability Zone B adunay mga kapanguhaan nga nagpabilin sa VPC1. Kung walay mga kahinguhaan gikan sa VPC2 sa availability zone B, dili namo matuman ang VPC2 niini nga zone. Sa baylo, tungod kay ang mga kapanguhaan gikan sa VPC3 anaa lamang sa zone B, ang VPC3 wala maglungtad sa zone A. Ang tanan yano ug lohikal.

Atong tun-an pag-ayo ug tan-awon kung giunsa ang usa ka piho nga host sa Y.Cloud molihok. Ang panguna nga butang nga gusto nakong timan-an mao nga ang tanan nga mga host parehas nga gidisenyo. Gisiguro namo nga ang gikinahanglan lang nga minimum sa mga serbisyo ang nagdagan sa hardware; ang tanan nga uban nagdagan sa mga virtual machine. Nagtukod kami og mas taas nga pagkahan-ay nga mga serbisyo base sa mga batakang serbisyo sa imprastraktura, ug gigamit usab ang Cloud aron masulbad ang pipila ka mga problema sa engineering, pananglitan, isip bahin sa Padayon nga Paghiusa.

Giunsa pagtrabaho sa Yandex.Cloud ang Virtual Private Cloud ug kung giunsa kami pagtabang sa among mga tiggamit sa pagpatuman sa mapuslanon nga mga bahin

Kung atong tan-awon ang usa ka piho nga host, atong makita nga adunay tulo ka mga sangkap nga nagdagan sa host OS:

  • Ang Compute mao ang bahin nga responsable sa pag-apod-apod sa mga kapanguhaan sa kompyuter sa host.
  • Ang VRouter kabahin sa Tungsten Fabric, nga nag-organisar sa overlay, nga mao, kini nag-tunnel sa mga packet pinaagi sa underlay.
  • Ang mga VDisk mga piraso sa virtualization sa pagtipig.

Dugang pa, ang mga virtual nga makina nagpadagan sa mga serbisyo: Mga serbisyo sa imprastraktura sa panganod, serbisyo sa platform ug kapasidad sa kustomer. Ang mga kapasidad sa mga kustomer ug mga serbisyo sa plataporma kanunay moadto sa overlay pinaagi sa VRouter.

Ang mga serbisyo sa imprastraktura mahimong mag-plug sa overlay, apan kasagaran gusto nila nga magtrabaho sa underlay. Gipilit sila sa underlay gamit ang SR-IOV. Sa pagkatinuod, among giputol ang card ngadto sa virtual network card (virtual functions) ug iduso kini ngadto sa infrastructure virtual machines aron dili mawala ang performance. Pananglitan, ang parehas nga CloudGate gilansad ingon usa sa mga virtual nga makina sa imprastraktura.

Karon nga atong gihulagway ang mga global nga buluhaton sa usa ka virtual nga network ug ang disenyo sa mga batakang sangkap sa panganod, atong tan-awon kon sa unsang paagi ang lain-laing mga bahin sa virtual network nakig-uban sa usag usa.

Giila namon ang tulo ka mga layer sa among sistema:

  • Config Plane - nagtakda sa target nga kahimtang sa sistema. Mao kini ang gi-configure sa user pinaagi sa API.
  • Control Plane – naghatag ug user-specified semantics, nga mao, nagdala kini sa kahimtang sa Data Plane sa gihulagway sa user sa Config Plane.
  • Data Plane - direkta nga nagproseso sa mga pakete sa tiggamit.

Giunsa pagtrabaho sa Yandex.Cloud ang Virtual Private Cloud ug kung giunsa kami pagtabang sa among mga tiggamit sa pagpatuman sa mapuslanon nga mga bahin

Sama sa akong giingon sa ibabaw, kini tanan nagsugod sa user o internal nga serbisyo sa plataporma nga moabut sa API ug naghulagway sa usa ka piho nga target nga estado.

Kini nga estado gisulat dayon sa Yandex Database, gibalik ang ID sa asynchronous nga operasyon pinaagi sa API, ug gilunsad ang among internal nga makinarya aron mahimo ang estado nga gusto sa tiggamit. Ang mga buluhaton sa pag-configure moadto sa controller sa SDN ug isulti ang Tungsten Fabric kung unsa ang kinahanglan buhaton sa overlay. Pananglitan, nagreserba sila og mga pantalan, virtual network, ug uban pa.

Giunsa pagtrabaho sa Yandex.Cloud ang Virtual Private Cloud ug kung giunsa kami pagtabang sa among mga tiggamit sa pagpatuman sa mapuslanon nga mga bahin

Ang Config Plane sa Tungsten Fabric nag-upload sa gikinahanglan nga estado sa Control Plane. Pinaagi niini, ang Config Plane nakigkomunikar sa mga host, nagsulti kanila kung unsa gyud ang modagan sa kanila sa umaabot nga umaabot.

Giunsa pagtrabaho sa Yandex.Cloud ang Virtual Private Cloud ug kung giunsa kami pagtabang sa among mga tiggamit sa pagpatuman sa mapuslanon nga mga bahin

Karon tan-awon nato kung unsa ang hitsura sa sistema sa mga host. Ang virtual machine adunay usa ka network adapter nga gisaksak sa VRouter. Ang VRouter usa ka Tungsten Fabric core module nga nagtan-aw sa mga pakete. Kung aduna nay dagan alang sa pipila ka pakete, giproseso kini sa module. Kung walay dagan, ang module naghimo sa gitawag nga punting, nga mao, kini nagpadala sa packet ngadto sa usermod nga proseso. Ang proseso nag-parse sa pakete ug mahimong motubag niini mismo, sama sa DHCP ug DNS, o nagsulti sa VRouter kung unsa ang buhaton niini. Mahimong iproseso dayon sa VRouter ang pakete.

Dugang pa, ang trapiko tali sa mga virtual nga makina sa sulod sa parehas nga virtual nga network nag-agay nga transparent, wala kini ipadala sa CloudGate. Ang mga host diin ang mga virtual machine gipakatap direkta nga nakigsulti sa usag usa. Ilang tunel ang trapiko ug ipasa kini sa usag usa pinaagi sa underlay.

Giunsa pagtrabaho sa Yandex.Cloud ang Virtual Private Cloud ug kung giunsa kami pagtabang sa among mga tiggamit sa pagpatuman sa mapuslanon nga mga bahin

Ang Control Planes nakigkomunikar sa usag usa sa mga Availability Zones pinaagi sa BGP, sama sa laing router. Gisultihan ka nila kung unsang mga makina ang na-install kung diin, aron ang mga virtual nga makina sa usa ka sona mahimong direktang makigkomunikar sa ubang mga virtual machine.

Giunsa pagtrabaho sa Yandex.Cloud ang Virtual Private Cloud ug kung giunsa kami pagtabang sa among mga tiggamit sa pagpatuman sa mapuslanon nga mga bahin

Ang Control Plane nakigkomunikar usab sa CloudGate. Sa susama, kini nagtaho kung diin ug kung unsang mga virtual machine ang na-install, kung unsa ang ilang mga adres. Kini nagtugot kanimo sa pagdirekta sa gawas nga trapiko ug trapiko gikan sa mga balanse ngadto kanila.

Ang trapiko nga mobiya sa VPC moabut sa CloudGate, sa agianan sa datos, diin ang VPP uban sa among mga plugins dali nga gi-chewed. Dayon ang trapiko gipusil bisan sa ubang mga VPC, o sa gawas, ngadto sa mga edge router, nga gi-configure pinaagi sa Control Plane sa CloudGate mismo.

Mga plano alang sa umaabot nga umaabot

Kung atong i-summarize ang tanan nga gisulti sa ibabaw sa pipila ka mga sentence, makaingon kita nga ang VPC sa Yandex.Cloud nakasulbad sa duha ka importante nga mga problema:

  • Naghatag ug pag-inusara tali sa lainlaing mga kliyente.
  • Gihiusa ang mga kahinguhaan, imprastraktura, serbisyo sa plataporma, uban pang mga panganod ug naa sa lugar sa usa ka network.

Ug aron maayo nga masulbad kini nga mga problema, kinahanglan nimo nga masiguro ang pagkadako ug pagtugot sa sayup sa lebel sa internal nga arkitektura, nga mao ang gibuhat sa VPC.

Sa hinay-hinay, ang VPC nakakuha og mga gimbuhaton, nag-implementar kami og mga bag-ong feature, ug naningkamot nga mapaayo ang usa ka butang sa mga termino sa kasayon ​​alang sa mga tiggamit. Ang ubang mga ideya gipahayag ug gilakip sa listahan sa prayoridad salamat sa mga miyembro sa among komunidad.

Karon kita adunay gibana-bana nga mosunod nga listahan sa mga plano alang sa umaabot nga umaabot:

  • VPN isip usa ka serbisyo.
  • Pribado nga DNS instances – mga hulagway alang sa dali nga pag-set up sa mga virtual machine nga adunay pre-configured DNS server.
  • DNS isip usa ka serbisyo.
  • Internal nga load balancer.
  • Pagdugang og "puti" nga IP address nga wala magbuhat pag-usab sa virtual machine.

Ang usa ka balanse ug ang abilidad sa pagbalhin sa IP address alang sa usa ka nahimo na nga virtual machine gilakip sa kini nga lista sa hangyo sa mga tiggamit. Sa tinuud, kung wala’y tin-aw nga feedback, mahimo namon kini nga mga gimbuhaton sa ulahi. Ug mao nga nagtrabaho na kami sa problema bahin sa mga adres.

Sa sinugdan, ang usa ka "puti" nga IP address mahimo lamang idugang kung maghimo usa ka makina. Kung ang user nakalimot sa pagbuhat niini, ang virtual machine kinahanglan nga mugnaon pag-usab. Ang sama nga moadto sa pagtangtang sa external IP kon gikinahanglan. Sa dili madugay posible nga i-on ug i-off ang usa ka publikong IP nga dili kinahanglan nga mugnaon pag-usab ang makina.

Mobati nga gawasnon sa pagpahayag sa imo mga ideya ug mga sugyot sa pagsuporta ubang mga tiggamit. Gitabangan mo kami sa paghimo sa Cloud nga mas maayo ug pagkuha sa importante ug mapuslanon nga mga feature nga mas paspas!

Source: www.habr.com

Idugang sa usa ka comment