Kepiye cara Yandex.Cloud nganggo Virtual Private Cloud lan kepiye pangguna mbantu kita ngetrapake fitur sing migunani

Halo, jenengku Kostya Kramlich, aku dadi pangembang utama divisi Virtual Private Cloud ing Yandex.Cloud. Aku nggarap jaringan virtual, lan, kaya sing sampeyan duga, ing artikel iki aku bakal ngomong babagan piranti Virtual Private Cloud (VPC) ing umum lan jaringan virtual khusus. Lan sampeyan uga bakal ngerti kenapa kita, pangembang layanan, menehi umpan balik saka pangguna. Nanging dhisik dhisik.

Kepiye cara Yandex.Cloud nganggo Virtual Private Cloud lan kepiye pangguna mbantu kita ngetrapake fitur sing migunani

Apa iku VPC?

Saiki, ana macem-macem opsi kanggo nyebarake layanan. Aku yakin ana sing isih nyimpen server ing meja administrator, sanajan muga-muga crita kaya ngono saya suwe saya suwe.

Saiki layanan nyoba pindhah menyang awan umum, lan ing kene dheweke nemoni VPC. VPC minangka bagean saka awan umum sing nyambungake pangguna, infrastruktur, platform lan kapasitas liyane, ing endi wae, ing Cloud utawa ngluwihi. Ing wektu sing padha, VPC ngidini sampeyan supaya ora mbukak kapasitas kasebut menyang Internet kanthi ora perlu; padha tetep ana ing jaringan sing terisolasi.

Apa jaringan virtual katon saka njaba

Kepiye cara Yandex.Cloud nganggo Virtual Private Cloud lan kepiye pangguna mbantu kita ngetrapake fitur sing migunani

Miturut VPC, kita tegese, pisanan, jaringan overlay lan layanan jaringan, kayata VPNaaS, NATaas, LBaas, lan liya-liyane. artikel apik kene ing HabrΓ©.

Ayo goleki kanthi luwih rinci babagan jaringan virtual lan strukture.

Kepiye cara Yandex.Cloud nganggo Virtual Private Cloud lan kepiye pangguna mbantu kita ngetrapake fitur sing migunani

Ayo katon ing rong zona kasedhiyan. Kita nyedhiyakake jaringan virtual - sing diarani VPC. Nyatane, iki nemtokake spasi unik saka alamat "abu-abu" sampeyan. Ing saben jaringan virtual, sampeyan duwe kontrol lengkap babagan papan alamat sing bisa sampeyan aturake kanggo sumber daya komputasi.

Jaringan kasebut global. Ing wektu sing padha, digambarake ing saben zona kasedhiyan ing wangun entitas sing diarani Subnet. Kanggo saben Subnet sampeyan nemtokake CIDR ukuran 16 utawa kurang. Saben zona kasedhiyan bisa duwe luwih saka siji entitas kasebut, lan mesthi ana rute transparan ing antarane. Iki tegese kabeh sumber daya sampeyan ing VPC sing padha bisa "ngomong" siji liyane, sanajan ana ing Zona Ketersediaan sing beda. "Berkomunikasi" tanpa akses menyang Internet, liwat saluran internal kita, "mikir" yen ana ing jaringan pribadi sing padha.

Diagram ing ndhuwur nuduhake kahanan khas: loro VPC sing intersect nang endi wae ing alamat. Loro-lorone bisa dadi sampeyan. Contone, siji kanggo pembangunan, liyane kanggo testing. Bisa uga ana pangguna sing beda - ing kasus iki ora masalah. Lan saben VPC duwe siji mesin virtual.

Kepiye cara Yandex.Cloud nganggo Virtual Private Cloud lan kepiye pangguna mbantu kita ngetrapake fitur sing migunani

Ayo nggawe skema luwih elek. Sampeyan bisa nggawe siji mesin virtual nyambung menyang sawetara Subnet bebarengan. Lan ora mung kaya ngono, nanging ing jaringan virtual sing beda.

Kepiye cara Yandex.Cloud nganggo Virtual Private Cloud lan kepiye pangguna mbantu kita ngetrapake fitur sing migunani

