Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Některé scénáře vyžadují, aby virtuální počítače nebo výpočetní instance měly odchozí připojení k internetu. Ip adresy front-endu veřejného nástroje pro vyrovnávání zatížení je možné použít k poskytování odchozího připojení k internetu pro back-endové instance. Tato konfigurace používá překlad zdrojových síťových adres (SNAT) k překladu privátní IP adresy virtuálního počítače do veřejné IP adresy nástroje pro vyrovnávání zatížení. SNAT mapuje IP adresu back-endu na veřejnou IP adresu nástroje pro vyrovnávání zatížení. SNAT brání přímému přístupu k instancím back-endu z externích zdrojů.
Vyberte metodu odchozí konektivity
Před nasazením pracovní zátěže zvolte explicitní metodu odchozího připojení:
- Použijte Azure NAT Gateway pro škálovatelné, pouze odchozí připojení z podsítě.
- Použijte veřejnou IP adresu na úrovni instance, když virtuální stroj potřebuje vlastní veřejnou adresu.
- Používejte odchozí pravidla, když instance backendu pro odchozí připojení používají front-endovou IP adresu nástroje pro vyrovnávání zatížení.
- U produkčních úloh se vyhněte výchozímu odchozímu připojení. Nové virtuální sítě používají ve výchozím nastavení privátní podsítě.
metody odchozího připojení Azure
Následující metody jsou Azure nejčastěji používané metody pro povolení odchozího připojení uvedené v pořadí podle priority při použití více metod:
| # | metoda | Typ přidělení portů | Produkční úroveň? | Hodnocení |
|---|---|---|---|---|
| 1 | Přidružit bránu Azure NAT k podsíti | Dynamické, explicitní | Ano | Best |
| 2 | Přiřazení veřejné IP adresy k virtuálnímu počítači | Statické, explicitní | Ano | OK |
| 3 | Použití front-endových IP adres nástroje pro vyrovnávání zatížení pro odchozí provoz prostřednictvím odchozích pravidel | Statické, explicitní | Ano, ale ne ve velkém měřítku | OK |
| 4 | Použití front-endových IP adres nástroje pro vyrovnávání zatížení pro odchozí provoz bez pravidel odchozích přenosů | Statická, implicitní | Ne | Nejhorší |
| 5 | Výchozí odchozí přístup | Implicit | Ne | Nejhorší |
1. Přidružte Azure NAT Gateway k podsíti
Azure NAT Gateway zjednodušuje odchozí připojení k internetu pro virtuální sítě. Když ho konfigurujete v podsíti, veškeré odchozí připojení používá vaše specifikované statické veřejné IP adresy. Můžete mít odchozí konektivitu bez load balanceru nebo veřejných IP adres přímo připojených k virtuálním strojům. NAT Gateway je plně spravovaná a vysoce odolná.
Nejlepší metodou pro odchozí konektivitu je použití NAT Gateway. NAT Gateway je vysoce rozšiřitelný, spolehlivý a nemá stejné obavy ohledně vyčerpání SNAT portů.
NAT Gateway má přednost před jinými metodami odchozího připojení, včetně load balanceru, veřejných IP adres na úrovni instance a Azure Firewall.
Další informace o Azure NAT Gateway najdete v tématu Co je Azure NAT Gateway. Podrobnosti o tom, jak funguje chování SNAT se službou NAT Gateway, najdete v tématu SNAT se službou NAT Gateway.
2. Přiřazení veřejné IP adresy virtuálnímu počítači
| Sdružení | metoda | Protokoly IP |
|---|---|---|
| Veřejná IP adresa na síťové kartě virtuálního počítače | SNAT (zdrojový překlad síťových adres) se nepoužívá. |
TCP (Přenosový řídicí protokol) UDP (Uživatelský datagramový protokol) ICMP (Internet Control Message Protocol) ESP (Zapouzdření bezpečnostního zatížení) |
Provoz se vrátí do žádajícího klienta z veřejné IP adresy virtuálního počítače (IP adresa na úrovni instance).
Azure používá veřejnou IP adresu přiřazenou ke konfiguraci IP síťové karty instance pro všechny odchozí datové toky. Instance má k dispozici všechny dočasné porty. Nezáleží na tom, jestli je virtuální počítač vyvážený nebo ne. Tento scénář má přednost před ostatními, s výjimkou naT Gateway.
Veřejná IP adresa přiřazená k virtuálnímu počítači je vztah 1:1 (místo 1: n) a je implementována jako bezstavový překlad adres (NAT) 1:1.
3. Použijte IP adresy na frontendu vyrovnávače zatížení pro odchozí komunikaci prostřednictvím odchozích pravidel.
Odchozí pravidla umožňují explicitně definovat SNAT (překlad zdrojových síťových adres) pro standardní veřejný nástroj pro vyrovnávání zatížení skladové položky. Tato konfigurace umožňuje použít veřejnou IP adresu nebo IP adresy vašeho nástroje pro vyrovnávání zatížení pro odchozí připojení back-endových instancí.
Tato konfigurace umožňuje:
Maskování IP adres
Zjednodušení seznamů povolených
Snižuje počet veřejných IP zdrojů pro nasazení.
U odchozích pravidel máte úplnou deklarativní kontrolu nad odchozím připojením k internetu. Odchozí pravidla umožňují škálovat a ladit tuto schopnost podle vašich konkrétních potřeb prostřednictvím ručního přidělování portů. Ruční přidělování portu SNAT na základě velikosti back-endového fondu a počtu front-endIPConfigurations může pomoct vyhnout se vyčerpání SNAT.
Porty SNAT můžete přidělit ručně buď pomocí „portů na instanci“, nebo „maximálního počtu back-endových instancí“. Pokud máte v back-endu virtuální počítače, doporučujeme přidělit porty podle „portů na instanci“, abyste získali maximální využití portů SNAT.
Počet portů na instanci vypočítejte následujícím způsobem:
Počet IP adres front-endu * 64K / počet instancí back-endu
Pokud máte ve backendu Virtual Machine Scale Sets, doporučujeme přidělit porty podle maximálního počtu instancí ve backendu. Pokud do back-endu přidáte více virtuálních počítačů, než je povoleno zbývajícími porty SNAT, může dojít k zablokování rozšíření kapacity sady škálování virtuálních počítačů nebo nové virtuální počítače nedostanou dostatečný počet portů SNAT.
Poznámka:
Pokud je nakonfigurovaných více front-endových IP adres pomocí pravidel odchozích přenosů, můžou odchozí připojení pocházet z libovolné IP adresy front-endu nakonfigurované na back-endovou instanci. Nedoporučujeme vytvářet žádné závislosti, na kterých je možné pro připojení vybrat front-endovou IP adresu.
Další informace o odchozích pravidlech najdete v tématu Odchozí pravidla.
4. Použijte front-endové IP adresy vyrovnávače zatížení pro odchozí provoz bez odchozích pravidel.
Tato možnost je podobná předchozí, kromě situací, kdy nejsou vytvořena žádná odchozí pravidla. V tomto případě se front-endy nástroje pro vyrovnávání zatížení stále používají pro odchozí provoz, ale to se provádí implicitně bez pravidel, která určují, který front-end se použije. Nepoužívání odchozích pravidel také snižuje škálovatelnost odchozí konektivity, protože implicitní odchozí připojení má pevný počet portů SNAT na jednu front-endovou IP adresu, což může vést k vyčerpání portů ve scénářích s vysokým provozem.
5. Výchozí odchozí přístup
V Azure jsou virtuálním počítačům, které byly vytvořeny ve virtuální síti bez explicitně definované odchozí konektivity, přiřazeny výchozí veřejné odchozí IP adresy. Tato IP adresa umožňuje odchozí konektivitu z prostředků k internetu. Tento přístup se označuje jako výchozí odchozí přístup. Tato metoda přístupu se nedoporučuje , protože je nezabezpečená a IP adresy se můžou změnit.
Důležité
31. března 2026 mají nové virtuální sítě výchozí použití privátních podsítí. Další informace najdete v oficiálním oznámení. Použijte jednu z explicitních forem připojení, jak je znázorněno v možnostech 1–3 výše.
Azure Load Balancer SNAT porty
Porty generují jedinečné identifikátory, které udržují jedinečné toky. Internet používá k tomuto rozlišení pětici.
Pokud pro příchozí připojení používáte port, má naslouchací proces pro příchozí požadavky na připojení na daném portu. Tento port se nedá použít pro odchozí připojení. Chcete-li navázat odchozí připojení, použijte dynamický port, aby cílový systém měl k dispozici port, přes který může komunikovat, a aby byl zachován samostatný tok provozu. Pokud se tyto dočasné porty používají pro SNAT, označují se jako porty SNAT.
Každá IP adresa má podle definice 65 535 portů. Každý port lze použít pro příchozí nebo odchozí připojení pro protokol TCP (Transmission Control Protocol) a UDP (User Datagram Protocol). Když přidáte veřejnou IP adresu jako front-endovou IP adresu do nástroje pro vyrovnávání zatížení, 64 000 portů má nárok na SNAT.
Každý port použitý ve vyrovnávání zatížení nebo příchozím pravidle překladu síťových adres (NAT) spotřebovává rozsah osmi portů z 64 000 dostupných portů SNAT. Toto využití snižuje počet portů způsobilých pro SNAT, pokud se pro odchozí připojení používá stejná front-endová IP adresa. Pokud jsou porty spotřebované pravidly vyrovnávání zatížení nebo příchozí pravidla překladu adres (NAT) ve stejném bloku osmi portů spotřebovaných jiným pravidlem, pravidla nevyžadují další porty.
Poznámka:
Pokud se potřebujete připojit k jakýmkoli podporovaným službám PaaS Azure, jako jsou Azure Storage, Azure SQL nebo Azure Cosmos DB, použijte Azure Private Link, abyste se vyhnuli plně SNAT. Azure Private Link odesílá provoz z vaší virtuální sítě do Azure služeb přes páteřní síť Azure místo přes internet.
Private Link je doporučená možnost pro privátní přístup ke službám hostovaným na Azure před koncovými body služby. Další informace o rozdílu mezi Private Link a koncovými body služby najdete v tématu Porovnání privátních koncových bodů a koncových bodů služby.
Výchozí chování SNAT v Azure Load Balancer
Když virtuální počítač vytvoří odchozí tok, Azure přeloží zdrojovou IP adresu na dočasné IP adresy. Azure tento překlad provede prostřednictvím SNAT.
Pokud používáte SNAT bez odchozích pravidel prostřednictvím veřejného nástroje pro vyrovnávání zatížení, systém předem přidělí porty SNAT, jak je popsáno v následující výchozí tabulce přidělování portů SNAT:
Výchozí tabulka přidělení portů
Když povolíte výchozí přidělení portů, systém přidělí porty SNAT na základě velikosti back-endového fondu. Každý back-end přijímá počet portů definovaných tabulkou na ip adresu front-endu až do maximálního počtu 1 024 portů. Nepoužívejte výchozí přidělení portů pro produkční úlohy, protože přiděluje každému back-endové instanci minimální počet portů a zvyšuje riziko vyčerpání portů SNAT. Místo toho zvažte použití Azure NAT Gateway nebo ruční přidělování portů v pravidlech load balanceru pro odchozí výstupy.
Výchozí přidělení portů můžete povolit několika způsoby:
- Nakonfigurujte pravidlo vyrovnávání zatížení s hodnotou
disableOutboundSnatnastavenou nafalsenebo v pravidle nástroje pro vyrovnávání zatížení na portálu Azure vyberte výchozí možnost přidělování portů. - Nakonfigurujte odchozí pravidlo, ale nastavte vlastnost
allocatedOutboundPortsna hodnotu0, nebo v portálu Azure vyberte Povolit výchozí přidělení portů.
Například s 100 virtuálními počítači v back-endovém fondu a pouze jednou front-endovou IP adresou obdrží každý virtuální počítač 512 portů. Pokud přidáte druhou front-endovou IP adresu, každý virtuální počítač obdrží dalších 512 portů. Toto přidělení znamená, že každému virtuálnímu počítači je přiděleno celkem 1 024 portů. V důsledku toho přidání třetí front-endové IP adresy nezvyšuje počet přidělených portů SNAT nad 1 024 portů.
Obecně platí, že můžete vypočítat počet portů SNAT zadaných při použití výchozího přidělení portů jako: MIN(# of default SNAT ports provided based on pool size * number of frontend IPs associated with the pool, 1024).
Následující tabulka ukazuje předběžné umístění portů SNAT pro jednu front-endovou IP adresu v závislosti na velikosti back-endového fondu:
| Velikost fondu (instance virtuálních počítačů) | Výchozí porty SNAT |
|---|---|
| 1-50 | 1,024 |
| 51–100 | 512 |
| 101–200 | 256 |
| 201–400 | 128 |
| 401-800 | 64 |
| 801-1,000 | 32 |
Vyčerpání portů
Každé připojení ke stejné cílové IP adrese a cílovému portu používá port SNAT. Toto připojení udržuje odlišný tok provozu z back-endové instance nebo klienta na server. Tento proces dává serveru jedinečný port, na kterém se má adresovat provoz. Bez tohoto procesu klientský počítač neví, ke kterému toku patří paket.
Představte si mít několik prohlížečů, které přistupují k https://www.microsoft.com, což je:
Cílová IP adresa = 23.53.254.142
Cílový port = 443
Protokol = TCP
Bez portů SNAT pro návratový provoz nemá klient žádný způsob, jak oddělit jeden výsledek dotazu od druhého.
Odchozí připojení můžou nárazově explodovat. Back-endová instance může mít přiděleno nedostatečné množství portů. Používejte funkci sdílení připojení v rámci vaší aplikace. Bez opakovaného použití připojení se zvyšuje riziko vyčerpání portů SNAT.
Další informace o sdružování připojení s Azure App Service naleznete v tématu Řešení potíží s přerušovanými chybami odchozího připojení v Azure App Service.
Nové odchozí připojení k cílové IP adrese selžou, když dojde k vyčerpání portů. Připojení budou úspěšná, jakmile bude port dostupný. K tomuto vyčerpání dochází, když je 64 000 portů z IP adresy rozprostřeno dynamicky napříč mnoha back-endovými instancemi. Pokyny ke zmírnění vyčerpání portů SNAT najdete v tématu Support a řešení potíží pro Azure Load Balancer.
Opakované použití portů
Pro TCP vyžaduje každé aktivní spojení samostatnou překladovou zdrojovou n-tici ke specifické cílové n-tici, která se skládá z cílové IP adresy a cílového portu. SNAT port můžete použít znovu pro připojení k jiné cílové IP adrese nebo jinému cílovému portu. Nemůžete ho použít pro jiné aktivní spojení ze stejné backendové instance na stejnou cílovou IP adresu a cílový port.
Pro připojení UDP používá vyrovnávač zatížení algoritmus NAT s omezením na port, který využívá jeden port SNAT na každou cílovou IP bez ohledu na cílový port.
Jednotlivé porty můžete opakovaně používat pro neomezený počet připojení, kde je povolené opakované použití (pokud se cílová IP adresa nebo port liší).
V příkladu v následující tabulce vytvoří back-endová instance s privátní IP adresou 10.0.0.1 připojení TCP k cílovým IP adresám 23.53.254.142 a 26.108.254.155, zatímco nástroj pro vyrovnávání zatížení je nakonfigurovaný s front-endovou IP adresou 192.0.2.0. Vzhledem k tomu, že se cílové IP adresy liší, můžete stejný port SNAT znovu použít pro více připojení.
| Flow | Zdrojová n-tice | Zdrojová řazená kolekce členů po SNAT | Cílová n-tice |
|---|---|---|---|
| 1 | 10.0.0.1:80 | 192.0.2.0:1 | 23.53.254.142:80 |
| 2 | 10.0.0.1:80 | 192.0.2.0:1 | 26.108.254.155:80 |
Omezení
Následující omezení platí pro Azure Load Balancer SNAT. Jednotlivá omezení určují, kdy se vztahují pouze na TCP, UDP, odchozí pravidla nebo konfigurace veřejné IP adresy na úrovni instance.
Když je připojení nečinné bez odesílání nových paketů, porty se uvolní po 4 až 120 minutách.
Tuto prahovou hodnotu můžete nakonfigurovat prostřednictvím odchozích pravidel.
Každá IP adresa poskytuje 64 000 portů, které můžete použít pro SNAT.
Každý port lze použít pro připojení TCP i UDP k cílové IP adrese.
Potřebujete port UDP SNAT bez ohledu na to, jestli je cílový port jedinečný nebo ne. Pro každé připojení UDP k cílové IP adrese se použije jeden port UDP SNAT.
Port TCP SNAT lze použít pro více připojení ke stejné cílové IP adrese, pokud se cílové porty liší.
K vyčerpání SNAT dochází v případě, že instance back-endu vyčerpá dané porty SNAT. Nástroj pro vyrovnávání zatížení může mít stále nepoužívané porty SNAT. Pokud použité porty SNAT pro back-endovou instanci překročí dané porty SNAT, nemůže navázat nová odchozí připojení.
Systém zahazuje fragmentované pakety, pokud odchozí provoz neprochází přes veřejnou IP adresu na úrovni instance přiřazenou síťové kartě virtuálního počítače.
Odchozí pravidla nepodporují sekundární konfigurace protokolu IPv4 síťového rozhraní. Pro odchozí konektivitu v sekundárních IPv4 konfiguracích připojte veřejné IP adresy na úrovni instance nebo použijte místo toho Azure NAT Gateway.
Další kroky
- Podpora a řešení problémů pro Azure Load Balancer
- Projděte si metriky SNAT a seznamte se se správným způsobem filtrování, rozdělení a zobrazení.
- Naučte se, jak migrovat stávající metodu odchozího připojení do Azure NAT Gateway.