Delen via


App Service Environment-netwerken

App Service Environment is een implementatie met één tenant van Azure-app Service die als host fungeert voor Windows- en Linux-containers, web-apps, API-apps, logische apps en functie-apps. Wanneer u een App Service Environment installeert, kiest u het virtuele Azure-netwerk waarin u het wilt implementeren. Al het binnenkomende en uitgaande toepassingsverkeer bevindt zich in het virtuele netwerk dat u opgeeft. U implementeert in één subnet in uw virtuele netwerk en niets anders kan in dat subnet worden geïmplementeerd.

Notitie

Dit artikel gaat over App Service Environment v3, dat wordt gebruikt met Geïsoleerde v2 App Service-abonnementen.

Subnetvereisten

U moet het subnet delegeren aan Microsoft.Web/hostingEnvironmentsen het subnet moet leeg zijn.

De grootte van het subnet kan van invloed zijn op de schaallimieten van de Exemplaren van het App Service-plan binnen de App Service-omgeving. Voor productieschaal raden we een /24 adresruimte (256 adressen) aan voor uw subnet. Als u van plan bent om de maximale capaciteit van 200 exemplaren in onze App Service Environment te schalen en u regelmatig omhoog/omlaag schaalbewerkingen plant, raden we een /23 adresruimte (512 adressen) aan voor uw subnet.

Als u een kleiner subnet gebruikt, moet u rekening houden met de volgende beperkingen:

  • Elk bepaald subnet heeft vijf adressen die zijn gereserveerd voor beheerdoeleinden. Naast de beheeradressen wordt de ondersteunende infrastructuur dynamisch geschaald in App Service Environment en wordt gebruikgemaakt van 7 tot 27 adressen, afhankelijk van de configuratie en belasting. U kunt de resterende adressen gebruiken voor exemplaren in het App Service-plan. De minimale grootte van uw subnet is een /27 adresruimte (32 adressen).
  • Voor elke App Service-plan OS/SKU-combinatie die wordt gebruikt in uw App Service Environment, zoals I1v2 Windows, wordt er één stand-by-exemplaar gemaakt voor elke 20 actieve exemplaren. Voor de stand-by-exemplaren zijn ook IP-adressen vereist.
  • Wanneer u App Service-plannen in de App Service-omgeving omhoog/omlaag schaalt, wordt de hoeveelheid IP-adressen die door het App Service-plan worden gebruikt, tijdelijk verdubbeld terwijl de schaalbewerking is voltooid. De nieuwe exemplaren moeten volledig operationeel zijn voordat de bestaande exemplaren ongedaan worden gemaakt.
  • Platformupgrades hebben gratis IP-adressen nodig om ervoor te zorgen dat upgrades kunnen plaatsvinden zonder onderbrekingen van uitgaand verkeer.
  • Nadat het omhoog, omlaag of in bewerkingen is voltooid, kan het even duren voordat IP-adressen worden vrijgegeven. In zeldzame gevallen kan deze bewerking maximaal 12 uur duren.
  • Als u geen adressen meer hebt binnen uw subnet, kunt u uw App Service-plannen niet uitschalen in de App Service-omgeving. Een andere mogelijkheid is dat u een verhoogde latentie kunt ervaren tijdens de intensieve belasting van het verkeer, als Microsoft de ondersteunende infrastructuur niet kan schalen.

Notitie

Windows Containers gebruikt een extra IP-adres per app voor elk App Service-planexemplaren en u moet de grootte van het subnet dienovereenkomstig aanpassen. Als uw App Service Environment bijvoorbeeld 2 Windows Container App Service-abonnementen heeft met elk 25 exemplaren en elk met 5 apps die worden uitgevoerd, hebt u 300 IP-adressen en extra adressen nodig om horizontale (in/uit) schaal te ondersteunen.

Voorbeeldberekening:

Voor elk Exemplaar van het App Service-plan hebt u het volgende nodig: 5 Windows Container-apps = 5 IP-adressen 1 IP-adres per App Service-planexemplaren 5 + 1 = 6 IP-adressen

Voor 25 exemplaren: 6 x 25 = 150 IP-adressen per App Service-plan

Omdat u 2 App Service-abonnementen hebt, 2 x 150 = 300 IP-adressen.

