Szerkesztés

Megosztás a következőn keresztül:


Azure NAT-átjáró azure well-architected framework áttekintése

Azure Application Gateway
Azure Virtual Network
Azure Private Link

Ez a cikk az Azure NAT-átjárók ajánlott eljárásait ismerteti. Az útmutató az architekturális kiválóság öt alappilléren alapul: költségoptimalizálás, működési kiválóság, teljesítményhatékonyság, megbízhatóság és biztonság.

Az útmutató előfeltételeként ismernie kell az Azure NAT Gatewayt, és ismernie kell annak funkcióit. További információkért tekintse meg az Azure NAT Gateway dokumentációját.

Költségoptimalizálás

Konfigurálja a szolgáltatásként nyújtott platform (PaaS) megoldásokhoz való hozzáférést az Azure Private Linken vagy szolgáltatásvégpontokon keresztül, beleértve a tárterületet is, hogy ne kelljen NAT-átjárót használnia. A Privát kapcsolat és szolgáltatásvégpontok nem igénylik a NAT-átjáró bejárását a PaaS-szolgáltatások eléréséhez. Ez a megközelítés csökkenti a feldolgozott adatok gigabájtonkénti (GB) költségét a NAT-átjárók használatának költségeihez képest. A Privát kapcsolat és a szolgáltatásvégpontok biztonsági előnyöket is biztosítanak.

Teljesítmény hatékonysága

Minden NAT-átjáró-erőforrás másodpercenként legfeljebb 50 gigabites (Gbps) átviteli sebességet biztosít. Az üzemelő példányokat feloszthatja több alhálózatra, majd egy NAT-átjárót rendelhet minden alhálózathoz vagy alhálózatcsoporthoz a vertikális felskálázáshoz.

Minden NAT-átjáró nyilvános IP-címe 64 512 forráshálózati címfordítási (SNAT) portot biztosít. Egy NAT-átjáróhoz legfeljebb 16 IP-címet rendelhet, beleértve az egyéni szabványos nyilvános IP-címeket, a nyilvános IP-előtagot vagy mindkettőt. Minden olyan kimenő IP-címhez, amely ugyanarra a célvégpontra kerül, a NAT-átjáró legfeljebb 50 000 egyidejű folyamatot támogat a Transmission Control Protocol (TCP) és a User Datagram Protocol (UDP) esetében.

Az SNAT-portok elfogyása

Az SNAT kimerülésének megelőzéséhez tekintse meg az alábbi útmutatást:

  • A NAT-átjáró erőforrásainak alapértelmezett TCP-tétlenségi időtúllépése négy perc. Az időtúllépést legfeljebb 120 percig konfigurálhatja. Ha ezt a beállítást az alapértelmezettnél magasabb értékre módosítja, a NAT-átjáró hosszabb ideig tart, ami szükségtelen nyomást okozhat az SNAT-portleltárra.

  • Az atomi kérések (kapcsolatonként egy kérés) korlátozzák a skálázást, csökkentik a teljesítményt és csökkentik a megbízhatóságot. Az atomi kérések helyett a HTTP- vagy HTTPS-kapcsolatokat újra felhasználhatja a kapcsolatok és a társított SNAT-portok számának csökkentése érdekében. A kapcsolatok újrafelhasználásakor az alkalmazás jobban méretezhető. A Transport Layer Security (TLS) használatakor az alkalmazás teljesítménye javul a kézfogás, a terhelés és a titkosítási műveletek költségeinek csökkentése miatt.

  • Ha nem gyorsítótárazza a DNS-feloldó eredményeit, a tartománynévrendszer (DNS) keresései számos egyedi folyamatot vezethetnek be a köteten. A DNS-gyorsítótárazással csökkentheti a folyamatok mennyiségét, és csökkentheti az SNAT-portok számát. A DNS az az elnevezési rendszer, amely a tartományneveket ip-címekhez rendeli az internethez vagy egy magánhálózathoz csatlakozó erőforrásokhoz.

  • Az UDP-folyamatok, például a DNS-keresések SNAT-portokat használnak az üresjárati időtúllépés során. Az UDP tétlen időtúllépési időzítője négy percen belül van javítva.

  • Kapcsolatkészletek használatával alakíthatja a kapcsolatkötetet.

  • A folyamatok megtisztításához ne hagyja csendben a TCP-folyamatokat, és ne támaszkodjon TCP-időzítőkre. Ha nem hagyja, hogy a TCP explicit módon lezárjon egy kapcsolatot, a TCP-kapcsolat nyitva marad. A köztes rendszerek és végpontok továbbra is használatban tartják ezt a kapcsolatot, ami miatt az SNAT-port más kapcsolatok esetében nem érhető el. Ez az antipattern alkalmazáshibákat és SNAT-kimerülést válthat ki.

  • Ne módosítsa az operációsrendszer-szintű TCP-szoros kapcsolódó időzítőértékeket, hacsak nem ismeri a következményeket. Ha egy kapcsolat végpontjai eltérő elvárásokkal rendelkeznek, a TCP-verem helyreállhat, de negatívan befolyásolhatja az alkalmazás teljesítményét. Ha módosítania kell az időzítő értékeit, általában egy mögöttes tervezési probléma merül fel. Ha a mögöttes alkalmazás más antipatterneket is tartalmaz, és módosítja az időzítőértékeket, az SNAT-kimerültséget is felgyorsíthatja.

