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

Azure Application Gateway
Azure Virtual Network
Azure Private Link

Tento článek obsahuje 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í.

Předpokládáme, že máte funkční znalosti služby Azure NAT Gateway a že jste dobře obeznámeni s příslušnými funkcemi. Jako obnovovací nástroj si projděte úplnou sadu dokumentace ke službě Azure NAT Gateway.

Překlad adres (NAT) je zkratka pro překlad síťových adres. Viz úvod do překladu síťových adres.

Optimalizace nákladů

Přístup ke službám PaaS by měl být prostřednictvím služby Azure Private Link nebo koncových bodů služby (včetně úložiště), aby se zabránilo použití služby NAT Gateway. 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 sníží poplatky za GB zpracovaných dat při porovnávání nákladů na bránu NAT s privátním propojením nebo koncovými body služby. Existují další výhody zabezpečení pro použití privátního propojení nebo koncových bodů služby.

Efektivita výkonu

Každý prostředek služby NAT Gateway poskytuje až 50 Gb/s propustnosti. Nasazení můžete rozdělit do několika podsítí a pak můžete přiřadit každou podsíť nebo skupiny podsítí, aby se služba NAT Gateway škáluje na více instancí.

Každá veřejná IP adresa ve službě NAT Gateway poskytuje až 64 512 portů SNAT. K bráně NAT je možné přiřadit až 16 IP adres. IP adresy můžou být jednotlivé standardní veřejné IP adresy, předpona veřejné IP adresy nebo obojí. U připojení směřujících ke stejnému cílovému koncovému bodu může služba NAT Gateway podporovat až 50 000 souběžných toků pro TCP a UDP na přiřazenou odchozí IP adresu. Podrobnosti najdete v následující části věnované překladu zdrojových síťových adres (SNAT). TCP je zkratka pro Transmission Control Protocol a UDP je zkratka User Datagram Protocol.

Vyčerpání SNAT

  • Prostředky brány NAT mají výchozí časový limit nečinnosti PROTOKOLU TCP 4 minuty, který je možné nakonfigurovat až 120 minut. Pokud se toto nastavení změní na vyšší hodnotu než výchozí, brána NAT bude uchovávat toky déle a může způsobit zbytečný tlak na inventář portů SNAT.
  • Atomické požadavky (jeden požadavek na připojení) jsou špatnou volbou návrhu, protože omezují škálování, snižují výkon a snižují spolehlivost. Místo toho znovu použijte připojení HTTP/S, abyste snížili počet připojení a přidružených portů SNAT. Připojení opětovné použití umožní aplikaci škálovat lépe. Výkon aplikace se zlepší kvůli nižším nákladům na handshake, režii a náklady na kryptografické operace při použití protokolu TLS.
  • Vyhledávání DNS (Domain Name System) může na svazku zavést mnoho jednotlivých toků, pokud klient neukládá výsledek překladačů DNS do mezipaměti. 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 pevně nastaven na 4 minuty a nelze ho změnit.
  • Pomocí fondů připojení můžete tvarovat svazek připojení.
  • Nikdy neuklánět tok TCP a spoléhat se na časovače TCP k vyčištění toku. Pokud nechcete, aby tcp připojení explicitně zavřel, zůstane připojení TCP otevřené. Přechodné systémy a koncové body budou toto připojení dál používat, což zase znepřístupňuje port SNAT pro jiná připojení. Tento anti-model 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 bez odborných znalostí o dopadech. Zatímco se zásobník TCP obnoví, výkon aplikace může být negativně ovlivněn, když koncové body připojení neodpovídají očekávání. Změna hodnot časovače je obvykle znaménkem základního problému návrhu. Pokud má podkladová aplikace jiné anti-vzory, může být vyčerpání SNAT také amplifikováno, pokud jsou hodnoty časovače změněny.

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

  • Prozkoumejte účinek snížení časového limitu nečinnosti protokolu TCP na nižší hodnoty. Výchozí časový limit nečinnosti 4 minuty může uvolnit inventář portů SNAT dříve.
  • Zvažte asynchronní vzory dotazování pro dlouhotrvající operace, abyste uvolnili prostředky připojení pro jiné operace.
  • Dlouhodobé toky, jako jsou opakovaně použitá připojení TCP, by měly používat udržování protokolu TCP nebo udržování aplikační vrstvy, aby nedocházelo k časovým limitům přechodných systémů. Č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, kdy vyprší časový limit a může způsobit zpoždění a zbytečné chyby. Protokol TCP keepalives lze povolit z jedné strany připojení, aby bylo připojení aktivní z obou stran.
  • U dlouhotrvajících toků s přenosy UDP můžete povolit udržování připojení naživu. Mějte na paměti, že UDP udržuje na jedné straně připojení aktivní pouze z jedné strany. Aby bylo možné udržovat připojení naživu, musí být na obou stranách připojení povolené keepalives UDP.
  • Vhodné vzory opakování by se měly použít k zabránění agresivním opakovaným pokusům nebo nárůstům během přechodného selhání nebo obnovení selhání. Antipattern, označovaný jako atomická připojení, je, když pro každou operaci HTTP vytvoříte nové připojení TCP. Atomická připojení zabrání vaší aplikaci ve škálování a budou ztrácet prostředky. Vždy kanálujte více operací do stejného připojení. Vaše aplikace bude těžit z rychlosti transakcí a nákladů na prostředky. Pokud vaše aplikace používá šifrování přenosové vrstvy (například TLS), jsou k zpracování nových připojení spojené značné náklady. Další osvědčené vzory osvědčených postupů najdete v vzorech návrhu cloudu Azure.

