Sítě ve službě App Service Environment

App Service Environment je nasazení služby Aplikace Azure s jedním tenantem, které hostuje kontejnery Windows a Linux, webové aplikace, aplikace API, aplikace logiky a aplikace funkcí. Při instalaci služby App Service Environment vyberete virtuální síť Azure, do které chcete nasadit. Veškerý příchozí a odchozí provoz aplikace je uvnitř vámi zadané virtuální sítě. Nasadíte do jedné podsítě ve virtuální síti a do této podsítě se nedá nasadit nic jiného.

Poznámka:

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

Požadavky na podsíť

Podsíť musíte delegovat na Microsoft.Web/hostingEnvironmentsa podsíť musí být prázdná.

Velikost podsítě může ovlivnit omezení škálování instancí plánů služby App Service v rámci služby App Service Environment. Pro produkční škálování doporučujeme adresní /24 prostor (256 adres) pro vaši podsíť. Pokud plánujete škálovat téměř maximální kapacitu 200 instancí v naší službě App Service Environment a plánujete časté operace vertikálního navýšení/snížení kapacity, doporučujeme adresní /23 prostor (512 adres) pro vaši podsíť.

Pokud používáte menší podsíť, mějte na paměti následující omezení:

  • Každá konkrétní podsíť má pět adres vyhrazených pro účely správy. Kromě adres pro správu služba App Service Environment dynamicky škáluje podpůrnou infrastrukturu a v závislosti na konfiguraci a zatížení využívá 7 až 27 adres. Zbývající adresy můžete použít pro instance v plánu služby App Service. Minimální velikost podsítě je adresní /27 prostor (32 adres).
  • Pro libovolnou kombinaci operačního systému/SKU plánu služby App Service použité ve službě App Service Environment, jako je I1v2 Windows, se pro každých 20 aktivních instancí vytvoří jedna pohotovostní instance. Pohotovostní instance také vyžadují IP adresy.
  • Při škálování plánů služby App Service ve službě App Service Environment nahoru/dolů se během dokončení operace škálování dočasně zdvojnásobí množství IP adres používaných plánem služby App Service. Nové instance musí být plně funkční před zrušením zřízení existujících instancí.
  • Upgrady platforem potřebují bezplatné IP adresy, aby se zajistilo, že upgrady můžou probíhat bez přerušení odchozího provozu.
  • Po dokončení vertikálního navýšení, snížení kapacity nebo dokončení operací může trvat krátkou dobu před uvolněním IP adres. Ve výjimečných případech může být tato operace až 12 hodin.
  • Pokud v podsíti narazíte na adresy, můžete omezit horizontální navýšení kapacity plánů služby App Service ve službě App Service Environment. Další možností je, že během náročného zatížení provozu můžete zaznamenat zvýšenou latenci, pokud Microsoft nedokáže škálovat podpůrnou infrastrukturu.

Poznámka:

Kontejnery Windows používají pro každou instanci plánu služby App Service další IP adresu pro každou aplikaci a vy potřebujete odpovídajícím způsobem velikost podsítě. Pokud má vaše služba App Service Environment například 2 plány služby Windows Container App Service s 25 instancemi a každou s 5 spuštěnými aplikacemi, budete potřebovat 300 IP adres a dalších adres pro podporu horizontálního (in/out) škálování.

Ukázkový výpočet:

Pro každou instanci plánu služby App Service potřebujete: 5 aplikací pro kontejner Windows = 5 IP adres 1 IP adresa na instanci plánu služby App Service 5 + 1 = 6 IP adres.

Pro 25 instancí: 6 x 25 = 150 IP adres na plán služby App Service

Vzhledem k tomu, že máte 2 plány služby App Service, 2 x 150 = 300 IP adres.

Adresy

Služba App Service Environment má při vytváření následující informace o síti:

Typ adresy Popis
Virtuální síť App Service Environment Virtuální síť nasazená do.
Podsíť služby App Service Environment Podsíť nasazená do.
Přípona domény Přípona domény, kterou používají vytvořené aplikace.
Virtuální IP adresa (VIP) Použitý typ VIRTUÁLNÍ IP adresy. Dvě možné hodnoty jsou interní a externí.
Příchozí adresa Příchozí adresa je adresa, na které jsou vaše aplikace dosaženy. Pokud máte interní virtuální IP adresu, je to adresa v podsíti služby App Service Environment. Pokud je adresa externí, jedná se o veřejnou adresu.
Výchozí odchozí adresy Aplikace používají tuto adresu ve výchozím nastavení při odchozích voláních na internet.

Podrobnosti najdete v části IP adresy portálu, jak je znázorněno na následujícím snímku obrazovky:

Snímek obrazovky znázorňující podrobnosti o IP adresách

Při škálování plánů služby App Service ve službě App Service Environment použijete více adres mimo vaši podsíť. Počet adres, které používáte, se liší v závislosti na počtu instancí plánu služby App Service, které máte, a množství provozu. Aplikace ve službě App Service Environment nemají v podsíti vyhrazené adresy. Konkrétní adresy používané aplikací v podsíti se v průběhu času změní.

