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 architektúra kiválóságának öt pillérén 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.

Feltételezzük, hogy ismeri az Azure NAT Gatewayt, és jól ismeri a megfelelő funkciókat. Frissítőként tekintse át az Azure NAT Gateway teljes dokumentációját.

A NAT a hálózati címfordítást jelenti. Tekintse meg a hálózati címfordítás bemutatása című témakört.

Költségoptimalizálás

A PaaS-szolgáltatásokhoz való hozzáférésnek Azure Private Linken vagy szolgáltatásvégpontokon (beleértve a tárterületet is) keresztül kell lennie, hogy elkerülje a NAT-átjáró használatát. 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 GB-onkénti díját, amikor összehasonlítja a NAT-átjáró költségeit a Private Linkkel vagy a szolgáltatásvégpontokkal. A Privát kapcsolat vagy szolgáltatásvégpontok használata további biztonsági előnyökkel jár.

Teljesítmény hatékonysága

Minden NAT-átjáró-erőforrás akár 50 Gb/s átviteli sebességet is biztosít. Az üzemelő példányokat több alhálózatra is feloszthatja, majd az alhálózatok minden egyes alhálózatát vagy alhálózatcsoportját hozzárendelheti egy NAT-átjáróhoz a vertikális felskálázáshoz.

A NAT-átjáró minden egyes nyilvános IP-címe 64 512 SNAT-portot biztosít. Nat-átjáróhoz legfeljebb 16 IP-cím rendelhető. Az IP-címek lehetnek egyedi standard nyilvános IP-címek, nyilvános IP-előtagok vagy mindkettő. Az azonos célvégpontra irányuló kapcsolatok esetén a NAT-átjáró legfeljebb 50 000 egyidejű folyamatot támogat a TCP és az UDP esetében, hozzárendelt kimenő IP-címenként. A részletekért tekintse át a forráshálózati címfordítás (SNAT) következő szakaszát. A TCP a Transmission Control Protocol, az UDP pedig a User Datagram Protocol nevet jelenti.

Az SNAT-portok elfogyása

  • A NAT-átjáró erőforrásainak alapértelmezett TCP-tétlenségi időtúllépése 4 perc, amely legfeljebb 120 percig konfigurálható. Ha ezt a beállítást az alapértelmezettnél magasabb értékre módosítják, a NAT-átjáró tovább fogja tartani a folyamatokat, és szükségtelen nyomást okozhat az SNAT-portleltárra.
  • Az atomi kérések (kapcsolatonként egy kérés) rossz kialakítást jelentenek, mivel korlátozza a skálázást, csökkenti a teljesítményt és csökkenti a megbízhatóságot. Ehelyett használja újra a HTTP/S kapcsolatokat a kapcsolatok és a társított SNAT-portok számának csökkentése érdekében. Csatlakozás újrafelhasználása nagyobb mértékben teszi lehetővé az alkalmazás skálázását. Az alkalmazás teljesítménye javul a TLS használatakor a kézfogás, a többletterhelés és a titkosítási műveletek költségeinek csökkentése miatt.
  • A tartománynévrendszer -keresések számos egyedi folyamatot eredményezhetnek a köteten, ha az ügyfél nem gyorsítótáraozza a DNS-feloldók eredményét. 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 4 percnél van javítva, és nem módosítható.
  • Kapcsolatkészletek használatával alakíthatja a kapcsolatkötetet.
  • Soha ne hagyjon fel csendesen egy TCP-folyamatot, és támaszkodjon a TCP-időzítőkre a folyamat megtisztításához. Ha nem hagyja, hogy a TCP explicit módon zárja be a kapcsolatot, a TCP-kapcsolat nyitva marad. A köztes rendszerek és végpontok továbbra is használatban tartják ezt a kapcsolatot, ami viszont az SNAT-portot más kapcsolatok esetében elérhetetlenné teszi. Ez az anti-minta 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 anélkül, hogy a következményekkel kapcsolatos szakértői ismeretekkel rendelkezik. Bár a TCP-verem helyreáll, az alkalmazás teljesítményét negatívan befolyásolhatja, ha egy kapcsolat végpontjai nem egyeznek az elvárásokkal. Az időzítőértékek módosítása általában egy mögöttes tervezési probléma jele. Ha a mögöttes alkalmazás más anti-mintákkal rendelkezik, az SNAT-kimerülés is felerősödhet, ha az időzítő értékei módosulnak.

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

  • Ismerje meg, hogy a TCP üresjárati időtúllépése milyen hatással van az értékek csökkentésére. Az alapértelmezett 4 perces tétlenségi időtúllépés korábban 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 hosszú élettartamú folyamatoknak, például az újrafelhasznált TCP-kapcsolatoknak TCP-megőrzési vagy alkalmazásréteg-megőrzési elemet kell használniuk a köztes rendszerek időtúllépésének elkerülése érdekében. 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, és késést és szükségtelen hibákat okozhat. A TCP-megtartók a kapcsolat egyik oldaláról engedélyezhetők, hogy a kapcsolat mindkét oldalról életben maradjon.
  • Az UDP-forgalmat tartalmazó hosszú élettartamú folyamatok esetében engedélyezheti az UDP-nek a kapcsolatok életben tartását. Ne feledje, hogy a kapcsolat egyik oldalán engedélyezett UDP-megtartók csak az egyik oldalon tartják aktívnak a kapcsolatot. A kapcsolatok életben tartásához engedélyezni kell az UDP-megőrzést a kapcsolat mindkét oldalán.
  • Kecses újrapróbálkozási mintákat kell használni az agresszív újrapróbálkozások/kipukkadások elkerülése érdekében az átmeneti hibák vagy hibák helyreállítása során. Az atomi kapcsolatoknak nevezett antipattern akkor jön létre, ha minden HTTP-művelethez új TCP-kapcsolatot hoz létre. Az atomi kapcsolatok megakadályozzák, hogy az alkalmazás megfelelően skálázható legyen, és erőforrásokat pazaroljon. Mindig több műveletet kell ugyanabba a kapcsolatba folyamatba alakítani. Az alkalmazás kihasználhatja a tranzakció sebességét és az erőforrásköltségeket. Ha az alkalmazás átviteli rétegbeli titkosítást (például TLS- t) használ, jelentős költségekkel jár az új kapcsolatok feldolgozása. További ajánlott eljárásokért tekintse meg az Azure Cloud Design Patterns című témakört.

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

