Udostępnij za pośrednictwem


Zagadnienia dotyczące wielodostępności w usłudze Azure NAT Gateway

Usługa Azure NAT Gateway zapewnia kontrolę nad wychodzącą łącznością sieciową z zasobów hostowanych w sieci wirtualnej platformy Azure. W tym artykule opisano, w jaki sposób brama translatora adresów sieciowych może ograniczyć wyczerpanie portów translatora adresów sieciowych (SNAT), co może mieć wpływ na aplikacje wielodostępne. Dowiesz się również, jak brama translatora adresów sieciowych przypisuje statyczne adresy IP do ruchu wychodzącego z rozwiązania wielodostępnego.

Uwaga

Zapory, takie jak Usługa Azure Firewall, umożliwiają kontrolowanie i rejestrowanie ruchu wychodzącego. Usługa Azure Firewall zapewnia również podobną skalę portów SNAT i kontrolę adresów IP ruchu wychodzącego do bramy translatora adresów sieciowych. Brama translatora adresów sieciowych jest mniej kosztowna, ale ma również mniej funkcji i nie jest produktem zabezpieczającym.

Funkcje bramy translatora adresów sieciowych, które obsługują wielodostępność

Porty SNAT o dużej skali

Porty SNAT są przydzielane, gdy aplikacja wykonuje wiele współbieżnych połączeń wychodzących z tym samym publicznym adresem IP na tym samym porcie. Porty SNAT to skończony zasób w modułach równoważenia obciążenia. Jeśli aplikacja otwiera dużą liczbę oddzielnych połączeń z tym samym hostem, może korzystać ze wszystkich dostępnych portów SNAT. Ta sytuacja jest nazywana wyczerpaniem portów SNAT.

W większości aplikacji wyczerpanie portów SNAT wskazuje, że aplikacja nieprawidłowo obsługuje połączenia HTTP lub porty TCP. Jednak niektóre aplikacje wielodostępne są szczególnie narażone na przekroczenie limitów portów SNAT, nawet jeśli będą odpowiednio używane połączenia. Na przykład taka sytuacja może wystąpić, gdy aplikacja łączy się z wieloma bazami danych specyficznymi dla dzierżawy za tą samą bramą bazy danych.

Napiwek

Jeśli zauważysz wyczerpanie portów SNAT w aplikacji wielodostępnej, sprawdź, czy aplikacja jest zgodna z dobrymi rozwiązaniami. Upewnij się, że używasz ponownie połączeń HTTP i nie tworzysz nowych połączeń za każdym razem, gdy łączysz się z usługą zewnętrzną. Wdrożenie bramy translatora adresów sieciowych w celu obejścia problemu może być możliwe, ale jeśli kod nie zastosuje się do najlepszych rozwiązań, możesz napotkać problem ponownie w przyszłości.

Problem jest zaostrzony podczas pracy z usługami platformy Azure, które współużytkują alokacje portów SNAT między wieloma klientami, takimi jak aplikacja systemu Azure Service i Azure Functions.

Jeśli ustalisz, że występuje wyczerpanie protokołu SNAT i upewnij się, że kod aplikacji poprawnie obsługuje połączenia wychodzące, rozważ wdrożenie bramy translatora adresów sieciowych. Takie podejście jest często używane przez klientów, którzy wdrażają wielodostępne rozwiązania, które są oparte na usłudze aplikacja systemu Azure i usłudze Azure Functions.

Pojedyncza brama translatora adresów sieciowych może mieć dołączone wiele publicznych adresów IP, a każdy publiczny adres IP udostępnia zestaw portów SNAT do łączenia wychodzącego z Internetem. Aby zrozumieć maksymalną liczbę portów I adresów IP SNAT, które mogą obsługiwać pojedyncza brama NAT, zobacz Limity subskrypcji i usług platformy Azure, limity przydziału i ograniczenia. Jeśli musisz skalować poza ten limit, możesz rozważyć wdrożenie wielu wystąpień bramy translatora adresów sieciowych w wielu podsieciach lub sieciach wirtualnych. Każda maszyna wirtualna w podsieci może używać dowolnego z dostępnych portów SNAT, jeśli ich potrzebuje.

Kontrolka wychodzącego adresu IP

Kontrolka wychodzącego adresu IP może być przydatna w aplikacjach wielodostępnych, jeśli masz wszystkie następujące wymagania:

  • Używasz usług platformy Azure, które nie zapewniają automatycznie dedykowanych statycznych adresów IP dla ruchu wychodzącego. Te usługi obejmują usługę aplikacja systemu Azure, usługę Azure Functions, usługę API Management (w przypadku uruchamiania w warstwie zużycia) i usługę Azure Container Instances.
  • Musisz połączyć się z sieciami dzierżawców za pośrednictwem Internetu.
  • Dzierżawcy muszą filtrować ruch przychodzący na podstawie adresu IP każdego żądania.

Po zastosowaniu wystąpienia bramy translatora adresów sieciowych do podsieci dowolny ruch wychodzący z tej podsieci używa publicznych adresów IP skojarzonych z bramą translatora adresów sieciowych.

Uwaga

Po skojarzeniu wielu publicznych adresów IP z jedną bramą translatora adresów sieciowych ruch wychodzący może pochodzić z dowolnego z tych adresów IP. Może być konieczne skonfigurowanie reguł zapory w miejscu docelowym. Należy zezwolić na każdy adres IP lub użyć zasobu prefiksu publicznego adresu IP, aby użyć zestawu publicznych adresów IP w tym samym zakresie.

Modele izolacji

Jeśli musisz podać różne wychodzące publiczne adresy IP dla każdej dzierżawy, musisz wdrożyć poszczególne zasoby bramy translatora adresów sieciowych. Każda podsieć może być skojarzona z pojedynczym wystąpieniem bramy translatora adresów sieciowych. Aby wdrożyć więcej bram translatora adresów sieciowych, należy wdrożyć wiele podsieci lub sieci wirtualnych. Z kolei prawdopodobnie trzeba wdrożyć wiele zestawów zasobów obliczeniowych.

Zapoznaj się z podejściami do architektury sieci w rozwiązaniach wielodostępnych, aby uzyskać więcej informacji na temat projektowania topologii sieci wielodostępnej.

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Główny autor:

  • John Downs | Główny inżynier klienta, fasttrack dla platformy Azure

Inni współautorzy:

Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki