Udostępnij za pośrednictwem


App Service funkcje sieciowe

Aplikacje można wdrażać na Azure App Service na wiele sposobów. Domyślnie aplikacje hostowane w App Service są dostępne bezpośrednio za pośrednictwem Internetu i mogą uzyskiwać dostęp tylko do punktów końcowych hostowanych przez Internet. Jednak w przypadku wielu aplikacji należy kontrolować ruch sieciowy przychodzący i wychodzący. Istnieje kilka funkcji w App Service, które ułatwiają spełnienie tych potrzeb. Wyzwanie polega na tym, która funkcja ma być używana do rozwiązania danego problemu. Ten artykuł pomoże Określić, która funkcja ma być używana, na podstawie przykładowych przypadków użycia.

Istnieją dwa główne typy wdrożeń dla Azure App Service:

  • Usługa publiczna z wieloma dzierżawami hostuje plany App Service w jednostkach SKU cen bezpłatnych, udostępnionych, podstawowych, standardowych, Premium, PremiumV2 i PremiumV3.
  • Jednodostępne App Service Environment (ASE) hostuje plany jednostki SKU izolowanej App Service bezpośrednio w sieci wirtualnej platformy Azure.

Używane funkcje zależą od tego, czy jesteś w usłudze wielodostępnej, czy w środowisku ASE.

Uwaga

Funkcje sieciowe nie są dostępne dla aplikacji wdrożonych w usłudze Azure Arc.

Funkcje sieciowe z wieloma dzierżawami App Service

Azure App Service jest systemem rozproszonym. Role obsługujące przychodzące żądania HTTP lub HTTPS są nazywane frontonami. Role hostujące obciążenie klienta są nazywane procesami roboczymi. Wszystkie role we wdrożeniu App Service istnieją w sieci wielodostępnej. Ponieważ w tej samej jednostce skalowania App Service istnieje wiele różnych klientów, nie można połączyć sieci App Service bezpośrednio z siecią.

Zamiast łączyć sieci, potrzebne są funkcje do obsługi różnych aspektów komunikacji aplikacji. Funkcje obsługujące żądania do aplikacji nie mogą być używane do rozwiązywania problemów podczas wykonywania wywołań z aplikacji. Podobnie funkcje, które rozwiązują problemy z wywołaniami z aplikacji, nie mogą być używane do rozwiązywania problemów z aplikacją.

Funkcje ruchu przychodzącego Funkcje ruchu wychodzącego
Adres przypisany do aplikacji Połączenia hybrydowe
Ograniczenia dostępu Integracja z siecią wirtualną wymaganą przez bramę
Punkty końcowe usługi Integracja sieci wirtualnej
Prywatne punkty końcowe

Oprócz zanotowania wyjątków można używać wszystkich tych funkcji razem. Możesz mieszać funkcje, aby rozwiązać problemy.

Przypadki użycia i funkcje

W przypadku danego przypadku użycia może istnieć kilka sposobów rozwiązania problemu. Wybór najlepszej funkcji czasami wykracza poza sam przypadek użycia. Następujące przypadki użycia dla ruchu przychodzącego sugerują, jak używać funkcji sieciowych App Service do rozwiązywania problemów z kontrolowaniem ruchu przechodzącego do aplikacji:

Przypadek użycia dla ruchu przychodzącego Cecha
Obsługa potrzeb protokołu SSL opartego na protokole IP dla aplikacji Adres przypisany do aplikacji
Obsługa nieudostępnianych dedykowanych adresów przychodzących dla aplikacji Adres przypisany do aplikacji
Ograniczanie dostępu do aplikacji z zestawu dobrze zdefiniowanych adresów Ograniczenia dostępu
Ograniczanie dostępu do aplikacji z zasobów w sieci wirtualnej Punkty końcowe usługi — wewnętrzne punkty końcowe
Load Balancer środowiska ASE (ILB) — prywatne punkty końcowe środowiska ASE
Uwidacznianie aplikacji na prywatnym adresie IP w sieci wirtualnej Prywatne punkty końcowe
środowiska ASE
z wewnętrznym modułem równoważenia obciążenia — prywatny adres IP dla ruchu przychodzącego w wystąpieniu Application Gateway z punktami końcowymi usługi
Ochrona aplikacji za pomocą zapory aplikacji internetowej (WAF) Application Gateway i środowiska ASE
z wewnętrznym modułem równoważenia obciążenia Application Gateway z prywatnymi punktami końcowymi
Application Gateway z punktami końcowymi
usługi Azure Front Door z ograniczeniami dostępu
Równoważenie obciążenia ruchu do aplikacji w różnych regionach Usługa Azure Front Door z ograniczeniami dostępu
Równoważenie obciążenia ruchu w tym samym regionie Usługa Application Gateway z punktami końcowymi usługi