Používání vlastní příchozí adresy

Do služby App Service Environment můžete použít vlastní příchozí adresu. Pokud vytvoříte službu App Service Environment s interní virtuální IP adresou, můžete v podsíti zadat statickou IP adresu. Pokud vytvoříte službu App Service Environment s externí VIRTUÁLNÍ IP adresou, můžete použít vlastní veřejnou IP adresu Azure zadáním ID prostředku veřejné IP adresy. Následující omezení platí pro přenesení vlastní příchozí adresy:

  • V případě služby App Service Environment s externí VIRTUÁLNÍ IP adresou musí být prostředek veřejné IP adresy Azure ve stejném předplatném jako služba App Service Environment.
  • Příchozí adresu nelze po vytvoření služby App Service Environment změnit.

Omezení portů a sítě

Aby vaše aplikace přijímala provoz, ujistěte se, že příchozí pravidla skupiny zabezpečení sítě (NSG) umožňují podsíti služby App Service Environment přijímat provoz z požadovaných portů. Kromě portů byste měli zajistit, aby se Služba Azure Load Balancer mohla připojit k podsíti na portu 80. Tento port se používá pro kontroly stavu interního virtuálního počítače. Provoz portu 80 z virtuální sítě do vaší podsítě můžete stále řídit.

Je vhodné nakonfigurovat následující příchozí pravidlo NSG:

Zdrojové / cílové porty Směr Zdroj Cíl Účel
* / 80,443 Příchozí VirtualNetwork Rozsah podsítí služby App Service Environment Povolit provoz aplikací a interní provoz ping na stav

Minimální požadavek, aby služba App Service Environment fungovala, je:

Zdrojové / cílové porty Směr Zdroj Cíl Účel
* / 80 Příchozí AzureLoadBalancer Rozsah podsítí služby App Service Environment Povolit provoz příkazu ping s interním stavem

Pokud použijete minimální požadované pravidlo, možná budete potřebovat jedno nebo více pravidel pro provoz aplikace. Pokud používáte některou z možností nasazení nebo ladění, musíte také povolit tento provoz do podsítě služby App Service Environment. Zdrojem těchto pravidel může být virtuální síť nebo jedna nebo více konkrétních IP adres klienta nebo rozsahy IP adres. Cílem je vždy rozsah podsítě služby App Service Environment. Provoz příkazu ping interního stavu na portu 80 je izolovaný mezi nástrojem pro vyrovnávání zatížení a interními servery. Do koncového bodu ping stavu se nemůže dostat žádný vnější provoz.

Příchozí porty pro normální přístup k aplikacím jsou následující:

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

Poznámka:

Pro přístup k FTP, i když chcete zakázat standardní FTP na portu 21, stále potřebujete povolit provoz z LoadBalancer do rozsahu podsítě služby App Service Environment na portu 21, protože se používá pro interní přenosy ping stavu pro službu FTP konkrétně.

Směrování sítě

Směrovací tabulky můžete nastavit bez omezení. Veškerý odchozí provoz aplikace ze služby App Service Environment můžete tunelovat na výchozí zařízení brány firewall, jako je Azure Firewall. V tomto scénáři je jediná věc, kterou si musíte dělat starosti, je závislostí vaší aplikace.

Mezi závislosti aplikací patří koncové body, které vaše aplikace potřebuje během běhu. Kromě rozhraní API a služeb, které aplikace volá, závislosti můžou být také odvozené koncové body, jako je seznam odvolaných certifikátů (CRL), kontrolují koncové body a koncový bod identity/ověřování, například Microsoft Entra ID. Pokud ve službě App Service používáte průběžné nasazování, může být také potřeba povolit koncové body v závislosti na typu a jazyce. Konkrétně pro průběžné nasazování Linuxu musíte povolit oryx-cdn.microsoft.io:443.

Zařízení brány firewall webových aplikací, jako je Aplikace Azure Gateway, můžete umístit před příchozí provoz. To vám umožní zveřejnit konkrétní aplikace v této službě App Service Environment.

Vaše aplikace používá jednu z výchozích odchozích adres pro odchozí provoz do veřejných koncových bodů. Pokud chcete přizpůsobit odchozí adresu aplikací ve službě App Service Environment, můžete do své podsítě přidat bránu NAT.

Poznámka:

Odchozí připojení SMTP (port 25) je podporované pro App Service Environment v3. Možnosti podpory se určují nastavením předplatného, ve kterém je virtuální síť nasazená. Pro virtuální sítě nebo podsítě vytvořené před 1. V srpnu 2022 je potřeba zahájit dočasnou změnu konfigurace virtuální sítě nebo podsítě, aby se nastavení synchronizovalo z předplatného. Příkladem může být přidání dočasné podsítě, dočasné přidružení nebo zrušení přidružení skupiny zabezpečení sítě nebo dočasné konfigurace koncového bodu služby. Další informace a řešení potíží najdete v tématu Řešení potíží s odchozím připojením SMTP v Azure.

