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. App Service Environment verze 1 a v2 se od 31. srpna 2024 vyřadí z provozu. 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 v1, postupujte podle kroků v tomto článku a proveďte migraci na novou verzi.
Od 31. srpna 2024 se kredity sla (Service Level Agreement) a Service Credits již nevztahují na úlohy služby App Service Environment verze 1 a v2, které jsou nadále v produkčním prostředí, protože jsou vyřazené produkty. Vyřazování hardwaru služby App Service Environment v1 a v2 začalo a to může mít vliv na dostupnost a výkon vašich aplikací a dat.
Migraci do služby App Service Environment v3 musíte dokončit okamžitě nebo se můžou odstranit vaše aplikace a prostředky. Pokusíme se automaticky migrovat všechny zbývající služby App Service Environment v1 a v2 s využitím funkce místní migrace, ale Microsoft po automatické migraci neposkytuje žádné nároky ani záruky týkající se dostupnosti aplikací. Možná budete muset provést ruční konfiguraci pro dokončení migrace a optimalizovat výběr skladové položky plánu služby App Service tak, aby vyhovovala vašim potřebám. Pokud automatická migrace není proveditelná, odstraní se vaše prostředky a přidružená data aplikací. Důrazně vás vyzýváme, abyste se vyhnuli některým z těchto extrémních scénářů.
Pokud potřebujete další čas, můžeme vám nabídnout jednorázovou 30denní lhůtu pro dokončení migrace. Pokud potřebujete další informace a požádat o toto období odkladu, projděte si přehled období odkladu a pak přejděte na web Azure Portal a přejděte do okna Migrace pro každou službu App Service Environment.
Nejaktuálnější informace o vyřazení služby App Service Environment v1/v2 najdete v aktualizaci vyřazení služby App Service Environment v1 a v2.
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í:
- Externí: Tento typ nasazení zveřejňuje hostované aplikace pomocí IP adresy, která je přístupná na internetu. Další informace najdete v tématu Vytvoření externího prostředí App Service Environment.
- Interní nástroj pro vyrovnávání zatížení: Tento typ nasazení zveřejňuje hostované aplikace na IP adrese ve vaší virtuální síti. Interní koncový bod je interní nástroj pro vyrovnávání zatížení. Další informace najdete v tématu Vytvoření a použití interního nástroje pro vyrovnávání zatížení App Service Environment.
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.
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í
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 | Záměr |
---|---|---|
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 nameresolver
konzoly . 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 nameresolver
spolu 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.net
domé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.net
adrese .
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:
Přejděte na web Azure Portal a vyberte >Síťové směrovací tabulky.
Vytvořte novou směrovací tabulku ve stejné oblasti jako virtuální síť.
V uživatelském rozhraní směrovací tabulky vyberte Přidat trasy>.
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:
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.
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.