Następujące przypadki użycia ruchu wychodzącego sugerują, jak używać funkcji sieciowych App Service do rozwiązywania wymagań dotyczących dostępu wychodzącego dla aplikacji:

Przypadek użycia ruchu wychodzącego Cecha
Uzyskiwanie dostępu do zasobów w sieci wirtualnej platformy Azure w tym samym regionie Środowisko ASE integracji
sieci wirtualnej
Uzyskiwanie dostępu do zasobów w sieci wirtualnej platformy Azure w innym regionie integracja sieci wirtualnej i komunikacja równorzędna
sieci wirtualnych wymagana przez bramę integracji
sieci wirtualnej ASE i komunikacji równorzędnej sieci wirtualnych
Uzyskiwanie dostępu do zasobów zabezpieczonych za pomocą punktów końcowych usługi środowisko ASE integracji z siecią wirtualną
Uzyskiwanie dostępu do zasobów w sieci prywatnej, która nie jest połączona z platformą Azure Połączenia hybrydowe
Uzyskiwanie dostępu do zasobów w obwodach usługi Azure ExpressRoute środowisko ASE integracji z siecią wirtualną
Zabezpieczanie ruchu wychodzącego z aplikacji internetowej integracja sieci wirtualnej i sieciowe grupy
zabezpieczeń ASE
Kierowanie ruchu wychodzącego z aplikacji internetowej integracja z siecią wirtualną i tabele
tras ASE

Domyślne zachowanie sieci

Azure App Service jednostki skalowania obsługują wielu klientów w każdym wdrożeniu. Plany bezpłatnej i udostępnionej jednostki SKU obsługują obciążenia klientów w ramach procesów roboczych z wieloma dzierżawami. Podstawowe i wyższe plany hostują obciążenia klientów dedykowane tylko do jednego planu App Service. Jeśli masz plan App Service w warstwie Standardowa, wszystkie aplikacje w tym planie będą uruchamiane na tym samym pracowniku. W przypadku skalowania w poziomie procesu roboczego wszystkie aplikacje w tym planie App Service zostaną zreplikowane dla nowego procesu roboczego dla każdego wystąpienia w planie App Service.

Adresy wychodzące

Maszyny wirtualne procesu roboczego są podzielone w dużej części przez plany App Service. Plany Bezpłatna, Współdzielona, Podstawowa, Standardowa i Premium używają tego samego typu maszyny wirtualnej procesu roboczego. Plan PremiumV2 używa innego typu maszyny wirtualnej. Usługa PremiumV3 używa jeszcze innego typu maszyny wirtualnej. Po zmianie rodziny maszyn wirtualnych otrzymujesz inny zestaw adresów wychodzących. W przypadku skalowania z warstwy Standardowa do PremiumV2 adresy wychodzące zmienią się. W przypadku skalowania z wersji PremiumV2 do PremiumV3 adresy wychodzące zmienią się. W niektórych starszych jednostkach skalowania zarówno adresy przychodzące, jak i wychodzące zmienią się podczas skalowania z warstwy Standardowa na PremiumV2.

Istnieje wiele adresów używanych do wywołań wychodzących. Adresy wychodzące używane przez aplikację do wykonywania wywołań wychodzących są wyświetlane we właściwościach aplikacji. Te adresy są współużytkowane przez wszystkie aplikacje uruchomione w tej samej rodzinie maszyn wirtualnych procesu roboczego we wdrożeniu App Service. Jeśli chcesz wyświetlić wszystkie adresy, których aplikacja może używać w jednostce skalowania, istnieje właściwość o nazwie possibleOutboundAddresses , która będzie je wyświetlać.

Zrzut ekranu przedstawiający właściwości aplikacji.