Ing wektu sing padha, yen sampeyan kudu mbukak mesin ing Internet, iki bisa ditindakake liwat API utawa UI. Kanggo nindakake iki, sampeyan kudu ngatur terjemahan NAT saka alamat internal "abu-abu", dadi "putih" - alamat umum. Sampeyan ora bisa milih alamat "putih"; ditugasake kanthi acak saka blumbang alamat kita. Sanalika sampeyan mungkasi nggunakake IP external, bali menyang blumbang. Sampeyan mung mbayar wektu sampeyan nggunakake alamat "putih".

Kepiye cara Yandex.Cloud nganggo Virtual Private Cloud lan kepiye pangguna mbantu kita ngetrapake fitur sing migunani

Sampeyan uga bisa menehi akses Internet mesin nggunakake conto NAT. Sampeyan bisa nuntun lalu lintas menyang instance liwat tabel rute statis. Kita wis nyedhiyakake kasus kasebut amarga pangguna kadhangkala mbutuhake, lan kita ngerti babagan iki. Mulane, ing direktori gambar kita ana gambar NAT sing dikonfigurasi khusus.

Kepiye cara Yandex.Cloud nganggo Virtual Private Cloud lan kepiye pangguna mbantu kita ngetrapake fitur sing migunani

Nanging sanajan ana gambar NAT sing wis siap, konfigurasi bisa rumit. Kita ngerti manawa kanggo sawetara pangguna iki dudu pilihan sing paling trep, saengga pungkasane kita bisa ngaktifake NAT kanggo Subnet sing dikarepake ing siji klik. Fitur iki isih ana ing akses pratinjau tertutup, sing lagi diuji kanthi bantuan anggota komunitas.

Cara kerja jaringan virtual saka njero

Kepiye cara Yandex.Cloud nganggo Virtual Private Cloud lan kepiye pangguna mbantu kita ngetrapake fitur sing migunani

Kepiye pangguna sesambungan karo jaringan virtual? Jaringan katon metu karo API. Pangguna teka menyang API lan nggarap negara target. Liwat API, pangguna ndeleng carane kabeh kudu diatur lan dikonfigurasi, nalika dheweke ndeleng status, kepiye kahanan nyata beda karo sing dikarepake. Iki gambar pangguna. Apa sing ana ing njero?

Kita ngrekam negara sing dikarepake ing Database Yandex lan pindhah menyang ngatur macem-macem bagean VPC kita. Jaringan overlay ing Yandex.Cloud dibangun kanthi basis komponen OpenContrail sing dipilih, sing bubar diarani Tungsten Fabric. Layanan jaringan dileksanakake ing platform CloudGate siji. Ing CloudGate, kita uga nggunakake sawetara komponen open source: GoBGP kanggo nangani informasi kontrol, uga VPP kanggo ngleksanakake router piranti lunak sing mlaku ing ndhuwur DPDK kanggo jalur data.

Tungsten Fabric komunikasi karo CloudGate liwat GoBGP. Nyritakake apa sing kedadeyan ing jaringan overlay. CloudGate, banjur nyambungake jaringan overlay menyang siji liyane lan menyang Internet.

Kepiye cara Yandex.Cloud nganggo Virtual Private Cloud lan kepiye pangguna mbantu kita ngetrapake fitur sing migunani

Saiki ayo goleki carane jaringan virtual ngatasi masalah skalabilitas lan kasedhiyan. Ayo nimbang kasus prasaja. Ana siji zona kasedhiyan lan loro VPC wis digawe ing. We disebarakΓ© siji Kayata Tungsten Fabric, lan ngandhut sawetara puluhan ewu jaringan. Jaringan komunikasi karo CloudGate. CloudGate, kaya sing wis dakkandhakake, njamin konektivitas karo saben liyane lan karo Internet.

Kepiye cara Yandex.Cloud nganggo Virtual Private Cloud lan kepiye pangguna mbantu kita ngetrapake fitur sing migunani

Ayo dadi Zona Kasedhiyan kapindho ditambahake. Sampeyan kudu gagal rampung independen saka pisanan. Mulane, kita kudu nginstal instance Tungsten Fabric kapisah ing zona kasedhiyan kaloro. Iki bakal dadi sistem kapisah sing nangani overlay lan ngerti sethithik babagan sistem pisanan. Lan katon yen jaringan virtual kita global, nyatane, nggawe API VPC kita. Iki tugase.