Adressen

App Service Environment bevat de volgende netwerkgegevens bij het maken:

Adrestype Beschrijving
Virtueel netwerk van App Service Environment Het virtuele netwerk dat is geïmplementeerd in.
App Service Environment-subnet Het subnet dat is geïmplementeerd in.
Domeinachtervoegsel Het standaarddomeinachtervoegsel dat wordt gebruikt door de apps.
Achtervoegsel van aangepast domein (optioneel) Het aangepaste domeinachtervoegsel dat wordt gebruikt door de apps.
Virtueel IP-adres (VIP) Het GEBRUIKTE VIP-type. De twee mogelijke waarden zijn intern en extern.
Inkomend adres Het binnenkomende adres is het adres waarop uw apps zijn bereikt. Als u een intern VIP hebt, is dit een adres in uw App Service Environment-subnet. Als het adres extern is, is het een openbaar adres.
Uitgaande adressen van werknemers De apps gebruiken deze of deze adressen bij het maken van uitgaande oproepen naar internet.
Uitgaande platformadressen Het platform gebruikt dit adres wanneer uitgaande oproepen naar internet worden uitgevoerd. Een voorbeeld is het ophalen van certificaten voor aangepast domeinachtervoegsel uit Key Vault als er geen privé-eindpunt wordt gebruikt.

U vindt details in het gedeelte IP-adressen van de portal, zoals wordt weergegeven in de volgende schermopname:

Schermopname met details over IP-adressen.

Wanneer u uw App Service-plannen in uw App Service-omgeving schaalt, gebruikt u meer adressen buiten uw subnet. Het aantal adressen dat u gebruikt, varieert, afhankelijk van het aantal Exemplaren van het App Service-plan dat u hebt en hoeveel verkeer er is. Apps in de App Service Environment hebben geen toegewezen adressen in het subnet. De specifieke adressen die door een app in het subnet worden gebruikt, worden na verloop van tijd gewijzigd.

Uw eigen binnenkomende adres gebruiken

U kunt uw eigen binnenkomende adres meenemen naar uw App Service Environment. Als u een App Service-omgeving met een intern VIP maakt, kunt u een statisch IP-adres opgeven in het subnet. Als u een App Service-omgeving met een extern VIP maakt, kunt u uw eigen openbare IP-adres van Azure gebruiken door de resource-id van het openbare IP-adres op te geven. Hier volgen beperkingen voor het meenemen van uw eigen binnenkomende adres:

  • Voor App Service Environment met extern VIP moet de openbare IP-adresresource van Azure zich in hetzelfde abonnement bevinden als de App Service Environment.
  • Het binnenkomende adres kan niet worden gewijzigd nadat de App Service Environment is gemaakt.

Poorten en netwerkbeperkingen

Zorg ervoor dat de regels voor binnenkomende netwerkbeveiligingsgroepen (NSG)-regels het app Service Environment-subnet verkeer van de vereiste poorten kunnen ontvangen om verkeer te ontvangen voor uw app. Naast alle poorten waarop u verkeer wilt ontvangen, moet u ervoor zorgen dat Azure Load Balancer verbinding kan maken met het subnet op poort 80. Deze poort wordt gebruikt voor statuscontroles van de interne virtuele machine. U kunt nog steeds poort 80-verkeer van het virtuele netwerk naar uw subnet beheren.

Notitie

Het kan tot 14 dagen duren voordat wijzigingen in NSG-regels van kracht worden vanwege persistentie van de HTTP-verbinding. Als u een wijziging aanbrengt die platform-/beheerverkeer blokkeert, kan het tot 14 dagen duren voordat de impact zichtbaar is.

Het is een goed idee om de volgende binnenkomende NSG-regel te configureren:

Bron-/doelpoort(en) Richting Bron Doel Doel
* / 80,443 Inkomend VirtualNetwork Subnetbereik App Service Environment App-verkeer en interne status pingverkeer toestaan

De minimale vereiste dat App Service Environment operationeel moet zijn, is:

Bron-/doelpoort(en) Richting Bron Doel Doel
* / 80 Inkomend AzureLoadBalancer Subnetbereik App Service Environment Intern status pingverkeer toestaan