App Service ma wiele punktów końcowych używanych do zarządzania usługą. Te adresy są publikowane w osobnym dokumencie i są również w tagu AppServiceManagement usługi IP. Tag AppServiceManagement jest używany tylko w środowiskach App Service, w których należy zezwolić na taki ruch. Adresy przychodzące App Service są śledzone w tagu AppService usługi IP. Nie ma tagu usługi IP, który zawiera adresy wychodzące używane przez App Service.

Diagram przedstawiający App Service ruchu przychodzącego i wychodzącego.

Adres przypisany do aplikacji

Funkcja adresu przypisanego przez aplikację jest odejściem od możliwości protokołu SSL opartego na protokole IP. Dostęp do niego można uzyskać, konfigurując protokół SSL w aplikacji. Tej funkcji można używać na potrzeby wywołań SSL opartych na protokole IP. Możesz również użyć go, aby nadać aplikacji adres, który ma tylko ten adres.

Diagram przedstawiający adres przypisany do aplikacji.

W przypadku korzystania z adresu przypisanego przez aplikację ruch nadal przechodzi przez te same role frontonu, które obsługują cały ruch przychodzący do jednostki skalowania App Service. Jednak adres przypisany do aplikacji jest używany tylko przez aplikację. Przypadki użycia tej funkcji:

  • Obsługa potrzeb protokołu SSL opartego na protokole IP dla aplikacji.
  • Ustaw dedykowany adres dla aplikacji, która nie jest udostępniona.

Aby dowiedzieć się, jak ustawić adres w aplikacji, zobacz Dodawanie certyfikatu TLS/SSL w Azure App Service.

Ograniczenia dostępu

Ograniczenia dostępu umożliwiają filtrowanie żądań przychodzących . Akcja filtrowania odbywa się w rolach frontonu, które są nadrzędne z ról procesu roboczego, w których działają aplikacje. Ponieważ role frontonu są nadrzędne od pracowników, można traktować ograniczenia dostępu jako ochronę na poziomie sieci dla aplikacji. Aby uzyskać więcej informacji na temat ograniczeń dostępu, zobacz Omówienie ograniczeń dostępu.

Ta funkcja umożliwia utworzenie listy reguł zezwalania i odmowy, które są oceniane w kolejności priorytetu. Jest ona podobna do funkcji sieciowej grupy zabezpieczeń w sieci platformy Azure. Tej funkcji można użyć w środowisku ASE lub w usłudze wielodostępnej. W przypadku korzystania z środowiska ASE z wewnętrznym modułem równoważenia obciążenia można ograniczyć dostęp z bloków prywatnych adresów. Aby dowiedzieć się, jak włączyć tę funkcję, zobacz Konfigurowanie ograniczeń dostępu.

Uwaga

Na aplikację można skonfigurować maksymalnie 512 reguł ograniczeń dostępu.

Diagram przedstawiający ograniczenia dostępu.

Prywatny punkt końcowy

Prywatny punkt końcowy to interfejs sieciowy, który łączy Cię prywatnie i bezpiecznie z aplikacją internetową za pomocą łącza prywatnego platformy Azure. Prywatny punkt końcowy używa prywatnego adresu IP z sieci wirtualnej, skutecznie przenosząc aplikację internetową do sieci wirtualnej. Ta funkcja jest przeznaczona tylko dla przepływów przychodzących do aplikacji internetowej. Aby uzyskać więcej informacji, zobacz Using private endpoints for Azure Web App (Używanie prywatnych punktów końcowych dla aplikacji internetowej platformy Azure).

Niektóre przypadki użycia tej funkcji:

  • Ogranicz dostęp do aplikacji z zasobów w sieci wirtualnej.
  • Uwidocznij aplikację na prywatnym adresie IP w sieci wirtualnej.
  • Ochrona aplikacji za pomocą zapory aplikacji internetowej.

Prywatne punkty końcowe uniemożliwiają eksfiltrację danych, ponieważ jedyną rzeczą, którą można uzyskać w prywatnym punkcie końcowym, jest aplikacja, z którą została skonfigurowana.

Połączenia hybrydowe

App Service połączenia hybrydowe umożliwiają aplikacjom wykonywanie wywołań wychodzących do określonych punktów końcowych PROTOKOŁU TCP. Punkt końcowy może być lokalny, w sieci wirtualnej lub w dowolnym miejscu, który zezwala na ruch wychodzący do platformy Azure na porcie 443. Aby użyć tej funkcji, należy zainstalować agenta przekaźnika o nazwie Menedżer połączeń hybrydowych na Windows Server 2012 lub nowszym hoście. Menedżer połączeń hybrydowych musi mieć możliwość nawiązania połączenia z usługą Azure Relay na porcie 443. Menedżer połączeń hybrydowych można pobrać z interfejsu użytkownika połączeń hybrydowych App Service w portalu.