VPC1 dipetakan menyang Availability Zone B yen Availability Zone B nduweni sumber daya sing tetep ing VPC1. Yen ora ana sumber daya saka VPC2 ing kasedhiyan zona B, kita ora materialize VPC2 ing zona iki. Ing siji, wiwit sumber daya saka VPC3 mung ana ing zona B, VPC3 ora ana ing zona A. Kabeh iku prasaja lan logis.

Ayo dadi luwih jero lan deleng cara kerja host tartamtu ing Y.Cloud. Wangsulan: Bab ingkang utama aku kaya Wigati sing kabeh sarwa dumadi dirancang padha. Kita mesthekake yen mung layanan minimal sing dibutuhake ing hardware; kabeh liyane nganggo mesin virtual. Kita mbangun layanan sing luwih dhuwur adhedhasar layanan infrastruktur dhasar, lan uga nggunakake Cloud kanggo ngatasi sawetara masalah engineering, contone, minangka bagΓ©an saka Integrasi Terus-terusan.

Kepiye cara Yandex.Cloud nganggo Virtual Private Cloud lan kepiye pangguna mbantu kita ngetrapake fitur sing migunani

Yen kita ndeleng host tartamtu, kita bisa ndeleng manawa ana telung komponen sing mlaku ing OS host:

  • Komputasi minangka bagean sing tanggung jawab kanggo nyebarake sumber daya komputasi ing host.
  • VRouter minangka bagΓ©an saka Tungsten Fabric, sing ngatur overlay, yaiku, tunnels paket liwat underlay.
  • VDisks minangka potongan virtualisasi panyimpenan.

Kajaba iku, mesin virtual mbukak layanan: Layanan infrastruktur Cloud, layanan platform lan kapasitas pelanggan. Kapasitas lan layanan platform pelanggan tansah pindhah menyang overlay liwat VRouter.

Layanan infrastruktur bisa plug menyang overlay, nanging biasane padha pengin bisa ing underlay. Padha macet menyang underlay nggunakake SR-IOV. Ing kasunyatan, kita Cut kertu menyang kertu jaringan virtual (fungsi virtual) lan push menyang infrastruktur mesin virtual supaya ora ilang kinerja. Contone, CloudGate sing padha diluncurake minangka salah sawijining mesin virtual infrastruktur kasebut.

Saiki kita wis njlèntrèhaké tugas global saka jaringan virtual lan desain komponen dhasar saka maya, ayo kang katon ing carane persis bagean beda saka jaringan virtual sesambungan karo saben liyane.

Kita mbedakake telung lapisan ing sistem kita:

  • Config Plane - nyetel status target sistem. Iki sing dikonfigurasi pangguna liwat API.
  • Control Plane - nyedhiyakake semantik sing ditemtokake pangguna, yaiku, nggawa kahanan Data Plane menyang apa sing diterangake dening pangguna ing Config Plane.
  • Data Plane - langsung ngolah paket pangguna.

Kepiye cara Yandex.Cloud nganggo Virtual Private Cloud lan kepiye pangguna mbantu kita ngetrapake fitur sing migunani

Kaya sing dakkandhakake ing ndhuwur, kabeh diwiwiti karo pangguna utawa layanan platform internal sing teka ing API lan nggambarake negara target tartamtu.

Negara iki langsung ditulis menyang Database Yandex, ngasilake ID operasi asinkron liwat API, lan ngluncurake mesin internal kita kanggo ngasilake negara sing dikarepake pangguna. Tugas konfigurasi menyang controller SDN lan ngandhani Tungsten Fabric apa sing kudu ditindakake ing overlay. Contone, padha cadangan port, jaringan virtual, lan liya-liyane.

Kepiye cara Yandex.Cloud nganggo Virtual Private Cloud lan kepiye pangguna mbantu kita ngetrapake fitur sing migunani

Pesawat Config ing Kain Tungsten ngunggah status sing dibutuhake menyang Pesawat Kontrol. Liwat kasebut, Config Plane komunikasi karo host, ngandhani apa sing bakal ditindakake ing mangsa ngarep.

Kepiye cara Yandex.Cloud nganggo Virtual Private Cloud lan kepiye pangguna mbantu kita ngetrapake fitur sing migunani