Provozní dokonalost

I když je možné bránu NAT používat se službou Azure Kubernetes Service (AKS), není spravovaná jako součást AKS. Pokud přiřadíte bránu NAT k podsíti rozhraní CNI (Container Networking Interface), umožní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. Velikost předpony IP adresy větší než 16 IP adres (/28) se nedá přiřadit službě NAT Gateway.

Pomocí upozornění služby Azure Monitor můžete monitorovat a upozorňovat na využití portů SNAT, zpracovávané nebo vyřazené pakety a množství přenášených dat. Pomocí protokolů toku NSG můžete monitorovat odchozí provoz z instancí virtuálních počítačů v nakonfigurované podsíti služby NAT Gateway.

Pokud je podsíť nakonfigurovaná 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 gateway bude mít přednost před nástrojem pro vyrovnávání zatížení s pravidly odchozích přenosů nebo bez těchto pravidel a před veřejnými IP adresami přiřazenými přímo k virtuálním počítačům. Azure sleduje směr toku a asymetrického směrování nedojde. Příchozí příchozí provoz se správně přeloží, jako je front-endová IP adresa nástroje pro vyrovnávání zatížení, a přeloží se odděleně od odchozího přenosu přes bránu NAT Gateway. Toto oddělení umožňuje bezproblémově existovat příchozí a odchozí služby.

Brána NAT se doporučuje jako výchozí pro povolení odchozího připojení pro virtuální sítě. Služba NAT Gateway je efektivnější a méně zprovozněná než jiné techniky 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í odchozí připojení (anti-pattern) pro vaše aktiva. Místo toho ji explicitně definujte 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 je možné nasadit do "žádné zóny", ve které Azure automaticky vybere zónu pro umístění služby NAT Gateway. Bránu NAT je také možné izolovat od konkrétní zóny uživatelem.

Izolaci zóny dostupnosti nelze poskytnout, pokud každá podsíť obsahuje pouze prostředky v rámci konkrétní zóny. Místo toho 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 a sestavte samostatné zónové zásobníky. Například virtuální počítač v zóně dostupnosti 1 je 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. Podívejte se na následující diagram.

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ě soukromé. 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 se pro odchozí připojení použije souvislá sada IP adres. Pravidla cílové brány firewall je možné 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 branami firewall třetích stran nebo proxy servery. Když je služba NAT Gateway nasazená do podsítě se škálovací sadou síťových virtuálních zařízení, budou tato síťová virtuální zařízení používat adresy brány NAT pro odchozí připojení, nikoli IP adresu nástroje pro vyrovnávání zatížení nebo jednotlivé IP adresy. 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

Microsoft Defender pro cloud může monitorovat případné podezřelé odchozí připojení přes bránu NAT. Toto je funkce upozornění v Programu Microsoft Defender for Cloud.

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