Pro odchozí připojení použijte překlad zdrojových síťových adres (SNAT)

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ů.

Metody odchozího připojení Azure

Nejběžnějšími metodami, které umožňují odchozí připojení, jsou následující metody Azure:

# metoda Typ přidělení portů Produkční úroveň? Rating
0 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
2 Přidružení brány NAT k podsíti Dynamické, explicitní Ano Nejlepší
3 Přiřazení veřejné IP adresy k virtuálnímu počítači Statické, explicitní Ano OK
4 Výchozí odchozí přístup Implicitní No Nejhorší

Diagram možností odchozích přenosů Azure

1. Použijte front-endovou IP adresu nástroje pro vyrovnávání zatížení pro odchozí provoz prostřednictvím odchozích pravidel.

Diagram veřejného nástroje pro vyrovnávání zatížení s odchozími pravidly

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 prostředků veřejné IP adresy 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.

Porty 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 v back-endu škálovací sady virtuálních počítačů, doporučujeme přidělit porty maximálním počtem instancí back-endu. Pokud do back-endu přidáte více virtuálních počítačů, než je povolené zbývající porty SNAT, může se zablokovat horizontální navýšení kapacity škálovacích sad virtuálních počítačů nebo nové virtuální počítače nedostanou dostatečné porty SNAT.

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 kteréhokoli z IP adres front-endu nakonfigurovaných do back-endové instance. Nedoporučujeme vytvářet žádné závislosti, na kterých může být pro připojení vybraná front-endová IP adresa.

Další informace o odchozích pravidlech najdete v tématu Odchozí pravidla.

2. Přidružení brány NAT k podsíti

Diagram služby NAT Gateway a veřejného nástroje pro vyrovnávání zatížení

Azure NAT Gateway zjednodušuje odchozí připojení k internetu pro virtuální sítě. Při konfiguraci v podsíti používá všechna odchozí připojení vaše zadané statické veřejné IP adresy. Odchozí připojení je možné bez nástroje pro vyrovnávání zatížení nebo veřejných IP adres přímo připojených k virtuálním počítačům. NAT Gateway je plně spravovaná a vysoce odolná.

Použití služby NAT Gateway je nejlepší metodou odchozího připojení. Služba NAT Gateway je vysoce rozšiřitelná, spolehlivá a nemá stejné obavy z vyčerpání portů SNAT.

Brána NAT má přednost před jinými metodami odchozího připojení, včetně nástroje pro vyrovnávání zatížení, veřejných IP adres na úrovni instance a brány Azure Firewall.

Další informace o službě Azure NAT Gateway najdete v tématu Co je Azure NAT Gateway.

3. Přiřaďte virtuálnímu počítači veřejnou IP adresu.