Diagram przedstawiający przepływ sieci połączeń hybrydowych.

App Service połączenia hybrydowe są oparte na możliwości połączeń hybrydowych usługi Azure Relay. App Service używa wyspecjalizowanej formy funkcji, która obsługuje tylko wykonywanie wywołań wychodzących z aplikacji do hosta i portu TCP. Ten host i port muszą być rozpoznawane tylko na hoście, na którym zainstalowano Menedżer połączeń hybrydowych.

Gdy aplikacja, w App Service, wykonuje wyszukiwanie DNS na hoście i porcie zdefiniowanym w połączeniu hybrydowym, ruch automatycznie przekierowuje, aby przejść przez połączenie hybrydowe i z Menedżer połączeń hybrydowych. Aby dowiedzieć się więcej, zobacz App Service połączenia hybrydowe.

Ta funkcja jest często używana do:

  • Uzyskiwanie dostępu do zasobów w sieciach prywatnych, które nie są połączone z platformą Azure za pomocą sieci VPN ani usługi ExpressRoute.
  • Obsługa migracji aplikacji lokalnych do App Service bez konieczności przenoszenia pomocniczych baz danych.
  • Zapewnianie dostępu z ulepszonymi zabezpieczeniami pojedynczego hosta i portu na połączenie hybrydowe. Większość funkcji sieciowych otwiera dostęp do sieci. W przypadku połączeń hybrydowych można nawiązać połączenie tylko z jednym hostem i portem.
  • Omówienie scenariuszy, które nie są objęte innymi metodami łączności wychodzącej.
  • Tworzenie aplikacji w App Service w sposób umożliwiający aplikacjom łatwe korzystanie z zasobów lokalnych.

Ponieważ ta funkcja umożliwia dostęp do zasobów lokalnych bez dziury zapory dla ruchu przychodzącego, jest popularna dla deweloperów. Inne funkcje sieci wychodzące App Service są powiązane z usługą Azure Virtual Network. Połączenia hybrydowe nie zależą od przechodzenia przez sieć wirtualną. Może być używany do szerszej gamy potrzeb sieciowych.

App Service połączenia hybrydowe nie są świadome tego, co robisz. Dzięki temu można go użyć do uzyskiwania dostępu do bazy danych, usługi internetowej lub dowolnego gniazda TCP na komputerze mainframe. Funkcja zasadniczo tuneluje pakiety TCP.

Połączenia hybrydowe są popularne do programowania, ale są również używane w aplikacjach produkcyjnych. Doskonale nadaje się do uzyskiwania dostępu do usługi internetowej lub bazy danych, ale nie jest to odpowiednie w sytuacjach, które obejmują tworzenie wielu połączeń.

Integracja sieci wirtualnej

App Service integracja sieci wirtualnej umożliwia aplikacji wykonywanie żądań wychodzących w sieci wirtualnej platformy Azure.

Funkcja integracji sieci wirtualnej umożliwia umieszczenie zaplecza aplikacji w podsieci w sieci wirtualnej Resource Manager. Sieć wirtualna musi znajdować się w tym samym regionie co aplikacja. Ta funkcja nie jest dostępna w App Service Environment, która jest już w sieci wirtualnej. Przypadki użycia tej funkcji:

  • Dostęp do zasobów w sieciach wirtualnych Resource Manager w tym samym regionie.
  • Uzyskiwanie dostępu do zasobów w równorzędnych sieciach wirtualnych, w tym połączeń między regionami.
  • Uzyskiwanie dostępu do zasobów zabezpieczonych punktami końcowymi usługi.
  • Uzyskiwanie dostępu do zasobów dostępnych za pośrednictwem połączeń usługi ExpressRoute lub sieci VPN.
  • Dostęp do zasobów w sieciach prywatnych bez potrzeby i kosztów bramy Virtual Network.
  • Pomoc w zabezpieczaniu całego ruchu wychodzącego.
  • Wymuś tunelowanie całego ruchu wychodzącego.

Diagram przedstawiający integrację sieci wirtualnej.