Tekintse át az alábbi útmutatást a szolgáltatás méretének és megbízhatóságának javításához:

  • Fontolja meg a TCP tétlen időtúllépésének alacsonyabb értékre való csökkentésének hatásait. Az alapértelmezett négy perces tétlenségi időtúllépés előre felszabadíthatja az SNAT-portleltárat.

  • Fontolja meg a hosszú ideig futó műveletek aszinkron lekérdezési mintáit, hogy felszabadítsa a kapcsolati erőforrásokat más műveletekhez.

  • A köztes rendszerek időtúllépésének megakadályozása érdekében fontolja meg a TCP-megőrzést vagy az alkalmazásréteg-megőrzést a hosszú élettartamú TCP-folyamatokhoz, például az újrahasznált TCP-kapcsolatokhoz. Az üresjárati időtúllépést csak végső megoldásként érdemes növelni, és előfordulhat, hogy ez nem oldja meg a kiváltó okot. A hosszú időtúllépés alacsony sebességbeli hibákat okozhat, amikor az időtúllépés lejár. Emellett késést és szükségtelen hibákat is okozhat. Engedélyezheti a TCP-megőrzést a kapcsolat egyik oldaláról, hogy a kapcsolat mindkét oldalról életben maradjon.

  • Fontolja meg az UDP-tárolók hosszú élettartamú UDP-folyamatokhoz való használatát, hogy megakadályozza a köztes rendszerek időtúllépését. Ha engedélyezi az UDP-megtartók használatát a kapcsolat egyik oldalán, a kapcsolatnak csak az egyik oldala marad aktív. A kapcsolat életben tartásához engedélyeznie kell az UDP-megőrzést a kapcsolat mindkét oldalán.

  • Fontolja meg a kecses újrapróbálkozási mintákat, hogy elkerülje az agresszív újrapróbálkozást és a kipukkadást az átmeneti hiba vagy hiba helyreállítása során. Az antipattern atomi kapcsolatokhoz minden HTTP-művelethez létre kell hoznia egy új TCP-kapcsolatot. Az atomi kapcsolatok pazarolják az erőforrásokat, és megakadályozzák, hogy az alkalmazás megfelelően skálázható legyen.

    A tranzakció sebességének növelése és az alkalmazás erőforrásköltségeinek csökkentése érdekében mindig több műveletet kell ugyanarra a kapcsolatra bontani. Ha az alkalmazás átviteli rétegbeli titkosítást (például TLS) használ, az új kapcsolatfeldolgozás növeli a költségeket. További ajánlott eljárásmintákért tekintse meg az Azure felhőtervezési mintáit.

Működés eredményessége

NAT-átjárót használhat az Azure Kubernetes Service-lel (AKS), de a NAT-átjárók kezelése nem része az AKS-nek. Ha NAT-átjárót rendel a Container Networking Interface (CNI) alhálózathoz, engedélyezi az AKS-podok számára, hogy a NAT-átjárón keresztül lépjenek ki.

Ha több NAT-átjárót használ zónák vagy régiók között, a kimenő IP-címtulajdon kezelhető marad azure-beli nyilvános IP-előtagok vagy saját IP-előtagok (BYOIP) előtagjaival. A NAT-átjáróhoz nem rendelhet 16 IP-címnél (/28 előtagméretnél) nagyobb IP-előtagméretet.

Az Azure Monitor-riasztások segítségével figyelheti és riasztást küldhet az SNAT-porthasználatról, a feldolgozott vagy elvetett csomagokról, valamint a továbbított adatok mennyiségéről. A hálózati biztonsági csoport (NSG) folyamatnaplóinak használatával monitorozhatja egy NAT-átjáróval konfigurált alhálózat virtuálisgép-példányainak kimenő forgalmát.

