Korábban már olvastuk, hogy az a központi, hálózati kapcsolatokért és bizonyos felhő erőforrások közötti kapcsolatért a VNET a felelős. Ez a hálótat alapja. Azonban szükségünk van olyan erőforrásra is, ami a biztosítja, hogy virtuális gépeink kommunikáljanak az internettel, az Azure-ral és a egyéb, az előfizetésünkben lévő erőforrásokkal.
Ez az erőforrás a hálózati adapter (nic), amely olyan mint a saját számítógépünkben lévő hálózati kártyák (vezetékes vagy vezeték nélküli). Annak egy virtuális változata, ami vezetékes hálózati kapcsolatot emulál.
A hálózati kártyát úgy kell elképzelni mint egy kábelt, amely egyik fele a virtuális gépünkhöz csatlakozik, másik vége pedig valamelyik (ugyanabban az előfizetésben és régióban létező) virtuális hálózat egyik alhálózatához. (természetesen ez egy nagyon leegyszerűsített leírás, de ez a legegyszerűbb)
Egyedi IP-cím
A hálózati kártya, amint csatlakozik a hálózathoz kap egy IP-címet abból az alhálózatból amelyhez csatlakozik. Ez lehet IPv4-es vagy IPv6-os cím. Mivel minden hálózati kártya egyedi IP-címet kap, így minden virtuális gép, ezen keresztül, egyértelműen azonosítható. Ez azt jelenti, hogy a hálózati forgalom zavartalanul folyik a virtuális hálózatra csatlakoztatott erőforrások között.
Az IP-címet a hálózati kártya tárolja, de a virtuális gép is látja és kezeli.
IP-címet kétféleképpen kaphat egy hálózati kártya (virtuális gép):
Automatikusan kap egyet az alhálózaton eléthető IP-címek közül. Ezt DHCP-nek (Dynamic Host Configuration Protocol) nevezzük.
Manuálisan, kézzel állítjuk be az IP-címét a gépnek az alhálózaton eléthető IP-címek közül. Ennek kockázata, hogy ha nem figyelünk, akkor két virtuális gépnek is adhatjuk ugyanazt az IP-címet. Ez IP-cím ütközéshez vezet, amely elérhetetlenné teszi mindkét gépet, amelyek ugyanazt az IP-címet használják. Erre figyeljünk, ha kézzel szeretnénk beállítani egy gép IP-címét!
Nyilvános IP-cím
Ahhoz hogy egy virtuális gép elérhető legyen az internet felől, ahhoz egy úgynevezett nyilvános IP-címmel kell rendelkeznie. Ez egy külön erőforrás, amelyről a nyilvános IP-címnél részletezek.
Biztonság a hálózaton
Nagyon jó dolog, hogy minden virtuális gép zavartalanul kommunikálhat a virtuális hálózaton belül, de az esetek 99 százalékában kell valamilyen megszorítást, kontrolt alkalmaznunk, hogy megvédjük az alkalmazásainkat az illetéktelen behatolóktól, rosszindulatú támadásoktól és a szükségtelen hozzáférésektől.
Erre is sok lehetőségünk van az Azure-ban. Például:
Alhálózatok használata a hálózaton: Segít logikailag és/vagy szerepkörök alapján csoportosítani az erőforrásokat.
Hálózatbiztonsági csoport (NSG): Ez egy hálózati forgalom szűrő megoldás
Alkalmazásbiztonsági csoport (ASG): Ennek segítségével valamilyen feltétel alapján csoportosítani tudjuk a virtuális gépeinket, majd ezekre az ASG-kre tudunk hálózatbiztonsági csoportban szabályokat definiálni.
Virtuális hálózati kapcsolat (VNet Peering): Két virtuális hálózatot tudunk vele összekötni Azure-on belül.
VPN Gateway és ExpressRoute: Azure-on kívülről való biztonságos kapcsolathoz VPN kapcsolat használata.
Azure Firewall: Tűzfal alkalmazása a hálózaton, a magasabb biztonságért.
Házirendek (Policy) és jogosultságok (RBAC) alkalmazása az előfizetésen belül.
Azure Monitor: Segít azonosítani és naplózni a hozzáféréseket, amelyek alapján risztásokat állíthatunk be vagy riasztásokat hozhatunk létre.
Egy vagy több hálózati adapter
Amikor létrehozunk egy virtuális gépet a portálon, akkor alapértelmezetten csupán egy hálózati adapter jön létre. Ez azonban nem jelenti azt, hogy ne adhatnánk hozzá több hálózati kártyát is egy virtuális géphez.
Így attól függően, hogy milyen felhasználási esetre szeretnék egy gépet létrehozni, utólag is hozzáadhatunk több hálózati adaptert is. A hozzáadott hálózati adapterek, akár más-más virtuális hálózathoz is csatlakozhatnak.
Néhány ilyen felhasználási eset:
Nagyobb sávszélesség elérése: Ma már az operációs rendszerek támogatják, hogy több hálózati kártyát egy nagy hálózati kártyaként használnak. Ezzel nagyobb sávszélességet lehet elérni.
Hálózati redundancia és rendelkezésre állás: Habár a hálózati adapterek a felhőben szinte mindig elérhetőek, azért vannak esetek, amikor 100%-ra szeretnénk menni. Ez esetben több hálózati kártyát hozunk létre ugyanabban a virtuális hálózatban (alhálózatban)
Több virtuális hálózat összekapcsolása: Amikor az alkalmazásunknak több virtuális hálózatba és/vagy alhálózatba kell „belelátnia”. Ez akkor lehet valós eset, amikor egy szervernek több hálózathoz kell tudnia csatlakoznia (front-end, back-end).
Több ip-alapú szolgáltatás nyújtása: Egy virtuális gépen olyan alkalmazás fut, amely több IP-címen keresztül biztosítja az elérést a felhasználóknak.
Ha több hálózati adaptert használunk, akkor figyelnünk kell a forgalom irányításra (routing) is.
Hogyan csináljuk?
Ahogy minden Azure erőforrást, ezt is kezelhetjük többféle képpen:
Azure Portál
Azure-Cli
ARM template (sablon)
Vagy valamilyen infrastruktúra kezelő eszköz. (pl.: Terraform, OpenTofu)
Ennyire egyszerű a hálózati adapter, amin sok múlik a felhőben. 🙂
Jól ismeri mindenki a számítógépeket. Van benne processzor, memória, valamilyen háttértároló. Emellett van benne hálózati kártya, amellyel igény szerint csatlakozhatunk az internetre.
A felhőben lévő virtuálisgépek, virtuális szerverek is ilyenek. A különbség csupán annyi, hogy a felhőben ezeket a gépeket nem érinthetjük meg és egy-egy ilyen gépet akár percenként módosíthatunk, ha ahhoz van kedvünk. Adhatunk hozzá memóriát, virtuális processzormagot, lemezeket és még hálózati kártyát is. És ugyanilyen módon el is vehetjük ezeket, vag törölhetjük az egész gépet. Ugye milyen izgalmas?
Az a nagyszerű a virtuális gépekben, hogy rugalmasan létrehozhatunk és törölhetünk bármennyit amennyire csak szükségünk van. Nyilvánosan elérhetővé tudjuk őket tenni az interneten bárki számára, vagy biztonságosan elzárhatjuk őket a kíváncsi szemek elől. Ez csupán attól függ, milyen felhasználási esetre szeretnénk használni ezeket az erőforrásokat. Tudunk eléjük terheléselosztót konfigurálni, hogy ezzel magas rendelkezésre állású rendszereket építsünk. Lehetőségünk van több féle operációs rendszerrel kérni ezeket – Windows, Linux -, szintén attól függően, hogy mit ismerünk vagy mit szeretnénk megvalósítani. És ha kiválasztottuk az általunk ismert operációs rendszert, akkor pedig már túl is vagyunk a legnehezebb részén a dolgoknak. Miért? Mert onnan egy ismerős világba csöppenünk, hiszen miután bejelentkeztünk a virtuális gépünkre, azonnal otthon érezzük magunkat. Mivel a gépet pontosan ugyanúgy tudjuk használni, ahogy azt már megszoktuk a hagyományos számítógépeknél.
És mielőtt továbbmennénk szeretnék felsorolni néhány igen hasznos tulajdonságot, amire képesek a virtuális gépek:
Nagy teljesítmény
Automatikus skálázás
Több operációs rendszer támogatása (Windows, Linux)
Gyors biztonsági mentés és visszaállítás
Beépített figyelési és felügyeleti eszközök
Mesterséges intelligencia, videókártya és nagy teljesítményű adatfeldolgozás
Beépített biztonsági eszközök
És még rengeteg apróság, ami miatt a virtuálisgép az egyik legnépszerűbb felhő erőforrás az Azure-ban is. Mivel ez nevezhető hagyományos erőforrásnak és mellette egy valódi svájci bicska, így érthető, hogy amikor felhőbe költözésről beszélünk, a legnyilvánvalóbb megoldás, hogy „lift-and-shift” megközelítéssel virtuális gépekre költöztetjük a cégünk alkalmazásait.
Összetevők
A virtuális gép összetevőiről érintőlegesen már beszéltünk, hiszen hasonló mint az otthoni számítógépünk, csak ez a felhőben van. Azonban ennyivel mi nem elégszünk meg és mélyebbre szeretnénk ásni. Igaz?
A virtuális gép legfontosabb építőelemei a kövezkezők Azure-ban:
Virtuális gép: Maga az erőforrás, ami összefogja a többi erőforrást.
Virtuális processzor, virtuális mag: a számítási teljesítményt meghatározó egyik paramétere is a virtuális gépnek. Minél több virtuális mag van egy gépben, annál gyorsabb és annál több számítást tud elvégezni.
Memória: a memória, vagyis a RAM tárolja az aktuálisan futó alkalmazásokat és folyamatokat, így azok gyorsabban elérhetők a CPU számára, mint ha állandó tárhelyről (pl. lemezről) kellene őket betölteni. Ez valójában egy nagyon gyors átmeneti tároló a számítógép számára. Ha a gépet lekapcsoljuk, a memória tartalma elvész.
Tárhely (lemez): Ez lesz a gép helyi lemezmeghajtója, ahol az adatok tárolása történik. Kétféle lemezt különböztetünk meg. Az egyik, amelyen az operációs rendszer tárolódik, a másik pedig az adatlemez, amit opcionálisan adhatunk a géphez (akár többet is). Az adatlemezen fogjuk tárolni az alkalmazásaink adatait. Emellett van a gépek nagy részében egy úgynevezett átmeneti lemez, amelyen átmenetileg tárolhatunk fájlokat, amíg a gépünk fut. (vigyázz! az átmeneti lemez adatai törlődhetnek minden újraindítás után)
Hálózati kártya (NIC): A virtuális gépeknek szüksége van hálózati kapcsolatra, hogy elérhetőek legyenek, vagy ők érjenek el más szolgáltatásokat. (Pl.: internet). Ezért legalább 1 db hálózati kártyát hozzá kell adnunk a géphez. Ez a hálózati kártya csatlakozik majd egy általunk kiválasztott virtuális hálózat egyik alhálózatához. Ezután ezen keresztül folyik a kommunikáció. Ehhez a kártyához tudunk beállítani privát és nyilvános IP címet is.
Operációs rendszer: Ez határozza meg, hogy milyen alkalmazásokat futtatunk. Az operációs rendszer Azure-ban lehet Windows vagy Linux.
Monitorozás és diagnosztika: Az Azure Monitor és más eszközök segítségével nyomon követheted a virtuális gépek teljesítményét, hálózati forgalmát, és az alkalmazások állapotát, valamint riasztásokat állíthatsz be kritikus eseményekre. Ez lesz a szemünk és a fülünk.
Egyéb összetevők:
Mentés és helyreállítás (Backup, Restore): rendszeresen tudjuk menteni gépeinket
Biztonsági szabályok: Hálózatbiztonsági csoportokkal (NSG) tudjuk szűrni a hálózati forgalmat. Ezzel is biztonságosabbá tenni a gépeinket és alkalmazásainkat.
Automatikus leállítás: Lehetőségünk van, hogy gépeink leálljanak egy előre meghatározott időpontban. Ezzel is sok költséget tudunk megtakarítani.
Rendelkezésreállási zónák és -készletek: A virtuális gépek mögötti fizikai infrastruktúrában is lehetnek tervezett munkálatok vagy nem tervezett kiesések. Ezek áthidalása végett tudunk olyan alapvető rendelkezésre állá növelő eszközöket használni, amelyek egy-egy ilyen esemény bekövetkezésekor segítenek üzletmenetünk folytonosságának megtartásában.
Automatikus skálázás: Lehetőségünk van automatikusan is skálázni virtuális gépeinket. Ez a skálázás (teljesítmény növelés vagy csökkentés) történhet teljesítmény, idő vagy előrejelzés alapon.
Frissítési tartomány (Update Domain): Rendelkezésreállási készletek esetén, amikor frissítik a fizikai gépeket (gazda gép) az adatközpontban, akkor a meglévő VM-eink hány gazda gépre legyenek telepítve. Pl.: van 3 virtuális gépünk és update domain értéke 2, akkor 2 db virtuálisgép egyik gazdán és 1 db virtuális gép másik gazdán fut. Így minimum 1 db virtuális gép mindig elérhető lesz.
Tartalék tartomány (Fault Domain): Rendelkezésreállási készletek esetén, a gazda gépek hány rack szekrényben legyenek a szerverteremben. Pl.: 3 gép esetén a fault domain 2, akkor 2 db rack szekrényben lesz a 2 gazda szerver. Ha az egyik rack-ben valami tönkremegy, akkor is minimum 1 db gép elérhető marad.
Virtuális gépek típusai
Azt már tudjuk, hogy létrehozhatunk Windows és Linux alapú gépeket Azure-ban. Emellett azonban fontos számunkra, hogy alkalmazásaink számára mindig elegendő erőforrás álljon rendelkezésre.
Ahogy nincs két egyforma ember, úgy nincs két egyforma alkalmazás sem. Tehát az alkalmazásainknak lesz egy bizonyos karakterisztikája, ami meghatározza, milyen erőforrásokból van szüksége többre és melyekből kevesebbre.
Van olyan alkalmazásunk, amely nagy számítási igényű és nem kell túl sok memória az optimális működéshez. Ezen alkalmazásokhoz olyan virtuális gépre lesz szükségünk, amelyben több a virtuális CPU és nem feltétlenül sok a memória. És lesznek olyan alkalmazások – például az SQL szerverek – amelyek estén az a legjobb ha minél több memória van a virtuális gépben, mert akkor a lehető legtöbb adatot a memóriában tartva, nagyon gyorsan tudjuk visszaadni a sok-sok lekérdezett adatot.
Természetesen azért tipizálhatóak az alkalmazások, amelyekre minden felhőszolgáltató – és köztük a Microsft Azure is – ajánl nekünk virtuális gép típusokat.
Az alábbi virtuális gép típusokat különbözetünk meg:
Ezen géptípusokból több méretet is kiválaszthatunk amikor virtuális gépet hozunk létre. Általában az alábbi szempontok alapján választunk gépméretet:
CPU (virtuális processzormagok) száma
RAM (memória) mérete
Csatolható adatlemezek száma
Maximális IOPS-érték
Átmeneti tároló mérete
Prémium lemez támogatottsága
Költség (havonta)
Igen, a mértet befolyásolja a gép költségét. Minél jobb (több CPU, több RAM, stb.) gépet szeretnénk létrehozni, annak a havi díja annál magasabb lesz. Tehát azt javaslom, tervezzük meg alaposan, milyen gépre is van szükségünk, még azelőtt, hogy egy több százezer forintos számlát kapnánk. És hogy hogyan?
Ezzel készíthetünk nagyon jó megközelítéssel kalkulációkat, még mielőtt egy forintot is ki kellene adnunk.
Egyéb tudnivalók
Nagyjából mindent tudunk már a virtuális gépekről, mégis maradt néhány fontos dolog, amit szeretnék megemlíteni.
Saját licenc
Lehetőségünk van saját licenceinket (elsősorban Windows) felhasználni Azure-ban, így tovább csökkenthetjük a költségeket.
Ha nem használod, kapcsold le!
Mint minden felhőszolgáltatónál, itt is igaz, hogy ha egy számítógép nem fut, akkor nem növeli a költségeinket. Ezért kiemelten foltos, hogy minden olyan virtuális gépet, amit nem használunk, kapcsoljunk le!
Azure-ban ezzel kapcsolatban van egy sajátosság. Az Azure virtuális gépeknek 3 állapota van:
Fut – Run: Gép működik
Leállítva – Stopped: Gép le van állítva, de a futáshoz szükséges erőforrások zárolva vannak. Így továbbra is annyit fizetünk érte, mintha futna.
Leállítva (felszabadítva) – Stopped (deallocated): Gép le van állítva és erőforrásai fel vannak szabadítva. Ezen állapotban a virtuális gép nem növeli a költségeinket.
Tehát, ha valóban szeretnénk leállítani a gépet, akkor állítsuk Leállítva (felszabadítva) állapotba!
Különleges virtuális gépek
Vannak különleges gépek, illetve olyan lehetőségek, amelyekkel további felhasználási eseteket tudunk megvalósítani.
Dedikált kiszolgáló
Spot VM
Fenntartott példány
Virtuálisgép-méretezési csoport
Ezek azok az alapvető információk, amelyeket tudni érdemes a virtuális gépekről. Ahogy látod, ez egy elég nagy témakör és én is tudnék még írni erről rengeteget.
Azt javaslom, hogy próbáld ki magad is egy-egy virtuális gép létrehozásával, hogy belekóstolj ebbe a mesés világba. 🙂
A virtuális hálózat egy logikai izolációs réteg, amely a felhőben létrehozott erőforrásaink közötti stabil, gyors és biztonságos kommunikáció biztosítja.
Felhőben a virtuális hálózat, a hagyományos informatikai fizikai hálózat virtuális megvalósítása. Ennek megfelelően működése majdnem tejesen ugyanúgy történik. Ha valakinek van ismerete a hagyományos informatikai hálózattal kapcsolatban, akkor a virtuális hálózatban is könnyedén el tud igazodni.
Kommunikáció
A VNET-en belül a kommunikáció IP címterek (címtartományok) segítségével történik. Egy virtuális hálózaton belül egy vagy több alhálózat hozható létre. Ezen alhálózatoknak szintén van saját IP címtartománya. Az alhálózatok címtartományai a virtuális hálózat címtartományán belül kell lennie.
Az alhálózatok IP címtartománya között nem lehet átfedés.
Az Azure virtuális hálózat támogatja az IPv4 és IPv6 típusú IP címeket.
Példa:
IPv4: 192.168.15.200
IPv6: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
Csatlakozás
Nem minden típusú erőforrás csatolható a virtuális hálózathoz, hiszen nem minden típusú erőforrás esetén van ennek értelme.
Általánosságban elmondható, hogy az IaaS típusú erőforrások csatolhatók a virtuális hálózathoz, de ez sem minden esetben van így. Mindig ellenőrizzük a hivatalos dokumentáció legfrissebb változatában, hogy mely erőforrásoknak van ilyen lehetősége.
Példa a virtuális hálózathoz csatolható Azure erőforrásokhoz:
App Services Environment (ASE) – Webapp, Mobileapp, stb.
Azure Kubernetes Service (AKS)
Azure VPN Gateway
ExpressRoute Gateway (VPN)
Terheléselosztó (Azure Load Balancer)
Application Gateway (terheléselosztó)
Azure Bastion (jump server)
Hálózatbiztonsági csoport (Network Security Group)
Azure DNS
Emellett vannak még olyan erőforrások, amelyek bizonyos esetekben lehetőséget nyújtanak virtuális hálózat használatához.
Amikor csatlakoztatunk egy erőforrást a virtuális hálózat egyik alhálózatához, az alhálózat rendelkezésre álló IP-címei közül az első három minden esetben foglalt. Ezért, ha egy virtuális gépet létrehozunk, akkor az első IP-cím, amit az alhálózatból megkap, a negyedik cím lesz. (Például, ha az alhálózat címtartománya: 10.10.10.0/24, akkor az első kiosztható IP-cím a 10.10.10.4)
Biztonság
A VNET-en belül a kommunikáció alapértelmezésben biztonságos, így az abban definiált erőforrások közötti kommunikációt kívülről nem lehet elérni.
Természetesen lehetőségünk van az alap biztonság mellett egyéb biztonsági elemeket is konfigurálni a virtuális hálózathoz vagy az ahhoz csatolt erőforrásokhoz. Ezen eszközök magasabb biztonsági szintre emelhetik a szolgáltatásainkat. Például: hálózatbiztonsági csoport, tűzfal, DDoS védelem, stb.
Virtuális hálózatok közötti kapcsolat
Amikor virtuális hálózatokkal dolgozunk, előfordul, hogy szükségünk van két virtuális hálózatban lévő erőforrások közötti biztonságos kommunikáció létrehozására. Ilyen esetben nem célszerű a hálózati forgalmat az interneten keresztül lebonyolítani, hiszen az biztonsági kérdéseket vethet fel.
Erre kínál megoldást a VNET Peering. Ez a megoldás dedikált kapcsolatot hoz létre két VNET között. Ezzel biztonságos módon, Azure-on belül tud kommunikálni két szolgáltatásom, amely két különböző virtuális hálózatban van.