Aby dowiedzieć się więcej, zobacz App Service integracja z siecią wirtualną.

Integracja z siecią wirtualną wymaganą przez bramę

Integracja z siecią wirtualną wymaganą przez bramę była pierwszą wersją integracji sieci wirtualnej w App Service. Ta funkcja działa przez połączenie hosta, na którym aplikacja jest uruchomiona z bramą Virtual Network w sieci wirtualnej przy użyciu sieci VPN typu punkt-lokacja. Po skonfigurowaniu tej funkcji aplikacja otrzymuje jeden z przypisanych do punktu do lokacji adresów przypisanych do każdego wystąpienia.

Diagram przedstawiający integrację z siecią wirtualną wymaganą przez bramę.

Wymagana integracja bramy umożliwia bezpośrednie łączenie się z siecią wirtualną w innym regionie bez komunikacji równorzędnej i nawiązywanie połączenia z klasyczną siecią wirtualną. Ta funkcja jest ograniczona do planów systemu Windows App Service i nie działa z sieciami wirtualnymi połączonymi z usługą ExpressRoute. Zaleca się korzystanie z regionalnej integracji sieci wirtualnej. Aby uzyskać więcej informacji na temat tej funkcji, zobacz App Service integracja sieci wirtualnej.

Środowisko usługi App Service

App Service Environment (ASE) to jednodostępne wdrożenie Azure App Service, które działa w sieci wirtualnej. Niektóre przypadki takie jak w przypadku tej funkcji:

  • Uzyskiwanie dostępu do zasobów w sieci wirtualnej.
  • Uzyskiwanie dostępu do zasobów w usłudze ExpressRoute.
  • Uwidaczniaj aplikacje przy użyciu prywatnego adresu w sieci wirtualnej.
  • Uzyskiwanie dostępu do zasobów w punktach końcowych usługi.
  • Uzyskiwanie dostępu do zasobów w prywatnych punktach końcowych.

W środowisku ASE nie trzeba używać integracji z siecią wirtualną, ponieważ środowisko ASE jest już w sieci wirtualnej. Jeśli chcesz uzyskać dostęp do zasobów, takich jak SQL lub Azure Storage za pośrednictwem punktów końcowych usługi, włącz punkty końcowe usługi w podsieci środowiska ASE. Jeśli chcesz uzyskać dostęp do zasobów w sieci wirtualnej lub prywatnych punktach końcowych w sieci wirtualnej, nie musisz wykonywać żadnej dodatkowej konfiguracji. Jeśli chcesz uzyskać dostęp do zasobów w usłudze ExpressRoute, jesteś już w sieci wirtualnej i nie musisz konfigurować żadnych elementów w środowisku ASE ani w aplikacjach w nim.

Ponieważ aplikacje w środowisku ASE z wewnętrznym modułem równoważenia obciążenia mogą być uwidocznione na prywatnym adresie IP, możesz łatwo dodać urządzenia zapory aplikacji internetowych, aby uwidocznić tylko aplikacje, które chcesz połączyć z Internetem i zapewnić bezpieczeństwo pozostałym. Ta funkcja może ułatwić tworzenie aplikacji wielowarstwowych.

Niektóre elementy nie są obecnie możliwe z poziomu usługi wielodostępnej, ale są możliwe z poziomu środowiska ASE. Oto kilka przykładów:

  • Hostowanie aplikacji w usłudze z jedną dzierżawą.
  • Skalowanie w górę do wielu wystąpień, niż jest to możliwe w usłudze wielodostępnej.
  • Załaduj certyfikaty klienta prywatnego urzędu certyfikacji do użycia przez aplikacje z prywatnymi punktami końcowymi zabezpieczonymi przez urząd certyfikacji.
  • Wymuś protokół TLS 1.2 we wszystkich aplikacjach hostowanych w systemie bez możliwości wyłączenia go na poziomie aplikacji.

Diagram przedstawiający środowisko ASE w sieci wirtualnej.