Privátní koncový bod

Pokud chcete povolit privátní koncové body pro aplikace hostované ve službě App Service Environment, musíte tuto funkci nejprve povolit na úrovni služby App Service Environment.

Můžete ho aktivovat prostřednictvím webu Azure Portal. V podokně konfigurace služby App Service Environment zapněte nastavení Allow new private endpoints. Případně ho může povolit následující rozhraní příkazového řádku:

az appservice ase update --name myasename --allow-new-private-endpoint-connections true

Další informace o privátním koncovém bodu a webové aplikaci najdete v tématu Privátní koncový bod webové aplikace Azure.

DNS

Následující části popisují aspekty a konfiguraci DNS, které se týkají příchozích a odchozích přenosů z vaší služby App Service Environment. Příklady používají příponu appserviceenvironment.net domény z veřejného cloudu Azure. Pokud používáte jiné cloudy, jako je Azure Government, musíte použít jejich odpovídající příponu domény. U domén služby App Service Environment se název webu zkrátí na 40 znaků kvůli limitům DNS. Pokud máte slot, název slotu se zkrátí na 19 znaků.

Konfigurace DNS pro službu App Service Environment

Pokud je vaše služba App Service Environment vytvořená s externí VIRTUÁLNÍ IP sadou, vaše aplikace se automaticky vloží do veřejného DNS. Pokud je vaše služba App Service Environment vytvořená s interní VIRTUÁLNÍ IP sadou, při vytváření služby App Service Environment vyberete automatické konfigurace privátních zón Azure DNS, pak se ve vaší virtuální síti nakonfiguruje DNS. Pokud se rozhodnete dns nakonfigurovat ručně, musíte buď použít vlastní server DNS, nebo nakonfigurovat privátní zóny Azure DNS. Pokud chcete najít příchozí adresu, přejděte na portál Služby App Service Environment a vyberte IP adresy.

Pokud chcete použít vlastní server DNS, přidejte následující záznamy:

  1. Vytvořte zónu pro <App Service Environment-name>.appserviceenvironment.net.
  2. V této zóně vytvořte záznam A, který odkazuje * na příchozí IP adresu používanou vaší službou App Service Environment.
  3. V této zóně vytvořte záznam A, který odkazuje na příchozí IP adresu používanou vaší službou App Service Environment.
  4. Vytvořte zónu s <App Service Environment-name>.appserviceenvironment.net názvem scm.
  5. V zóně vytvořte záznam scm A, který odkazuje * na IP adresu používanou privátním koncovým bodem vaší služby App Service Environment.

Konfigurace DNS v privátních zónách Azure DNS:

  1. Vytvořte privátní zónu Azure DNS s názvem <App Service Environment-name>.appserviceenvironment.net.
  2. V této zóně vytvořte záznam A, který odkazuje * na příchozí IP adresu.
  3. V této zóně vytvořte záznam A, který odkazuje na příchozí IP adresu @.
  4. V této zóně vytvořte záznam A, který odkazuje na příchozí IP adresu *.scm.

Kromě výchozí domény poskytnuté při vytváření aplikace můžete do aplikace přidat také vlastní doménu. Vlastní název domény můžete nastavit bez ověření vašich aplikací. Pokud používáte vlastní domény, musíte zajistit, aby měly nakonfigurované záznamy DNS. Podle předchozích pokynů můžete nakonfigurovat zóny a záznamy DNS pro vlastní název domény (nahradit výchozí název domény vlastním názvem domény). Vlastní název domény funguje pro požadavky aplikací, ale nefunguje pro scm web. Web scm je k dispozici pouze na <webu appname.scm>.<asename.appserviceenvironment.net>.

Konfigurace DNS pro přístup k FTP

Pro přístup FTP k internímu nástroji pro vyrovnávání zatížení (ILB) App Service Environment v3 musíte zajistit, aby byl dns nakonfigurovaný. Nakonfigurujte privátní zónu Azure DNS nebo ekvivalentní vlastní DNS s následujícím nastavením:

  1. Vytvořte privátní zónu Azure DNS s názvem ftp.appserviceenvironment.net.
  2. V této zóně vytvořte záznam A, který odkazuje <App Service Environment-name> na příchozí IP adresu.

Kromě nastavení DNS ho také musíte povolit v konfiguraci služby App Service Environment a na úrovni aplikace.

Konfigurace DNS ze služby App Service Environment

Aplikace ve službě App Service Environment používají DNS, se kterými je vaše virtuální síť nakonfigurovaná. Pokud chcete, aby některé aplikace používaly jiný server DNS, můžete ho ručně nastavit pro každou aplikaci s nastavením WEBSITE_DNS_SERVER aplikace a WEBSITE_DNS_ALT_SERVER. WEBSITE_DNS_ALT_SERVER nakonfiguruje sekundární server DNS. Sekundární server DNS se používá jenom v případě, že z primárního serveru DNS neexistuje žádná odpověď.

Další materiály