Saiki ayo ndeleng apa sistem katon ing host. Mesin virtual duwe adaptor jaringan tartamtu sing dipasang ing VRouter. VRouter minangka modul inti Tungsten Fabric sing katon ing paket. Yen wis ana aliran kanggo sawetara paket, modul proses. Yen ora ana aliran, modul nindakake apa sing disebut punting, yaiku, ngirim paket menyang proses usermod. Proses parses paket kasebut lan nanggapi dhewe, kaya DHCP lan DNS, utawa ngandhani VRouter apa sing kudu ditindakake. VRouter banjur bisa ngolah paket kasebut.

Luwih, lalu lintas antarane mesin virtual ing jaringan virtual sing padha mili kanthi transparan, ora dikirim menyang CloudGate. Tuan rumah sing dipasangake mesin virtual komunikasi langsung. Padha trowongan lalu lintas lan nerusake menyang saben liyane liwat underlay.

Kepiye cara Yandex.Cloud nganggo Virtual Private Cloud lan kepiye pangguna mbantu kita ngetrapake fitur sing migunani

Control Planes komunikasi karo saben liyane liwat Availability Zones liwat BGP, kaya karo router liyane. Padha pitutur marang kowe kang mesin diinstal ngendi, supaya mesin virtual ing siji zona bisa komunikasi langsung karo mesin virtual liyane.

Kepiye cara Yandex.Cloud nganggo Virtual Private Cloud lan kepiye pangguna mbantu kita ngetrapake fitur sing migunani

Control Plane uga komunikasi karo CloudGate. Kajaba iku, laporan kasebut ing ngendi lan mesin virtual sing diinstal, apa alamate. Iki ngidini sampeyan ngarahake lalu lintas eksternal lan lalu lintas saka balancers menyang wong-wong mau.

Lalu lintas sing ninggalake VPC teka menyang CloudGate, ing jalur data, ing ngendi VPP karo plugin kita cepet dikunyah. Banjur lalu lintas dijupuk menyang VPC liyane, utawa metu, menyang pinggiran router, sing dikonfigurasi liwat Control Plane saka CloudGate dhewe.

Plans kanggo mangsa cedhak

Yen kita ngringkes kabeh sing kasebut ing ndhuwur ing sawetara ukara, kita bisa ujar manawa VPC ing Yandex.Cloud ngrampungake rong masalah penting:

  • Nyedhiyakake pamisahan antarane klien sing beda.
  • Nyawiji sumber daya, infrastruktur, layanan platform, awan liyane lan ing lokasi dadi jaringan siji.

Lan kanggo ngatasi masalah kasebut kanthi becik, sampeyan kudu mesthekake skalabilitas lan toleransi kesalahan ing tingkat arsitektur internal, yaiku apa sing ditindakake VPC.

Mboko sithik, VPC entuk fungsi, kita ngleksanakake fitur-fitur anyar, lan nyoba kanggo nambah soko ing syarat-syarat penak kanggo pangguna. Sawetara gagasan disuarakake lan kalebu ing dhaptar prioritas thanks kanggo anggota masyarakat kita.

Saiki kita duwe kira-kira dhaptar rencana ing mangsa ngarep:

  • VPN minangka layanan.
  • Instance DNS pribadi - gambar kanggo nyetel mesin virtual kanthi cepet kanthi server DNS sing wis dikonfigurasi.
  • DNS minangka layanan.
  • Penyeimbang beban internal.
  • Nambahake alamat IP "putih" tanpa nggawΓ© ulang mesin virtual.

A balancer lan kemampuan kanggo ngalih alamat IP kanggo mesin virtual wis digawe wis klebu ing dhaftar iki ing panjalukan saka pangguna. Jujur, tanpa umpan balik sing jelas, kita bakal nindakake fungsi kasebut mengko. Dadi kita wis nggarap masalah babagan alamat.

Kaping pisanan, alamat IP "putih" mung bisa ditambahake nalika nggawe mesin. Yen pangguna kelalen nindakake iki, mesin virtual kudu digawe maneh. Padha dadi kanggo njabut IP eksternal yen perlu. Ora suwe bakal bisa nguripake lan mateni IP umum tanpa kudu nggawΓ© ulang mesin kasebut.

Bebas bae kanggo nyebut Panjenengan gagasan lan saran dhukungan pangguna liyane. Sampeyan mbantu kita nggawe Cloud luwih apik lan entuk fitur penting lan migunani luwih cepet!

Source: www.habr.com

Add a comment