Środowisko ASE zapewnia najlepszą historię wokół izolowanego i dedykowanego hostingu aplikacji, ale wiąże się z pewnymi wyzwaniami w zakresie zarządzania. Niektóre kwestie, które należy wziąć pod uwagę przed użyciem operacyjnego środowiska ASE:

  • Środowisko ASE działa wewnątrz sieci wirtualnej, ale ma zależności poza siecią wirtualną. Te zależności muszą być dozwolone. Aby uzyskać więcej informacji, zobacz Zagadnienia dotyczące sieci dla App Service Environment.
  • Usługa ASE nie jest skalowana natychmiast, podobnie jak usługa wielodostępna. Należy przewidzieć potrzeby skalowania, a nie reaktywne skalowanie.
  • AsE ma wyższy koszt z góry. Aby jak najlepiej wykorzystać swoje środowiska ASE, należy zaplanować umieszczenie wielu obciążeń w jednym ase, zamiast używać go do małych wysiłków.
  • Aplikacje w środowisku ASE nie mogą selektywnie ograniczać dostępu do niektórych aplikacji w środowisku ASE, a nie innych.
  • AsE znajduje się w podsieci, a wszystkie reguły sieciowe mają zastosowanie do całego ruchu do i z tego środowiska ASE. Jeśli chcesz przypisać reguły ruchu przychodzącego tylko dla jednej aplikacji, użyj ograniczeń dostępu.

Łączenie funkcji

Funkcje, które są przeznaczone dla usługi wielodostępnej, mogą być używane razem do rozwiązywania bardziej skomplikowanych przypadków użycia. Dwa z bardziej typowych przypadków użycia opisano tutaj, ale to tylko przykłady. Dzięki zrozumieniu, co robią różne funkcje, można spełnić niemal wszystkie potrzeby architektury systemu.

Umieszczanie aplikacji w sieci wirtualnej

Możesz się zastanawiać, jak umieścić aplikację w sieci wirtualnej. Jeśli aplikacja zostanie umieszczona w sieci wirtualnej, przychodzące i wychodzące punkty końcowe aplikacji znajdują się w sieci wirtualnej. Środowisko ASE to najlepszy sposób rozwiązania tego problemu. Jednak większość Twoich potrzeb można spełnić w ramach usługi wielodostępnej, łącząc funkcje. Można na przykład hostować aplikacje tylko w intranecie z prywatnymi adresami przychodzącymi i wychodzącymi, wykonując następujące czynności:

  • Tworzenie bramy aplikacji z prywatnymi adresami przychodzącymi i wychodzącymi.
  • Zabezpieczanie ruchu przychodzącego do aplikacji za pomocą punktów końcowych usługi.
  • Dzięki funkcji integracji z siecią wirtualną zaplecze aplikacji znajduje się w sieci wirtualnej.

Ten styl wdrożenia nie zapewnia dedykowanego adresu dla ruchu wychodzącego do Internetu ani możliwości zablokowania całego ruchu wychodzącego z aplikacji. Da ci to wiele z tego, co w przeciwnym razie dostaniesz ze środowiska ASE.

Tworzenie aplikacji wielowarstwowych

Aplikacja wielowarstwowa to aplikacja, w której aplikacje zaplecza interfejsu API mogą być dostępne tylko z poziomu warstwy frontonu. Istnieją dwa sposoby tworzenia aplikacji wielowarstwowej. Obie metody zaczynają się od korzystania z integracji z siecią wirtualną w celu połączenia aplikacji internetowej frontonu z podsiecią w sieci wirtualnej. Dzięki temu aplikacja internetowa będzie mogła wykonywać wywołania w sieci wirtualnej. Po połączeniu aplikacji frontonu z siecią wirtualną należy zdecydować, jak zablokować dostęp do aplikacji interfejsu API. Możesz:

  • Hostuj zarówno fronton, jak i aplikację interfejsu API w tym samym środowisku ASE z wewnętrznym modułem równoważenia obciążenia i uwidacznia aplikację frontonu w Internecie przy użyciu bramy aplikacji.
  • Hostowanie frontonu w usłudze wielodostępnej i zapleczu w środowisku ASE z wewnętrznym modułem równoważenia obciążenia.
  • Hostowanie zarówno frontonu, jak i aplikacji interfejsu API w usłudze wielodostępnej.

Jeśli hostujesz zarówno aplikację frontonu, jak i interfejsu API dla aplikacji wielowarstwowej, możesz:

  • Uwidaczniaj aplikację interfejsu API przy użyciu prywatnych punktów końcowych w sieci wirtualnej:

    Diagram przedstawiający użycie prywatnych punktów końcowych w aplikacji dwuwarstwowej.

  • Użyj punktów końcowych usługi, aby upewnić się, że ruch przychodzący do aplikacji interfejsu API pochodzi tylko z podsieci używanej przez aplikację internetową frontonu:

    Diagram przedstawiający użycie punktów końcowych usługi w celu zabezpieczenia aplikacji.

