Důležité aspekty sítí pro prostředí App Service Environment

Důležité

Tento článek se týká služby App Service Environment v2, která se používá s plány izolované služby App Service. Služba App Service Environment v2 bude vyřazena 31. srpna 2024. Existuje nová verze služby App Service Environment, která se snadněji používá a běží na výkonnější infrastruktuře. Další informace o nové verzi najdete v úvodu do služby App Service Environment. Pokud aktuálně používáte App Service Environment v2, postupujte podle kroků v tomto článku a proveďte migraci na novou verzi.

Od 29. ledna 2024 už nemůžete vytvářet nové prostředky služby App Service Environment verze 2 pomocí některé z dostupných metod, včetně šablon ARM/Bicep, webu Azure Portal, Azure CLI nebo rozhraní REST API. Před 31. srpnem 2024 musíte migrovat do služby App Service Environment v3 , abyste zabránili odstranění prostředků a ztrátě dat.

App Service Environment je nasazení služby Aplikace Azure Service do podsítě ve vaší virtuální síti Azure. Pro službu App Service Environment existují dva typy nasazení:

Poznámka:

Tento článek se týká služby App Service Environment v2, která se používá s izolovanými plány služby App Service.

Bez ohledu na typ nasazení mají všechna prostředí App Service Environment veřejnou virtuální IP adresu (VIP). Tato virtuální IP adresa se používá pro příchozí provoz správy a jako adresu při volání ze služby App Service Environment do internetu. Taková volání opustí virtuální síť prostřednictvím virtuální IP adresy přiřazené pro službu App Service Environment.

Pokud aplikace volaly prostředky ve vaší virtuální síti nebo přes síť VPN, zdrojová IP adresa je jednou z IP adres v podsíti. Protože služba App Service Environment je ve virtuální síti, může také přistupovat k prostředkům ve virtuální síti bez jakékoli další konfigurace. Pokud je virtuální síť připojená k místní síti, mají aplikace také přístup k prostředkům bez další konfigurace.

Diagram that shows the elements of an external deployment. 

Pokud máte službu App Service Environment s externím nasazením, představuje veřejná VIRTUÁLNÍ IP adresa také koncový bod, na který se vaše aplikace přeloží pro následující účely:

  • HTTP/S
  • FTP/S
  • Nasazení webu
  • Vzdálené ladění

Diagram that shows the elements of an internal load balancer deployment.

Pokud máte službu App Service Environment s interním nasazením nástroje pro vyrovnávání zatížení, adresa interní adresy je koncovým bodem pro HTTP/S, FTP/S, nasazení webu a vzdálené ladění.

Velikost podsítě

Po nasazení služby App Service Environment nemůžete změnit velikost podsítě použité k jeho hostování. App Service Environment používá adresu pro každou roli infrastruktury a také pro každou izolovanou instanci plánu služby App Service. Sítě Azure navíc používají pět adres pro každou vytvořenou podsíť.

Služba App Service Environment bez plánů služby App Service bude před vytvořením aplikace používat 12 adres. Pokud používáte interní nasazení nástroje pro vyrovnávání zatížení, použije se před vytvořením aplikace 13 adres. Při horizontálním navýšení kapacity mějte na paměti, že role infrastruktury se přidávají na každý násobek 15 a 20 instancí plánu služby App Service.

Důležité

V podsíti nemůže být nic jiného, ale ve službě App Service Environment. Nezapomeňte zvolit adresní prostor, který umožňuje budoucí růst. Toto nastavení nemůžete později změnit. Doporučujeme velikost /24 s 256 adresami.

Při vertikálním navýšení nebo snížení kapacity se přidají nové role odpovídající velikosti a úlohy se migrují z aktuální velikosti na cílovou velikost. Původní virtuální počítače se odeberou až po migraci úloh. Pokud jste například měli službu App Service Environment s 100 instancemi plánu služby App Service, existuje časové období, ve kterém potřebujete zdvojnásobit počet virtuálních počítačů.

