Upravit

Sdílet prostřednictvím


Přehled architektury s dobře navrženou architekturou Azure NAT Gateway

Azure Application Gateway
Azure Virtual Network
Azure Private Link

Tento článek popisuje osvědčené postupy pro službu Azure NAT Gateway. Pokyny vycházejí z pěti pilířů efektivity architektury: Optimalizace nákladů, efektivita provozu, efektivita výkonu, spolehlivost a zabezpečení.

Jako předpoklad pro tyto pokyny byste měli mít funkční znalosti služby Azure NAT Gateway a porozumět jeho příslušným funkcím. Další informace najdete v dokumentaci ke službě Azure NAT Gateway.

Optimalizace nákladů

Nakonfigurujte přístup k řešením paaS (platforma jako služba) prostřednictvím služby Azure Private Link nebo koncových bodů služby, včetně úložiště, abyste nemuseli používat bránu NAT. Privátní propojení a koncové body služby nevyžadují pro přístup ke službám PaaS procházení brány NAT. Tento přístup snižuje náklady na gigabajt (GB) zpracovaných dat v porovnání s náklady na používání služby NAT Gateway. Privátní propojení a koncové body služeb také poskytují výhody zabezpečení.

Efektivita výkonu

Každý prostředek služby NAT Gateway poskytuje propustnost až 50 gigabitů za sekundu (Gb/s). Nasazení můžete rozdělit do několika podsítí a pak přiřadit bránu NAT ke každé podsíti nebo skupině podsítí, aby bylo možné škálovat na více instancí.

Každá veřejná IP adresa služby NAT Gateway poskytuje 64 512 portů překladu zdrojových síťových adres (SNAT). Bráně NAT můžete přiřadit až 16 IP adres, včetně jednotlivých standardních veřejných IP adres, předpony veřejné IP adresy nebo obojího. Pro každou přiřazenou odchozí IP adresu, která přejde do stejného cílového koncového bodu, může služba NAT Gateway podporovat až 50 000 souběžných toků pro protokol TCP (Transmission Control Protocol) a UDP (User Datagram Protocol).

Vyčerpání SNAT

Při prevenci vyčerpání SNAT zvažte následující doprovodné materiály:

  • Prostředky služby NAT Gateway mají výchozí časový limit nečinnosti PROTOKOLU TCP čtyři minuty. Časový limit můžete nakonfigurovat až na 120 minut. Pokud toto nastavení změníte na vyšší hodnotu, než je výchozí, brána NAT gateway se zachytí na toky déle, což může způsobit zbytečný tlak na inventář portů SNAT.

  • Atomické požadavky (jeden požadavek na připojení) omezují škálování, snižují výkon a snižují spolehlivost. Místo atomických požadavků můžete znovu použít připojení HTTP nebo HTTPS, abyste snížili počet připojení a přidružených portů SNAT. Když znovu použijete připojení, může aplikace škálovat lépe. Výkon aplikace se zlepšuje díky nižším nákladům na handshake, režii a kryptografické operace při použití protokolu TLS (Transport Layer Security).

  • Pokud výsledky překladače DNS neuložíte do mezipaměti, vyhledávání DNS (Domain Name System) může na svazku zavést mnoho jednotlivých toků. Použití ukládání DNS do mezipaměti ke snížení objemu toků a snížení počtu portů SNAT. DNS je systém pojmenování, který mapuje názvy domén na IP adresy pro prostředky připojené k internetu nebo k privátní síti.

  • Toky UDP, jako jsou vyhledávání DNS, používají porty SNAT během časového limitu nečinnosti. Časovač časového limitu nečinnosti UDP je opravený ve čtyřech minutách.

  • Pomocí fondů připojení můžete tvarovat svazek připojení.

  • Pokud chcete toky vyčistit, neopusťte toky TCP bezobslužně ani nespoléhejte na časovače TCP. Pokud nechcete, aby tcp explicitně zavřel připojení, připojení TCP zůstane otevřené. Zprostředkující systémy a koncové body toto připojení používají, takže port SNAT je pro ostatní připojení nedostupný. Tento antipattern může aktivovat selhání aplikací a vyčerpání SNAT.

  • Neměňte hodnoty časovače související s protokolem TCP na úrovni operačního systému, pokud neznáte důsledky. Pokud koncové body připojení neodpovídají očekávání, může se zásobník TCP obnovit, ale může negativně ovlivnit výkon aplikace. Pokud potřebujete změnit hodnoty časovače, obvykle máte základní problém s návrhem. A pokud má podkladová aplikace jiné antipatterny a změníte hodnoty časovače, můžete také urychlit vyčerpání SNAT.