Poniżej przedstawiono kilka zagadnień, które pomogą Ci zdecydować, której metody użyć:

  • W przypadku korzystania z punktów końcowych usługi wystarczy zabezpieczyć ruch do aplikacji interfejsu API do podsieci integracji. Punkty końcowe usługi pomagają zabezpieczyć aplikację interfejsu API, ale nadal można mieć eksfiltrację danych z aplikacji frontonu do innych aplikacji w usłudze App Service.
  • W przypadku korzystania z prywatnych punktów końcowych masz dwie podsieci w grze, co zwiększa złożoność. Ponadto prywatny punkt końcowy jest zasobem najwyższego poziomu i dodaje obciążenie związane z zarządzaniem. Zaletą korzystania z prywatnych punktów końcowych jest to, że nie masz możliwości eksfiltracji danych.

Każda z tych metod będzie działać z wieloma frontonami. Na małą skalę punkty końcowe usługi są łatwiejsze do użycia, ponieważ wystarczy włączyć punkty końcowe usługi dla aplikacji interfejsu API w podsieci integracji frontonu. W miarę dodawania kolejnych aplikacji frontonu należy dostosować każdą aplikację interfejsu API w celu uwzględnienia punktów końcowych usługi z podsiecią integracji. W przypadku korzystania z prywatnych punktów końcowych istnieje większa złożoność, ale nie trzeba nic zmieniać w aplikacjach interfejsu API po ustawieniu prywatnego punktu końcowego.

Aplikacje biznesowe

Aplikacje biznesowe (LOB) to aplikacje wewnętrzne, które zwykle nie są uwidacznione w celu uzyskania dostępu z Internetu. Te aplikacje są wywoływane z sieci firmowych, w których dostęp można ściśle kontrolować. Jeśli używasz środowiska ASE z wewnętrznym modułem równoważenia obciążenia, łatwo jest hostować aplikacje biznesowe. Jeśli używasz usługi z wieloma dzierżawami, możesz użyć prywatnych punktów końcowych lub użyć punktów końcowych usługi w połączeniu z bramą aplikacji. Istnieją dwa powody używania bramy aplikacji z punktami końcowymi usługi zamiast używania prywatnych punktów końcowych:

  • Potrzebna jest ochrona zapory aplikacji internetowych w aplikacjach biznesowych.
  • Chcesz równoważyć obciążenie do wielu wystąpień aplikacji biznesowych.

Jeśli żadna z tych potrzeb nie ma zastosowania, lepiej jest korzystać z prywatnych punktów końcowych. Dzięki prywatnym punktom końcowym dostępnym w App Service możesz uwidaczniać aplikacje na prywatnych adresach w sieci wirtualnej. Prywatny punkt końcowy, który znajduje się w sieci wirtualnej, można uzyskać za pośrednictwem połączeń usługi ExpressRoute i sieci VPN.

Skonfigurowanie prywatnych punktów końcowych spowoduje uwidocznienie aplikacji na adresie prywatnym, ale należy skonfigurować usługę DNS, aby uzyskać dostęp do tego adresu ze środowiska lokalnego. Aby ta konfiguracja działała, należy przekazać prywatną strefę usługi Azure DNS zawierającą prywatne punkty końcowe do lokalnych serwerów DNS. Strefy prywatne usługi Azure DNS nie obsługują przekazywania stref, ale można obsługiwać przekazywanie stref przy użyciu prywatnego rozpoznawania nazw usługi Azure DNS.

porty App Service

W przypadku skanowania App Service znajdziesz kilka portów uwidocznionych dla połączeń przychodzących. Nie ma możliwości blokowania ani kontrolowania dostępu do tych portów w usłudze wielodostępnej. Oto lista uwidocznionych portów:

Zastosowanie Port lub porty
HTTP/HTTPS 80, 443
Zarządzanie 454, 455
FTP/FTPS 21, 990, 10001-10300
Zdalne debugowanie programu Visual Studio 4020, 4022, 4024
Usługa Web Deploy 8172
Korzystanie z infrastruktury 7654, 1221