Als u de minimaal vereiste regel gebruikt, hebt u mogelijk een of meer regels nodig voor uw toepassingsverkeer. Als u een van de implementatie- of foutopsporingsopties gebruikt, moet u dit verkeer ook toestaan naar het Subnet app Service Environment. De bron van deze regels kan het virtuele netwerk zijn, of een of meer specifieke IP-adressen van clients of IP-bereiken. Het doel is altijd het subnetbereik app serviceomgeving.

Het interne status pingverkeer op poort 80 wordt geïsoleerd tussen de load balancer en de interne servers. Er kan geen extern verkeer het eindpunt voor status ping bereiken.

De normale toegangspoorten voor apps zijn als volgt:

Gebruik Poorten
HTTP/HTTPS 80, 443
FTP/FTPS 21, 990, 10001-10020
Externe foutopsporing in Visual Studio 4022, 4024, 4026
Web Deploy-service 8172

Notitie

Voor FTP-toegang, zelfs als u standaard FTP niet wilt toestaan op poort 21, moet u nog steeds verkeer van de LoadBalancer naar het subnetbereik App Service Environment op poort 21 toestaan, omdat dit wordt gebruikt voor intern status pingverkeer voor de FTP-service specifiek.

Netwerkroutering

U kunt zonder beperkingen routetabellen instellen. U kunt al het uitgaande toepassingsverkeer van uw App Service-omgeving tunnelen naar een uitgaand firewallapparaat, zoals Azure Firewall. In dit scenario hoeft u zich alleen maar zorgen te maken over de afhankelijkheden van uw toepassing.

Toepassingsafhankelijkheden bevatten eindpunten die uw app tijdens runtime nodig heeft. Naast API's en services die de app aanroept, kunnen afhankelijkheden ook afgeleide eindpunten zijn, zoals certificaatintrekkingslijst (CRL), eindpunten en eindpunt voor identiteit/verificatie controleren, bijvoorbeeld Microsoft Entra-id. Als u continue implementatie in App Service gebruikt, moet u mogelijk ook eindpunten toestaan, afhankelijk van het type en de taal. Specifiek voor continue linux-implementatie moet u toestaan oryx-cdn.microsoft.io:443.

U kunt uw Web Application Firewall-apparaten, zoals Azure-toepassing Gateway, vóór binnenkomend verkeer plaatsen. Hierdoor kunt u specifieke apps beschikbaar maken in die App Service-omgeving.

Uw toepassing gebruikt een van de standaard uitgaande adressen voor uitgaand verkeer naar openbare eindpunten. Als u het uitgaande adres van uw toepassingen in een App Service Environment wilt aanpassen, kunt u een NAT-gateway toevoegen aan uw subnet.

Notitie

Uitgaande SMTP-connectiviteit (poort 25) wordt ondersteund voor App Service Environment v3. De ondersteuning wordt bepaald door een instelling in het abonnement waarin het virtuele netwerk wordt geïmplementeerd. Voor virtuele netwerken/subnetten die vóór 1 zijn gemaakt. Augustus 2022 moet u een tijdelijke configuratiewijziging initiëren in het virtuele netwerk/subnet om de instelling te synchroniseren vanuit het abonnement. Een voorbeeld hiervan is het toevoegen van een tijdelijk subnet, het tijdelijk koppelen/ontkoppelen van een NSG of het tijdelijk configureren van een service-eindpunt. Zie Problemen met uitgaande SMTP-connectiviteit in Azure oplossen voor meer informatie en probleemoplossing.

Privé-eindpunt

Als u privé-eindpunten wilt inschakelen voor apps die worden gehost in uw App Service Environment, moet u deze functie eerst inschakelen op het niveau van de App Service-omgeving.

U kunt deze activeren via Azure Portal. Schakel in het configuratiedeelvenster van de App Service-omgeving de instelling Allow new private endpointsin. U kunt de volgende CLI ook inschakelen:

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

Zie Het privé-eindpunt van Azure Web App voor meer informatie over privé-eindpunten en web-apps

DNS