Ha NAT-átjáróval konfigurál egy alhálózatot, a NAT-átjáró lecseréli a nyilvános internethez való minden egyéb kimenő kapcsolatot az alhálózat összes virtuális gépére. A NAT-átjáró elsőbbséget élvez a terheléselosztóval szemben, függetlenül a kimenő szabályoktól. Az átjáró elsőbbséget élvez a virtuális gépekhez közvetlenül hozzárendelt nyilvános IP-címekkel szemben. Az Azure nyomon követi a folyamat irányát, és megakadályozza az aszimmetrikus útválasztást. A bejövő forgalom, például a terheléselosztó előtérbeli IP-címe megfelelően van lefordítva, és a nat-átjárón keresztül a kimenő forgalomtól elkülönítve lesz lefordítva. Ez az elkülönítés lehetővé teszi, hogy a bejövő és a kimenő szolgáltatások zökkenőmentesen létezhessenek.

A virtuális hálózatok kimenő kapcsolatának engedélyezéséhez ajánlott alapértelmezettként NAT-átjárót használni. A NAT-átjárók az Azure más kimenő csatlakozási technikáihoz képest hatékonyságot és működési egyszerűséget biztosítanak. A NAT-átjárók igény szerint lefoglalják az SNAT-portokat, és hatékonyabb algoritmussal megakadályozzák az SNAT-portok újrahasználati ütközéseit. Ne támaszkodjon a tulajdon alapértelmezett kimenő kapcsolati antipatternjára. Ehelyett explicit módon határozza meg a konfigurációt NAT-átjáró erőforrásaival.

Megbízhatóság

A NAT-átjáró erőforrásai magas rendelkezésre állásúak egy rendelkezésre állási zónában, és több tartalék tartományra is kiterjednek. A NAT-átjárókat üzembe helyezheti olyan zónákban , ahol az Azure automatikusan kiválaszt egy zónát a NAT-átjáró elhelyezéséhez, vagy elkülöníti a NAT-átjárót egy adott rendelkezésre állási zónához.

A rendelkezésre állási zónák elkülönítésének biztosításához minden alhálózatnak csak egy adott zónán belül kell rendelkeznie erőforrásokkal. Ennek a megközelítésnek a megvalósítása érdekében a következőt teheti:

  • Helyezzen üzembe egy alhálózatot az egyes rendelkezésre állási zónákhoz, ahol a virtuális gépek üzembe vannak helyezve.
  • Igazítsa a zonális virtuális gépeket a megfelelő zonális NAT-átjárókkal.
  • Külön zonális veremeket hozhat létre.

Az alábbi ábrán az 1. rendelkezésre állási zónában lévő virtuális gép olyan alhálózaton található, amely más erőforrásokat is csak az 1. rendelkezésre állási zónában található. A NAT-átjáró az 1. rendelkezésre állási zónában van konfigurálva az alhálózat kiszolgálására.

Diagram, amely egy zonális verem irányát mutatja be.

A virtuális hálózatok és alhálózatok a régió összes rendelkezésre állási zónájában kiterjednek. A zonális erőforrások elhelyezéséhez nem kell elosztania őket rendelkezésre állási zónák szerint.

Biztonság

NAT-átjáró esetén az egyes virtuális gépeknek vagy más számítási erőforrásoknak nincs szükségük nyilvános IP-címekre, és teljes mértékben privátak maradhatnak. A nyilvános IP-címmel nem rendelkező erőforrások továbbra is elérhetik a virtuális hálózaton kívüli külső forrásokat. Hozzárendelhet egy nyilvános IP-előtagot, hogy a kimenő kapcsolatokhoz egyidejű IP-címkészletet használjon. Ezen kiszámítható IP-lista alapján konfigurálhatja a cél tűzfalszabályokat.

Gyakori módszer egy csak kimenő hálózati virtuális berendezés (NVA) forgatókönyvének tervezése nem Microsoft-tűzfalakkal vagy proxykiszolgálókkal. Amikor nat-átjárót helyez üzembe egy NVA virtuálisgép-méretezési csoporttal rendelkező alhálózaton, ezek az NVA-k egy vagy több NAT-átjárócímet használnak a kimenő kapcsolatokhoz a terheléselosztó IP-címe vagy az egyes IP-címek helyett. Ha ezt a forgatókönyvet az Azure Firewalllal szeretné használni, olvassa el az Azure Firewall integrálása az Azure Standard terheléselosztóval című témakört.

Egy terheléselosztó szendvicset és NAT-átjárót tartalmazó tűzfalakat ábrázoló ábra.

A Felhőhöz készült Microsoft Defender riasztási funkcióval figyelheti a NAT-átjárók gyanús kimenő kapcsolatait.

Közreműködők

Ezt a cikket a Microsoft tartja karban. Eredetileg a következő közreműködők írták.

Fő szerző:

A nem nyilvános LinkedIn-profilok megtekintéséhez jelentkezzen be a LinkedInbe.

Következő lépések