Bár a NAT-átjáró használható az Azure Kubernetes Service(AKS) szolgáltatással, az AKS részeként nem kezelhető. Ha NAT-átjárót rendel a Container Networking Interface (CNI) alhálózathoz, engedélyezi az AKS-podok számára a NAT-átjárón keresztüli kimenő forgalmat.

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

Az Azure Monitor-riasztások használatával monitorozhatja és riasztásokat jeleníthet meg az SNAT-porthasználatról, a feldolgozott vagy elvetett csomagokról, valamint a továbbított adatok mennyiségéről. NSG-folyamatnaplók használatával monitorozza a virtuálisgép-példányok kimenő forgalmát egy NAT-átjáró által konfigurált alhálózaton.

Ha egy alhálózat nat-átjáróval van konfigurálva, a NAT-átjáró lecseréli a nyilvános internethez való minden más 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 kimenő szabályokkal vagy anélkül, valamint a közvetlenül a virtuális gépekhez rendelt nyilvános IP-címeken. Az Azure nyomon követi egy folyamat irányát, és az aszimmetrikus útválasztás nem fog bekövetkezni. A bejövő forgalom megfelelően lesz lefordítva, például egy terheléselosztó előtérbeli IP-címe, és külön lesz lefordítva a kimenő forgalomtól egy NAT-átjárón keresztül. 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 NAT-átjáró használata ajánlott alapértelmezettként a virtuális hálózatok kimenő kapcsolatainak engedélyezéséhez. A NAT-átjáró hatékonyabb és kevésbé üzemeltetési szempontból összetett, mint az Azure más kimenő csatlakozási technikái. 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 az alapértelmezett kimenő kapcsolatokra (mintául szolgáló) a tulajdonhoz. Ehelyett explicit módon definiálja NAT-átjáró-erőforrásokkal.

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ó üzembe helyezhető a "nincs zónában", amelyben az Azure automatikusan kiválaszt egy zónát a NAT-átjáró elhelyezéséhez. A NAT-átjárót egy felhasználó egy adott zónához is elkülönítheti.

A rendelkezésre állási zónák elkülönítése csak akkor biztosítható, ha minden alhálózat csak egy adott zónán belül rendelkezik erőforrásokkal. Ehelyett 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, és hozzon létre külön zonális vermet. Az 1. rendelkezésre állási zónában található virtuális gép például 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. Lásd az alábbi diagramot.

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

A NAT-átjáróval 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, amely biztosítja, hogy a kimenő kapcsolatokhoz egyidejű IP-címek legyenek használva. A cél tűzfalszabályok ezen kiszámítható IP-lista alapján konfigurálhatók.

Gyakori módszer egy csak kimenő hálózati virtuális berendezés (NVA) forgatókönyvének megtervezése külső tűzfalakkal vagy proxykiszolgálókkal. Ha egy NAT-átjárót egy NVA virtuálisgép-méretezési csoporttal rendelkező alhálózatra helyeznek üzembe, ezek az NVA-k a NAT-átjáró cím(ek)ét használják a kimenő kapcsolatokhoz, szemben a terheléselosztó vagy az egyes IP-címek IP-címével. Ha ezt a forgatókönyvet az Azure Firewalllal szeretné használni, olvassa el az Azure Firewall integrálása az Azure Standard Load Balancerrel című témakört.

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

Felhőhöz készült Microsoft Defender egy NAT-átjárón keresztül figyelheti a gyanús kimenő kapcsolatokat. Ez egy riasztási funkció a Felhőhöz készült Microsoft Defender.

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