Projděte si následující doprovodné materiály ke zlepšení škálování a spolehlivosti vaší služby:

  • Zvažte účinky snížení časového limitu nečinnosti protokolu TCP na nižší hodnotu. Výchozí časový limit nečinnosti čtyř minut může předem uvolnit inventář portů SNAT.

  • Zvažte asynchronní vzory dotazování pro dlouhotrvající operace, abyste uvolnili prostředky připojení pro jiné operace.

  • Zvažte použití keepalivesů protokolu TCP nebo zachování aplikační vrstvy pro dlouhotrvající toky TCP, jako jsou opakovaně použitá připojení TCP, aby se zabránilo časovým limitům mezilehlé systémy. Časový limit nečinnosti byste měli zvýšit pouze jako poslední možnost a nemusí vyřešit původní příčinu. Dlouhý časový limit může způsobit selhání nízké míry při vypršení časového limitu. Může také zavést zpoždění a zbytečné chyby. Můžete povolit připojení TCP keepalives z jedné strany připojení, aby bylo připojení naživu z obou stran.

  • Zvažte použití udp keepalives pro dlouhotrvající toky UDP, aby se zabránilo časovým limitům průběžných systémů. Když povolíte připojení UDP keepalives na jedné straně připojení, zůstane aktivní pouze jedna strana připojení. Chcete-li zachovat připojení na obou stranách připojení, musíte povolit udržování připojení naživu.

  • Zvažte elegantní vzory opakování, abyste se vyhnuli agresivním opakovaným pokusům a nárůstům během přechodného selhání nebo zotavení po selhání. U antipatternových atomických připojení vytvoříte nové připojení TCP pro každou operaci HTTP. Atomová připojení plýtvá prostředky a brání vaší aplikaci ve škálování.

    Pokud chcete zvýšit rychlost transakcí a snížit náklady na prostředky pro vaši aplikaci, vždy zakažte několik operací do stejného připojení. Když vaše aplikace používá šifrování přenosové vrstvy, například TLS, nové zpracování připojení zvyšuje náklady. Další osvědčené postupy najdete v tématu Vzory návrhu cloudu Azure.

Provozní dokonalost

Bránu NAT můžete použít se službou Azure Kubernetes Service (AKS), ale správa brány NAT není součástí AKS. Pokud přiřadíte bránu NAT k podsíti CNI (Container Networking Interface), povolíte podům AKS výchozí přenos dat přes bránu NAT Gateway.

Pokud používáte více bran NAT napříč zónami nebo oblastmi, udržujte odchozí IP aktiva spravovatelná pomocí předpon veřejných IP adres Azure nebo předpon BYOIP (Bring-your-Own IP). Bráně NAT gateway nemůžete přiřadit velikost předpony IP adresy větší než 16 IP adres (/28).

Pomocí upozornění služby Azure Monitor můžete monitorovat a upozorňovat na využití portů SNAT, zpracovávat nebo vynechat pakety a množství přenášených dat. Protokoly toku skupiny zabezpečení sítě (NSG) slouží k monitorování odchozího toku provozu z instancí virtuálního počítače v podsíti nakonfigurované službou NAT Gateway.

Když nakonfigurujete podsíť s bránou NAT Gateway, nahradí brána NAT všechny ostatní odchozí připojení k veřejnému internetu pro všechny virtuální počítače v této podsíti. Brána NAT má přednost před nástrojem pro vyrovnávání zatížení bez ohledu na pravidla odchozích přenosů. Brána má také přednost před veřejnými IP adresami, které jsou přiřazené přímo k virtuálním počítačům. Azure sleduje směr toku a zabraňuje asymetrickým směrováním. Příchozí provoz, jako je front-endová IP adresa nástroje pro vyrovnávání zatížení, se přeloží správně a překládá se odděleně od odchozího provozu přes bránu NAT Gateway. Toto oddělení umožňuje bezproblémově existovat příchozí a odchozí služby.

Jako výchozí doporučujeme bránu NAT, která povoluje odchozí připojení pro virtuální sítě. Služba NAT Gateway poskytuje efektivitu a jednoduchost provozu v porovnání s jinými technikami odchozího připojení v Azure. Brány NAT přidělují porty SNAT na vyžádání a používají efektivnější algoritmus, který brání konfliktům opětovného použití portů SNAT. Nespoléhejte na výchozí antipattern odchozího připojení pro vaše aktiva. Místo toho explicitně definujte konfiguraci pomocí prostředků služby NAT Gateway.

Spolehlivost

Prostředky služby NAT Gateway jsou vysoce dostupné v jedné zóně dostupnosti a zahrnují několik domén selhání. Bránu NAT můžete nasadit do žádné zóny , ve které Azure automaticky vybere zónu pro umístění brány NAT nebo izoluje bránu NAT do konkrétní zóny dostupnosti.

Pro zajištění izolace zóny dostupnosti musí mít každá podsíť prostředky pouze v rámci konkrétní zóny. Pokud chcete tento přístup implementovat, můžete:

  • Nasaďte podsíť pro každou zónu dostupnosti, ve které jsou virtuální počítače nasazené.
  • Zarovnejte zónové virtuální počítače s odpovídajícími zónovými bránami NAT.
  • Sestavte samostatné zónové zásobníky.

V následujícím diagramu je virtuální počítač v zóně dostupnosti 1 v podsíti s dalšími prostředky, které jsou také v zóně dostupnosti 1. Brána NAT je nakonfigurovaná v zóně dostupnosti 1 tak, aby sloužila této podsíti.

Diagram znázorňující směrový tok zónového zásobníku

Virtuální sítě a podsítě zahrnují všechny zóny dostupnosti v oblasti. Pokud chcete vyhovět zónám zón dostupnosti, nemusíte je dělit podle zón.

Zabezpečení

U služby NAT Gateway jednotlivé virtuální počítače nebo jiné výpočetní prostředky nepotřebují veřejné IP adresy a můžou zůstat plně privátní. Prostředky bez veřejné IP adresy se stále můžou dostat k externím zdrojům mimo virtuální síť. Můžete přidružit předponu veřejné IP adresy, abyste měli jistotu, že pro odchozí připojení používáte souvislou sadu IP adres. Pravidla cílové brány firewall můžete nakonfigurovat na základě tohoto předvídatelného seznamu IP adres.

Běžným přístupem je navrhnout scénář síťového virtuálního zařízení jen pro odchozí spojení s bránami firewall jiných společností než Microsoft nebo proxy servery. Když nasadíte bránu NAT do podsítě se škálovací sadou síťových virtuálních zařízení, použijí tato síťová virtuální zařízení jednu nebo více adres brány NAT pro odchozí připojení místo IP adresy nástroje pro vyrovnávání zatížení nebo jednotlivých IP adres. Pokud chcete tento scénář použít se službou Azure Firewall, přečtěte si téma Integrace služby Azure Firewall se službou Azure Standard Load Balancer.

Diagram znázorňující brány firewall se sendvičem nástroje pro vyrovnávání zatížení a službou NAT Gateway

Pomocí funkce upozornění Microsoft Defenderu pro cloud můžete monitorovat případné podezřelé odchozí připojení ve službě NAT Gateway.

Přispěvatelé

Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.

Hlavní autor:

Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.

Další kroky