Příchozí a odchozí závislosti

Následující části zahrnují závislosti, které je potřeba znát pro službu App Service Environment. Další část popisuje nastavení DNS.

Příchozí závislosti

Pro provoz služby App Service Environment musí být otevřené následující porty:

Používání Z verze Komu
Správa Adresy správy služby App Service Podsíť služby App Service Environment: 454, 455
Interní komunikace služby App Service Environment Podsíť služby App Service Environment: Všechny porty Podsíť služby App Service Environment: Všechny porty
Povolit příchozí provoz nástroje pro vyrovnávání zatížení Azure Nástroj pro vyrovnávání zatížení Azure Podsíť služby App Service Environment: 16001

Porty 7564 a 1221 se dají zobrazit jako otevřené při prohledávání portů. Odpoví IP adresou a nic dalšího. Pokud chcete, můžete je zablokovat.

Příchozí provoz správy poskytuje kromě monitorování systému i příkaz a kontrolu nad službou App Service Environment. Zdrojové adresy pro tento provoz jsou uvedené v adresách pro správu služby App Service Environment. Konfigurace zabezpečení sítě musí povolit přístup z adres pro správu služby App Service Environment na portech 454 a 455. Pokud těmto adresám zablokujete přístup, služba App Service Environment nebude v pořádku a pak se pozastaví. Provoz TCP, který se dodává na portech 454 a 455, se musí vracet ze stejné virtuální IP adresy, nebo budete mít problém s asymetrickým směrováním.

V rámci podsítě se používá mnoho portů pro interní komunikaci komponent a můžou se měnit. To vyžaduje, aby byly všechny porty v podsíti přístupné z podsítě.

Pro komunikaci mezi nástrojem pro vyrovnávání zatížení Azure a podsítí služby App Service Environment jsou minimální porty, které je potřeba otevřít, 454, 455 a 16001. Pokud používáte interní nasazení nástroje pro vyrovnávání zatížení, můžete provoz uzamknout jenom na porty 454, 455, 16001. Pokud používáte externí nasazení, musíte vzít v úvahu normální přístupové porty aplikace. Konkrétně se jedná o tyto:

Používání Porty
HTTP/HTTPS 80, 443
FTP/FTPS 21, 990, 10001-10020
Vzdálené ladění sady Visual Studio 4020, 4022, 4024
Služba nasazení webu 8172

Pokud zablokujete porty aplikace, bude vaše služba App Service Environment pořád fungovat, ale vaše aplikace nemusí fungovat. Pokud používáte IP adresy přiřazené aplikací s externím nasazením, musíte povolit provoz z IP adres přiřazených vašim aplikacím do podsítě. Na portálu App Service Environment přejděte na IP adresy a podívejte se na porty, ze kterých potřebujete povolit provoz.

Odchozí závislosti

Pro odchozí přístup závisí služba App Service Environment na několika externích systémech. Mnohé z těchto systémových závislostí jsou definované pomocí názvů DNS a nemapují se na pevnou sadu IP adres. Služba App Service Environment proto vyžaduje odchozí přístup z podsítě ke všem externím IP adresám na různých portech.

Služba App Service Environment komunikuje s internetovými dostupnými adresami na následujících portech:

Použití Porty
DNS 53
NTP 123
CRL, aktualizace Windows, závislosti Linuxu, služby Azure 80/443
Azure SQL 1433
Sledování 12000

Odchozí závislosti jsou uvedené v uzamčení služby App Service Environment. Pokud služba App Service Environment ztratí přístup ke svým závislostem, přestane fungovat. Když k tomu dojde po dostatečně dlouhou dobu, je pozastaveno.

DNS zákazníka

