Aloha ʻoe, ʻo Kostya Kramlich koʻu inoa, ʻo wau ke alakaʻi alakaʻi o ka mahele Virtual Private Cloud ma Yandex.Cloud. Ke hana nei au ma kahi pūnaewele virtual, a, e like me kāu e manaʻo ai, ma kēia ʻatikala e kamaʻilio wau e pili ana i ka polokalamu Virtual Private Cloud (VPC) ma ka laulā a me ka pūnaewele virtual. A e ʻike pū ʻoe i ke kumu o mākou, nā mea hoʻomohala lawelawe, mahalo i nā manaʻo mai kā mākou mea hoʻohana. Akā ʻo ka mea mua.
He aha ka VPC?
I kēia mau lā, aia nā ʻano koho no ka hoʻolaha ʻana i nā lawelawe. Manaʻo wau e mālama ana kekahi i kahi kikowaena ma lalo o ka pākaukau o ka luna hoʻomalu, ʻoiai ke manaʻolana nei au e emi mai ana nā moʻolelo like ʻole.
I kēia manawa ke hoʻāʻo nei nā lawelawe e neʻe i nā ao ākea, a ma laila lākou e hālāwai ai me nā VPC. He ʻāpana ʻo VPC o ke ao lehulehu e hoʻopili ai i ka mea hoʻohana, ka ʻenehana, ka paepae a me nā mana ʻē aʻe, ma nā wahi a pau, ma kā mākou Cloud a i ʻole. Ma ka manawa like, ʻae ʻo VPC iā ʻoe e pale i ka hōʻike ʻana i kēia mau mana i ka Pūnaewele me ka pono ʻole; noho lākou i loko o kāu pūnaewele kaʻawale.
He aha ke ʻano o ka ʻoihana pūnaewele mai waho
ʻO ka VPC ke manaʻo nei mākou, ʻo ka mea mua, kahi pūnaewele overlay a me nā lawelawe pūnaewele, e like me VPNaaS, NATaas, LBaas, a me nā mea ʻē aʻe.
E nānā pono kākou i ka pūnaewele virtual a me kona ʻano.
E nānā kākou i ʻelua mau ʻāpana loaʻa. Hāʻawi mākou i kahi pūnaewele virtual - ka mea a mākou i kapa ai ʻo VPC. ʻOiaʻiʻo, wehewehe ia i ka wahi kūʻokoʻa o kāu mau ʻōlelo "hina". I loko o kēlā me kēia pūnaewele virtual, loaʻa iā ʻoe ka mana piha ma luna o ka hakahaka o nā helu wahi āu e hiki ai ke hoʻonohonoho i nā kumuwaiwai helu.
ʻO ka pūnaewele puni honua. I ka manawa like, ua kuhi ʻia ia ma kēlā me kēia o nā ʻāpana i loaʻa ma ke ʻano o kahi hui i kapa ʻia ʻo Subnet. No kēlā me kēia Subnet, hāʻawi ʻoe i kahi CIDR o ka nui 16 a i ʻole. Hiki ke loaʻa i kēlā me kēia wahi i loaʻa nā ʻano like ʻole ma mua o hoʻokahi, a aia mau ke ala ʻike ma waena o lākou. ʻO ia ke ʻano o kāu mau kumuwaiwai āpau i loko o ka VPC hoʻokahi hiki ke "kamaʻilio" kekahi i kekahi, ʻoiai inā aia lākou i nā ʻāpana ʻokoʻa. "E kamaʻilio" me ka loaʻa ʻole o ka Pūnaewele, ma o kā mākou mau kikowaena kūloko, "manaʻo" aia lākou i loko o ka pūnaewele pilikino like.
Hōʻike ke kiʻikuhi ma luna nei i kahi kūlana maʻamau: ʻelua VPC e hui pū ana ma kahi o kā lākou mau ʻōlelo. Hiki iā ʻoe nā mea ʻelua. No ka laʻana, hoʻokahi no ka hoʻomohala ʻana, ʻo kekahi no ka hoʻāʻo. Loaʻa paha nā mea hoʻohana ʻokoʻa - i kēia hihia ʻaʻole ia he mea nui. A loaʻa i kēlā me kēia VPC hoʻokahi mīkini virtual.
E hoʻonui kāua i ka papahana. Hiki iā ʻoe ke hoʻohui i hoʻokahi mīkini virtual i kekahi mau Subnets i ka manawa hoʻokahi. A ʻaʻole like wale nō, akā ma nā pūnaewele virtual ʻē aʻe.
I ka manawa like, inā pono ʻoe e hōʻike i nā mīkini ma ka Pūnaewele, hiki ke hana ʻia ma o ka API a i ʻole UI. No ka hana ʻana i kēia, pono ʻoe e hoʻonohonoho i ka unuhi NAT o kāu "hina", ʻōlelo kūloko, i loko o kahi "keʻokeʻo" - helu lehulehu. ʻAʻole hiki iā ʻoe ke koho i kahi helu "keʻokeʻo"; ua hāʻawi wale ʻia mai kā mākou kolamu helu wahi. Ke ho'ōki ʻoe i ka hoʻohana ʻana i ka IP waho, hoʻi ia i ka wai. Uku wale ʻoe no ka manawa āu e hoʻohana ai i ka helu "keʻokeʻo".
Hiki nō hoʻi ke hāʻawi i ka mīkini i ka ʻike pūnaewele me ka hoʻohana ʻana i kahi ʻano NAT. Hiki iā ʻoe ke hoʻokele i ke kaʻa i kāu hihia ma o ka papa kuhikuhi static. Ua hoʻolako mākou i kahi hihia no ka mea pono i nā mea hoʻohana i kekahi manawa, a ʻike mākou e pili ana iā ia. No laila, i loko o kā mākou papa kuhikuhi kiʻi aia kahi kiʻi NAT i hoʻonohonoho kūikawā ʻia.
Akā ʻoiai aia kahi kiʻi NAT mākaukau, hiki ke paʻakikī ka hoʻonohonoho. Ua hoʻomaopopo mākou no kekahi mau mea hoʻohana ʻaʻole kēia ka koho maʻalahi loa, no laila i ka hopena ua hiki iā mākou ke hiki iā NAT no ka Subnet makemake i hoʻokahi kaomi. Aia kēia hiʻohiʻona i loko o ka hiki ke nānā mua ʻia, kahi e hoʻāʻo ʻia ai me ke kōkua o nā lālā kaiāulu.
Pehea ka hana ʻana o kahi ʻupena uila mai loko mai
Pehea e launa pū ai ka mea hoʻohana me ka ʻoihana pūnaewele? Nānā waho ka pūnaewele me kāna API. Hele mai ka mea hoʻohana i ka API a hana pū me ka mokuʻāina. Ma o ka API, ʻike ka mea hoʻohana i ke ʻano o ka hoʻonohonoho ʻana a me ka hoʻonohonoho ʻana i nā mea āpau, ʻoiai ʻo ia e ʻike i ke kūlana, pehea ka ʻokoʻa o ka mokuʻāina maoli mai ka mea i makemake ʻia. ʻO kēia ke kiʻi o ka mea hoʻohana. He aha ka hana i loko?
Hoʻopaʻa mākou i ka mokuʻāina i makemake ʻia i ka Yandex Database a hele e hoʻonohonoho i nā ʻāpana like ʻole o kā mākou VPC. Kūkulu ʻia ka pūnaewele overlay ma Yandex.Cloud ma ke kumu o nā mea i koho ʻia o OpenContrail, i kapa ʻia ʻo Tungsten Fabric. Hoʻokō ʻia nā lawelawe pūnaewele ma kahi kahua CloudGate hoʻokahi. Ma CloudGate, ua hoʻohana pū mākou i kekahi mau ʻāpana kumu wehe: GoBGP no ka mālama ʻana i ka ʻike mana, a me VPP no ka hoʻokō ʻana i kahi mea hoʻokele polokalamu e holo ana ma luna o DPDK no ke ala ʻikepili.
Kūkākūkā ʻo Tungsten Fabric me CloudGate ma o GoBGP. Hōʻike i nā mea e hana nei ma ka pūnaewele overlay. Hoʻopili ʻo CloudGate i nā pūnaewele overlay i kekahi i kekahi a me ka Pūnaewele.
I kēia manawa, e nānā kākou i ka hoʻoponopono ʻana o kahi ʻoihana virtual i nā pilikia scalability a me ka loaʻa. E noʻonoʻo kākou i kahi hihia maʻalahi. Aia hoʻokahi wahi i loaʻa a ua hana ʻia ʻelua VPC i loko. Ua kau mākou i hoʻokahi laʻana Tungsten Fabric, a loaʻa iā ia he mau ʻumi kaukani o nā pūnaewele. Kūkākūkā nā pūnaewele me CloudGate. CloudGate, e like me kā mākou i ʻōlelo ai, e hōʻoia i kā lākou pilina me kekahi a me ka Pūnaewele.
E ʻōlelo kākou ua hoʻohui ʻia ka lua o ka Availability Zone. Pono e hāʻule kūʻokoʻa i ka mea mua. No laila, pono mākou e hoʻokomo i kahi hiʻohiʻona Tungsten Fabric kaʻawale i ka lua o ka loaʻa. He ʻōnaehana kaʻawale kēia e mālama i ka uhi a ʻike liʻiliʻi e pili ana i ka ʻōnaehana mua. A ʻo ka hiʻohiʻona o kā mākou pūnaewele virtual he honua, ʻoiaʻiʻo, hana mākou i kā mākou VPC API. ʻO kāna hana kēia.
Hoʻopaʻa ʻia ʻo VPC1 i ka Availability Zone B inā loaʻa nā kumuwaiwai B i pili i ka VPC1. Inā ʻaʻohe kumu waiwai mai VPC2 ma ka wahi hiki ke loaʻa B, ʻaʻole mākou e hoʻokō i ka VPC2 ma kēia wahi. Ma ka huli ʻana, ʻoiai aia nā kumuwaiwai mai VPC3 ma ka ʻāpana B wale nō, ʻaʻole i loaʻa ʻo VPC3 ma ka ʻāpana A. He maʻalahi a kūpono nā mea a pau.
E hele hohonu a ʻike i ka hana ʻana o kahi hoʻokipa kikoʻī ma Y.Cloud. ʻO ka mea nui aʻu e makemake ai e hoʻomaopopo, ua hoʻolālā ʻia nā mea hoʻokipa āpau. Hoʻomaopopo mākou ʻo ka hapa liʻiliʻi o nā lawelawe e holo ma luna o ka lako lako; holo nā koena āpau ma nā mīkini virtual. Kūkulu mākou i nā lawelawe kiʻekiʻe e pili ana i nā lawelawe ʻoihana kumu, a hoʻohana pū i ka Cloud no ka hoʻoponopono ʻana i kekahi mau pilikia ʻenekinia, no ka laʻana, ma ke ʻano o ka Continuous Integration.
Inā mākou e nānā i kahi host kikoʻī, hiki iā mākou ke ʻike aia ʻekolu mau ʻāpana e holo ana i ka host OS:
- ʻO Compute ke kuleana no ka hāʻawi ʻana i nā kumuwaiwai computing ma ka host.
- ʻO VRouter kahi ʻāpana o ka Tungsten Fabric, nāna e hoʻonohonoho i ka uhi ʻana, ʻo ia hoʻi, e hoʻokuʻu i nā ʻeke ma ka lalo.
- ʻO VDisks nā ʻāpana o ka virtualization mālama.
Eia kekahi, holo nā mīkini virtual i nā lawelawe: nā lawelawe ʻoihana Cloud, nā lawelawe platform a me ka hiki ke kūʻai aku. Hele mau nā mana o nā mea kūʻai aku a me nā lawelawe paepae i ka overlay ma o VRouter.
Hiki i nā lawelawe infrastructure ke hoʻopili i ka overlay, akā makemake lākou e hana i ka underlay. Hoʻopili ʻia lākou i ka underlay me ka hoʻohana ʻana iā SR-IOV. ʻOiaʻiʻo, ʻoki mākou i ke kāleka i loko o nā kāleka pūnaewele virtual (nā hana virtual) a hoʻokuʻu iā lākou i loko o nā mīkini virtual infrastructure i ʻole e nalowale ka hana. No ka laʻana, ua hoʻolauna ʻia ka CloudGate like me kekahi o kēia mau mīkini virtual infrastructure.
I kēia manawa ua wehewehe mākou i nā hana honua o kahi pūnaewele virtual a me ka hoʻolālā ʻana o nā ʻāpana kumu o ke ao, e nānā pono i ke ʻano o ka pili ʻana o nā ʻāpana like ʻole o ka pūnaewele virtual me kekahi.
Hoʻokaʻawale mākou i ʻekolu papa i kā mākou ʻōnaehana:
- Config Plane - hoʻonohonoho i ke kūlana o ka ʻōnaehana. ʻO kēia ka mea hoʻohana i hoʻonohonoho ma o ka API.
- Mana Manaʻo - hāʻawi i nā semantics i hoʻohālikelike ʻia e ka mea hoʻohana, ʻo ia hoʻi, lawe mai i ke kūlana o ka Plane Data i ka mea i wehewehe ʻia e ka mea hoʻohana i ka Config Plane.
- Plane Data - hoʻoponopono pololei i nā ʻeke mea hoʻohana.
E like me kaʻu i ʻōlelo ai ma luna, hoʻomaka nā mea āpau me ka mea hoʻohana a i ʻole ka lawelawe kahua kikowaena e hele mai ana i ka API a wehewehe i kahi mokuʻāina.
Ua kākau koke ʻia kēia mokuʻāina i ka Yandex Database, hoʻihoʻi i ka ID o ka hana asynchronous ma o ka API, a hoʻomaka i kā mākou mīkini kūloko e hana i ka mokuʻāina i makemake ʻia e ka mea hoʻohana. Hele nā hana hoʻonohonoho i ka mea hoʻoponopono SDN a haʻi iā Tungsten Fabric i nā mea e pono ai ke hana i ka overlay. No ka laʻana, mālama lākou i nā awa, nā pūnaewele virtual, a me nā mea like.
Hoʻouka ka Config Plane ma Tungsten Fabric i ke kūlana i koi ʻia i ka Plane Control. Ma o ia mea, kamaʻilio ʻo Config Plane me nā pūʻali, e haʻi pololei iā lākou i ka mea e holo ai ma luna o lākou i ka wā e hiki mai ana.
I kēia manawa e ʻike kākou i ke ʻano o ka ʻōnaehana ma nā mea hoʻokipa. Loaʻa i ka mīkini virtual kahi mea hoʻopili pūnaewele i hoʻopili ʻia i ka VRouter. ʻO VRouter kahi module kumu Tungsten Fabric e nānā i nā ʻeke. Inā loaʻa kahi kahe no kekahi ʻeke, hoʻoponopono ke module. Inā ʻaʻohe kahe, hana ka module i kapa ʻia ʻo punting, ʻo ia hoʻi, hoʻouna ʻo ia i ka ʻeke i ke kaʻina usermod. Hoʻopili ke kaʻina hana i ka ʻeke a pane iā ia iho, e like me DHCP a me DNS, a i ʻole e haʻi iā VRouter i ka mea e hana ai me ia. Hiki iā VRouter ke hana i ka ʻeke.
Eia hou, ke kahe ʻana o nā kaʻa ma waena o nā mīkini virtual i loko o ka pūnaewele virtual like, ʻaʻole i hoʻouna ʻia i CloudGate. ʻO nā pūʻali kahi i kau ʻia ai nā mīkini virtual e kamaʻilio pololei me kekahi i kekahi. Hoʻokaʻawale lākou i nā kaʻa a hoʻouna i kekahi i kekahi ma o ka lalo.
Kūkākūkā nā Planes Control me kekahi i kekahi ma nā ʻāpana Loaʻa ma o BGP, e like me kahi alalai ʻē aʻe. Hōʻike lākou iā ʻoe i nā mīkini i hoʻokomo ʻia i kahi, i hiki ai i nā mīkini virtual ma kahi ʻāpana ke kamaʻilio pololei me nā mīkini virtual ʻē aʻe.
Kūkākūkā pū ʻo Control Plane me CloudGate. Pēlā nō, hōʻike ia i kahi a me nā mīkini virtual i hoʻokomo ʻia, he aha kā lākou mau ʻōlelo. Hāʻawi kēia iā ʻoe e kuhikuhi i nā kaʻa waho a me nā kaʻa mai nā mea kaulike iā lākou.
Hele mai nā kaʻa e haʻalele i ka VPC i CloudGate, ma ke ala ʻikepili, kahi e ʻoki koke ʻia ai ka VPP me kā mākou plugins. A laila ua pana ʻia ke kaʻa i nā VPC ʻē aʻe, a i waho paha, i nā ala ala, i hoʻonohonoho ʻia ma o ka Mana Mana o CloudGate ponoʻī.
Nā papahana no ka wā e hiki mai ana
Inā mākou e hōʻuluʻulu i nā mea a pau i ʻōlelo ʻia ma luna i kekahi mau huaʻōlelo, hiki iā mākou ke ʻōlelo ʻo VPC ma Yandex.Cloud e hoʻonā i ʻelua mau pilikia koʻikoʻi:
- Hāʻawi i kahi kaʻawale ma waena o nā mea kūʻai like ʻole.
- Hoʻohui i nā kumuwaiwai, nā ʻoihana, nā lawelawe platform, nā ao ʻē aʻe a ma ka hale i loko o kahi pūnaewele hoʻokahi.
A no ka hoʻoponopono maikaʻi ʻana i kēia mau pilikia, pono ʻoe e hōʻoia i ka scalability a me ka hoʻomanawanui hewa i ka pae o ka hoʻolālā kūloko, ʻo ia ka mea a VPC e hana ai.
Me ka liʻiliʻi, loaʻa ʻo VPC i nā hana, ke hoʻokō nei mākou i nā hiʻohiʻona hou, a ke hoʻāʻo nei e hoʻomaikaʻi i kekahi mea e pili ana i ka maʻalahi o nā mea hoʻohana. Hoʻopuka ʻia kekahi mau manaʻo a hoʻokomo ʻia i ka papa inoa o nā mea nui e hoʻomaikaʻi i nā lālā o ko mākou kaiāulu.
I kēia manawa ua loaʻa iā mākou ka papa inoa o nā hoʻolālā no ka wā e hiki mai ana:
- VPN ma ke ʻano he lawelawe.
- Nā hiʻohiʻona DNS pilikino - nā kiʻi no ka hoʻonohonoho wikiwiki ʻana i nā mīkini virtual me kahi kikowaena DNS i hoʻonohonoho mua ʻia.
- DNS ma ke ano he lawelawe.
- Kaulike haawe kūloko.
- Hoʻohui i kahi helu IP "keʻokeʻo" me ka hana ʻole ʻana i ka mīkini virtual.
ʻO kahi mea kaulike a me ka hiki ke hoʻololi i ka IP address no kahi mīkini virtual i hana mua ʻia i loko o kēia papa inoa ma ke noi o nā mea hoʻohana. ʻO kaʻoiaʻiʻo, me ka ʻole o ka manaʻo manaʻo e lawe mākou i kēia mau hana ma hope iki. A no laila ke hana nei mākou i ka pilikia e pili ana i nā ʻōlelo.
I ka hoʻomaka ʻana, hiki ke hoʻohui ʻia kahi helu IP "keʻokeʻo" i ka wā e hana ai i kahi mīkini. Inā poina ka mea hoʻohana e hana i kēia, pono e hana hou ʻia ka mīkini virtual. Pēlā nō no ka wehe ʻana i ka IP waho inā pono. ʻAʻole koke e hiki ke hoʻohuli i kahi IP lehulehu me ka ʻole e hana hou i ka mīkini.
E ʻoluʻolu e hōʻike i kāu
Source: www.habr.com