In de volgende secties worden de DNS-overwegingen en -configuratie beschreven die binnenkomend en uitgaand zijn van uw App Service-omgeving. In de voorbeelden wordt het domeinachtervoegsel appserviceenvironment.net uit de openbare Azure-cloud gebruikt. Als u andere clouds zoals Azure Government gebruikt, moet u het respectieve domeinachtervoegsel gebruiken. Voor App Service Environment-domeinen wordt de sitenaam afgekapt met 40 tekens vanwege DNS-limieten. Als u een site hebt, wordt de naam van de site afgekapt met 19 tekens.

DNS-configuratie voor uw App Service-omgeving

Als uw App Service-omgeving wordt gemaakt met een extern VIP, worden uw apps automatisch in openbare DNS geplaatst. Als uw App Service Environment is gemaakt met een intern VIP, hebt u twee opties wanneer u uw App Service Environment maakt. Als u selecteert dat azure DNS-privézones automatisch zijn geconfigureerd, wordt DNS geconfigureerd in uw virtuele netwerk. Als u ervoor kiest om DNS handmatig te configureren, moet u uw eigen DNS-server gebruiken of privézones van Azure DNS configureren. Als u het binnenkomende adres wilt vinden, gaat u naar de App Service Environment-portal en selecteert u IP-adressen.

Als u uw eigen DNS-server wilt gebruiken, voegt u de volgende records toe:

  1. Maak een zone voor <App Service Environment-name>.appserviceenvironment.net.
  2. Maak een A-record in die zone die * verwijst naar het binnenkomende IP-adres dat wordt gebruikt door uw App Service Environment.
  3. Maak een A-record in die zone die verwijst naar het binnenkomende IP-adres dat wordt gebruikt door uw App Service Environment.
  4. Maak een zone met <App Service Environment-name>.appserviceenvironment.net de naam scm.
  5. Maak een A-record in de scm zone die * verwijst naar het IP-adres dat wordt gebruikt door het privé-eindpunt van uw App Service-omgeving.

DNS configureren in privézones van Azure DNS:

  1. Maak een Azure DNS-privézone met de naam <App Service Environment-name>.appserviceenvironment.net.
  2. Maak een A-record in die zone die * verwijst naar het binnenkomende IP-adres.
  3. Maak een A-record in die zone die @ verwijst naar het binnenkomende IP-adres.
  4. Maak een A-record in die zone die *.scm verwijst naar het binnenkomende IP-adres.

Naast het standaarddomein dat wordt opgegeven wanneer een app wordt gemaakt, kunt u ook een aangepast domein toevoegen aan uw app. U kunt een aangepaste domeinnaam instellen zonder validatie voor uw apps. Als u aangepaste domeinen gebruikt, moet u ervoor zorgen dat dns-records zijn geconfigureerd. U kunt de voorgaande richtlijnen volgen voor het configureren van DNS-zones en -records voor een aangepaste domeinnaam (vervang de standaarddomeinnaam door de aangepaste domeinnaam). De aangepaste domeinnaam werkt voor app-aanvragen, maar werkt niet voor de scm site. De scm site is alleen beschikbaar op <appname.scm>.<asename.appserviceenvironment.net>.

DNS-configuratie voor FTP-toegang

Voor FTP-toegang tot ILB (Internal Load Balancer) App Service Environment v3 moet u ervoor zorgen dat DNS is geconfigureerd. Configureer een privézone van Azure DNS of gelijkwaardige aangepaste DNS met de volgende instellingen:

  1. Maak een Azure DNS-privézone met de naam ftp.appserviceenvironment.net.
  2. Maak een A-record in die zone die verwijst <App Service Environment-name> naar het binnenkomende IP-adres.

Naast het instellen van DNS moet u deze ook inschakelen in de App Service Environment-configuratie en op app-niveau.

DNS-configuratie vanuit uw App Service-omgeving

De apps in uw App Service Environment gebruiken de DNS waarmee uw virtuele netwerk is geconfigureerd. Als u wilt dat sommige apps een andere DNS-server gebruiken, kunt u deze handmatig instellen per app, met de app-instellingen WEBSITE_DNS_SERVER en WEBSITE_DNS_ALT_SERVER. WEBSITE_DNS_ALT_SERVER hiermee configureert u de secundaire DNS-server. De secundaire DNS-server wordt alleen gebruikt wanneer er geen reactie van de primaire DNS-server is.

Meer resources