Pokud je virtuální síť nakonfigurovaná se serverem DNS definovaným zákazníkem, úlohy tenanta ji používají. App Service Environment používá Azure DNS pro účely správy. Pokud je virtuální síť nakonfigurovaná se serverem DNS vybraným zákazníkem, musí být server DNS dostupný z podsítě.

Poznámka:

Připojení úložiště nebo načtení image kontejneru ve službě App Service Environment v2 nemůžou ve virtuální síti ani prostřednictvím nastavení aplikace používat SLUŽBU DNS definovanou zákazníkem WEBSITE_DNS_SERVER .

K otestování překladu DNS z webové aplikace můžete použít příkaz nameresolverkonzoly . Přejděte do okna ladění na webu scm pro vaši aplikaci nebo přejděte do aplikace na portálu a vyberte konzolu. Z příkazového řádku prostředí můžete vydat příkaz nameresolverspolu s názvem DNS, který chcete vyhledat. Výsledek, který získáte zpět, je stejný jako výsledek, který by aplikace získala při provádění stejného vyhledávání. Pokud použijete nslookup, místo toho provedete vyhledávání pomocí Azure DNS.

Pokud změníte nastavení DNS virtuální sítě, ve které je vaše služba App Service Environment, budete muset restartovat počítač. Abyste se vyhnuli restartování, je vhodné před vytvořením služby App Service Environment nakonfigurovat nastavení DNS pro vaši virtuální síť.

Závislosti portálu

Kromě závislostí popsaných v předchozích částech byste měli mít na paměti několik dalších aspektů, které souvisí s prostředím portálu. Některé možnosti na webu Azure Portal závisí na přímém přístupu k webu správce správy zdrojového kódu (SCM). Pro každou aplikaci ve službě Aplikace Azure Service existují dvě adresy URL. První adresou URL je přístup k aplikaci. Druhou adresou URL je přístup k webu SCM, který se také nazývá konzola Kudu. Mezi funkce, které používají web SCM, patří:

  • Web Jobs
  • Funkce
  • Streamování protokolů
  • Kudu
  • Rozšíření
  • Průzkumníka procesů
  • Konzola

Pokud používáte interní nástroj pro vyrovnávání zatížení, není lokalita SCM přístupná mimo virtuální síť. Některé funkce nefungují na portálu aplikací, protože vyžadují přístup k webu SCM aplikace. Místo portálu se můžete připojit přímo k webu SCM.

Pokud je interním nástrojem pro vyrovnávání zatížení název contoso.appserviceenvironment.netdomény a název vaší aplikace je testapp, dosáhne se aplikace na adrese testapp.contoso.appserviceenvironment.net. Web SCM, který s ním jde, je dosaženo na testapp.scm.contoso.appserviceenvironment.netadrese .

Adresy IP

Služba App Service Environment má několik IP adres, o které je potřeba vědět. Mezi ně patří:

  • Veřejná příchozí IP adresa: Používá se pro provoz aplikací v externím nasazení a provoz správy v interních i externích nasazeních.
  • Odchozí veřejná IP adresa: Používá se jako IP adresa "from" pro odchozí připojení, která opustí virtuální síť. Tato připojení nejsou směrována do sítě VPN.
  • IP adresa interního nástroje pro vyrovnávání zatížení: Tato adresa existuje pouze v interním nasazení.
  • Adresy TLS/SSL přiřazené aplikací: Tyto adresy jsou možné pouze s externím nasazením a při konfiguraci vazby TLS/SSL založené na PROTOKOLU IP.

Všechny tyto IP adresy jsou viditelné na webu Azure Portal z uživatelského rozhraní služby App Service Environment. Pokud máte interní nasazení, zobrazí se IP adresa interního nástroje pro vyrovnávání zatížení.

Poznámka:

Tyto IP adresy se nemění, pokud je vaše služba App Service Environment spuštěná. Pokud se vaše služba App Service Environment pozastaví a obnoví se, použité adresy se změní. Normální příčinou pozastavení je blokování příchozího přístupu pro správu nebo blokování přístupu k závislosti.