Diagram virtuálních počítačů s veřejnými IP adresami na úrovni instance

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á.
PROTOKOL ICMP (Internet Control Message Protocol) UDP (Transmission Control Protocol)
UDP (User Datagram Protocol)
ESP (Zapouzdření datové části zabezpeč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 PROTOKOLU IP síťové karty instance pro všechny odchozí 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á virtuálnímu počítači je vztah 1:1 (místo 1: n) a implementovaný jako bezstavový překlad adres (NAT) 1:1.

4. Výchozí odchozí přístup

Diagram výchozího odchozího přístupu

V Azure se virtuálním počítačům vytvořeným ve virtuální síti bez explicitního odchozího připojení definovaného přiřadí výchozí odchozí veřejná IP adresa. Tato IP adresa umožňuje odchozí připojení 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é

30. září 2025 bude výchozí odchozí přístup pro nová nasazení vyřazený. Další informace najdete v oficiálním oznámení. Doporučuje se použít jednu z explictních forem připojení, jak je znázorněno v možnostech 1 až 3 výše.

Co jsou porty SNAT?

Porty slouží ke generování jedinečných identifikátorů, které slouží k udržování jedinečných toků. Internet používá k tomuto rozlišení pět řazených kolekcí členů.

Pokud se port používá pro příchozí připojení, 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í. K navázání odchozího připojení se dočasný port používá k poskytnutí cíle port, na kterém se má komunikovat a udržovat jedinečný 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ž se veřejná IP adresa přidá jako front-endová IP adresa do nástroje pro vyrovnávání zatížení, 64 000 portů má nárok na SNAT.

Každý port použitý v vyrovnávání zatížení nebo příchozím pravidle překladu adres (NAT) využí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 pravidla vyrovnávání zatížení nebo příchozí pravidla překladu adres (NAT) spotřebovaná porty 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 Azure PaaS, jako je Azure Storage, Azure SQL nebo Azure Cosmos DB, můžete použít Azure Private Link, abyste se vyhnuli plně SNAT. Azure Private Link odesílá provoz z vaší virtuální sítě do služeb Azure přes páteřní síť Azure místo přes internet.

Private Link je doporučená možnost přes koncové body služby pro privátní přístup ke službám hostovaným v Azure. Další informace o rozdílu mezi privátním propojením a koncovými body služby najdete v tématu Porovnání privátních koncových bodů a koncových bodů služby.

Jak funguje výchozí SNAT?

Když virtuální počítač vytvoří odchozí tok, Azure přeloží zdrojovou IP adresu na dočasné IP adresy. Tento překlad se provádí přes SNAT.

Pokud používáte SNAT bez odchozích pravidel přes veřejný nástroj pro vyrovnávání zatížení, porty SNAT jsou předem přidělené, jak je popsáno v následující výchozí tabulce přidělování portů SNAT:

Výchozí tabulka přidělení portů

Pokud jsou vybrána pravidla vyrovnávání zatížení pro použití výchozího přidělování portů nebo jsou pravidla odchozích přenosů nakonfigurovaná na hodnotu Použít výchozí počet odchozích portů, porty SNAT se standardně přidělují na základě velikosti back-endového fondu. Back-endy přijímají počet portů definovaných tabulkou na ip adresu front-endu až do maximálního počtu 1024 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 se přidá druhá IP adresa front-endu, každý virtuální počítač obdrží dalších 512 portů. To 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 nezvětší počet přidělených portů SNAT nad 1024 portů.

Obecně platí, že počet portů SNAT zadaných při použití výchozího přidělení portů se dá vypočítat takto: MIN(# výchozích portů SNAT poskytovaných na základě velikosti fondu * počet front-endových IP adres přidružených k fondu, 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, že se chystáte do https://www.microsoft.comněkolika prohlížečů, 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 být nárazová. Back-endovou instanci je možné přidělit nedostatečné porty. Používejte funkce opětovného použití 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í se službou Aplikace Azure Service najdete v tématu Řešení potíží s přerušovanými chybami odchozího připojení ve službě Aplikace Azure 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 průvodci odstraňováním potíží.

Opakované použití portů

Pro připojení TCP nástroj pro vyrovnávání zatížení používá pro každou cílovou IP adresu a port jeden port SNAT. Pro připojení ke stejné cílové IP adrese je možné znovu použít jeden port SNAT, pokud se cílový port liší. Opakované použití není možné, pokud už existuje připojení ke stejné cílové IP adrese a portu.

Pro připojení UDP používá nástroj pro vyrovnávání zatížení algoritmus NAT s omezeným portem, který využívá jeden port SNAT na každou cílovou IP adresu bez ohledu na cílový port.

Jednotlivé porty je možné 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 vytváří 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í.

Tok Zdrojová řazená kolekce členů Zdrojová řazená kolekce členů po SNAT Cílová řazená kolekce členů
0 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í

  • Pokud je připojení nečinné bez odesílání nových paketů, porty se uvolní po 4 až 120 minutách.

  • Tuto prahovou hodnotu je možné nakonfigurovat prostřednictvím pravidel odchozích přenosů.

  • Každá IP adresa poskytuje 64 000 portů, které je možné použít pro SNAT.

  • Každý port lze použít pro připojení TCP i UDP k cílové IP adrese.

  • Port UDP SNAT je potřeba 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 se dá použít pro více připojení ke stejné cílové IP adrese za předpokladu, že 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í.

  • Fragmentované pakety se zahodí, pokud odchozí provoz neprochází veřejnou IP adresou na úrovni instance na síťové kartě virtuálního počítače.

  • Sekundární konfigurace protokolu IPv4 síťového rozhraní nejsou podporovány odchozími pravidly. Pro odchozí připojení v sekundárních konfiguracích IPv4 připojte veřejné IP adresy na úrovni instance nebo místo toho využijte službu NAT Gateway.

Další kroky