IP adresy přiřazené aplikacím

Pomocí externího nasazení můžete přiřadit IP adresy jednotlivým aplikacím. S interním nasazením to nejde udělat. Další informace o tom, jak nakonfigurovat aplikaci tak, aby měla vlastní IP adresu, najdete v tématu Zabezpečení vlastního názvu DNS pomocí vazby TLS/SSL ve službě Aplikace Azure Service.

Pokud má aplikace vlastní IP adresu SSL, služba App Service Environment si vyhrazuje dva porty pro mapování na danou IP adresu. Jeden port je určený pro provoz HTTP a druhý port je pro HTTPS. Tyto porty jsou uvedené v části IP adresy portálu služby App Service Environment. Provoz musí mít přístup k těmto portům z virtuální IP adresy. Jinak jsou aplikace nepřístupné. Tento požadavek je důležitý při konfiguraci skupin zabezpečení sítě (NSG).

Skupiny zabezpečení sítě

Skupiny zabezpečení sítě umožňují řídit síťový přístup v rámci virtuální sítě. Když používáte portál, existuje implicitní pravidlo zamítnutí s nejnižší prioritou, které zamítá všechno. To, co vytváříte, jsou pravidla povolení.

Nemáte přístup k virtuálním počítačům používaným k hostování samotného prostředí App Service Environment. Jsou v předplatném, které spravuje Microsoft. Pokud chcete omezit přístup k aplikacím, nastavte skupiny zabezpečení sítě v podsíti. Při tom věnujte pečlivou pozornost závislostem. Pokud zablokujete jakékoli závislosti, služba App Service Environment přestane fungovat.

Skupiny zabezpečení sítě můžete nakonfigurovat prostřednictvím webu Azure Portal nebo přes PowerShell. Tady jsou uvedené informace na webu Azure Portal. Skupiny zabezpečení sítě můžete vytvářet a spravovat na portálu jako prostředek nejvyšší úrovně v části Sítě.

Požadované položky ve skupině zabezpečení sítě umožňují provoz:

Příchozí

  • TCP ze značky AppServiceManagement služby IP na portech 454, 455
  • TCP z nástroje pro vyrovnávání zatížení na portu 16001
  • Z podsítě služby App Service Environment do podsítě služby App Service Environment na všech portech

Odchozí

  • UDP na všechny IP adresy na portu 53
  • UDP na všechny IP adresy na portu 123
  • TCP na všechny IP adresy na portech 80, 443
  • TCP na značku Sql služby IP na portu 1433
  • TCP na všechny IP adresy na portu 12000
  • Do podsítě služby App Service Environment na všech portech

Tyto porty nezahrnují porty, které vaše aplikace vyžadují k úspěšnému použití. Předpokládejme například, že vaše aplikace potřebuje volat server MySQL na portu 3306. Protokol NTP (Network Time Protocol) na portu 123 je protokol synchronizace času používaný operačním systémem. Koncové body NTP nejsou specifické pro Službu App Service, můžou se lišit v operačním systému a nejsou v dobře definovaném seznamu adres. Pokud chcete zabránit problémům se synchronizací času, musíte povolit provoz UDP na všechny adresy na portu 123. Odchozí přenos TCP na port 12000 je určený pro podporu a analýzu systému. Koncové body jsou dynamické a nejsou v dobře definované sadě adres.

Normální přístupové porty aplikací jsou:

Používání Porty
HTTP/HTTPS 80, 443
FTP/FTPS 21, 990, 10001-10020
Vzdálené ladění sady Visual Studio 4020, 4022, 4024
Služba Nasazení webu 8172

Výchozí pravidlo umožňuje IP adresám ve virtuální síti komunikovat s podsítí. Další výchozí pravidlo umožňuje nástroji pro vyrovnávání zatížení, kterému se také říká veřejná VIRTUÁLNÍ IP adresa, komunikovat se službou App Service Environment. Pokud chcete zobrazit výchozí pravidla, vyberte Výchozí pravidla (vedle ikony Přidat ).

Pokud před výchozí pravidla vložíte odepření všeho ostatního , zabráníte provozu mezi virtuální IP sadou a službou App Service Environment. Pokud chcete zabránit přenosu z virtuální sítě, přidejte vlastní pravidlo pro povolení příchozích přenosů. Použijte zdroj roven AzureLoadBalancer, s cílem Any a rozsah *portů . Vzhledem k tomu, že se pravidlo NSG použije v podsíti, nemusíte být v cíli konkrétní.

Pokud jste aplikaci přiřadili IP adresu, ujistěte se, že jsou porty otevřené. Pokud chcete zobrazit porty, vyberte IP adresy služby App Service Environment>.  

Po definování skupin zabezpečení sítě je přiřaďte k podsíti. Pokud si virtuální síť nebo podsíť nepamatujete, uvidíte ji na portálu App Service Environment. Pokud chcete přiřadit skupinu zabezpečení sítě k podsíti, přejděte do uživatelského rozhraní podsítě a vyberte skupinu zabezpečení sítě.

Trasy

Vynucené tunelování je, když nastavíte trasy ve virtuální síti, aby odchozí provoz nepřešel přímo na internet. Místo toho provoz směřuje někam jinam, například brána Azure ExpressRoute nebo virtuální zařízení. Pokud potřebujete službu App Service Environment nakonfigurovat takovým způsobem, přečtěte si téma Konfigurace služby App Service Environment s vynuceným tunelováním.

Když na portálu vytvoříte službu App Service Environment, automaticky vytvoříte sadu směrovacích tabulek v podsíti. Tyto trasy jednoduše říkají, že se mají odchozí provoz odesílat přímo na internet.

Pokud chcete vytvořit stejné trasy ručně, postupujte takto:

  1. Přejděte na web Azure Portal a vyberte >Síťové směrovací tabulky.

  2. Vytvořte novou směrovací tabulku ve stejné oblasti jako virtuální síť.

  3. V uživatelském rozhraní směrovací tabulky vyberte Přidat trasy>.

  4. Nastavte typ dalšího segmentu směrování na internet a předponu Adresa na 0.0.0.0/0. Zvolte Uložit.

    Pak se zobrazí něco podobného:

    Screenshot that shows functional routes.

  5. Po vytvoření nové směrovací tabulky přejděte do podsítě. Ze seznamu na portálu vyberte směrovací tabulku. Po uložení této změny byste měli vidět skupiny zabezpečení sítě a trasy, které jste si poznamenali ve vaší podsíti.

    Screenshot that shows NSGs and routes.

Koncové body služby

Koncové body služby umožňují omezit přístup ke službám s více tenanty na sadu virtuálních sítí a podsítí Azure. Další informace najdete v tématu Koncové body služby pro virtuální síť.

Když povolíte koncové body služby v prostředku, vytvoří se trasy s vyšší prioritou než všechny ostatní trasy. Pokud používáte koncové body služby v jakékoli službě Azure s vynuceným tunelovým tunelovým propojením služby App Service Environment, provoz do těchto služeb není vynuceně tunelovaný.

Pokud jsou koncové body služby povolené v podsíti s instancí Azure SQL, musí mít všechny instance Azure SQL připojené z této podsítě povolené koncové body služby. Pokud chcete ze stejné podsítě přistupovat k několika instancím Azure SQL, není možné povolit koncové body služby v jedné instanci SQL Azure a v jiné ne. Žádná jiná služba Azure se nechová jako Azure SQL s ohledem na koncové body služby. Když povolíte koncové body služby se službou Azure Storage, uzamknete přístup k housku z vaší podsítě. Stále ale máte přístup k jiným účtům Azure Storage, i když nemají povolené koncové body služby.

Diagram that shows service endpoints.