Skapa och använda en intern Load Balancer App Service-miljön

Anteckning

Den här artikeln handlar om App Service-miljön v2 som används med isolerade App Service planer

Den Azure App Service-miljön är en distribution av Azure App Service till ett undernät i ett virtuellt Azure-nätverk (VNet). Det går att distribuera en App Service-miljö (ASE) på två sätt:

  • Med en VIP på en extern IP-adress som ofta kallas för en extern ASE.
  • Med en VIP på en intern IP-adress, som ofta kallas ILB ASE eftersom den interna slutpunkten är en intern lastbalanserare (ILB).

Den här artikeln visar hur du kan skapa en intern belastningsutjämnare i apptjänstmiljö. En översikt över ASE finns i Introduktion till App Service miljöer. Om du vill veta hur du skapar en extern ASE läser du Create an External ASE (Skapa en extern ASE).

Översikt

Du kan distribuera en ASE med en internet-tillgänglig slutpunkt eller med en IP-adress i ditt VNet. Om du ska konfigurera IP-adressen till en VNet-adress måste ASE vara distribuerad med en ILB. När du distribuerar DIN ASE med en ILB måste du ange namnet på din ASE. Namnet på din ASE används i domänsuffixet för apparna i din ASE. Domänsuffixet för din ILB ASE är < ASE-namnet > .appserviceenvironment.net. Appar som skapas i en ILB ASE läggs inte i den offentliga DNS-tjänsten.

Tidigare versioner av ILB ASE krävde att du tillhandahåller ett domänsuffix och ett standardcertifikat för HTTPS-anslutningar. Domänsuffixet samlas inte längre in när ILB ASE skapas och ett standardcertifikat samlas inte längre in. När du skapar en ILB ASE nu tillhandahålls standardcertifikatet av Microsoft och är betrott av webbläsaren. Du kan fortfarande ange anpassade domännamn för appar i din ASE och ange certifikat för dessa anpassade domännamn.

Med en ILB ASE kan du till exempel:

  • Vara värd för intranätsprogram på ett säkert sätt i molnet, som du kommer åt via en plats-till-plats eller ExpressRoute.
  • Skydda appar med en WAF-enhet
  • Vara värd för appar i molnet som inte listas i offentliga DNS-servrar.
  • Skapa internet-isolerade appar för serverdelar, som dina appar för klientdelar säkert kan integrera med.

Inaktiverad funktion

Det finns några saker som du inte kan göra när du använder en ILB ASE:

  • Använd IP-baserad TLS/SSL-bindning.
  • Tilldela IP-adresser till specifika appar.
  • Köp och använd ett certifikat med en app via Azure-portalen. Du kan hämta certifikat direkt från en certifikatutfärdare och använda dem med dina appar. Du kan inte hämta dem via Azure-portalen.

Skapa en intern belastningsutjämnare i apptjänstmiljö

Så här skapar du en intern belastningsutjämnare i apptjänstmiljö:

  1. I den Azure Portal väljer du Skapa en resurs > Web > App Service-miljön.

  2. Välj din prenumeration.

  3. Välj eller skapa en Resursgrupp.

  4. Ange namnet på din App Service-miljön.

  5. Välj virtuell IP-typ för Intern.

    ASE-generering

Anteckning

Namnet App Service-miljön får innehålla högst 37 tecken.

  1. Välj Nätverk

  2. Välj eller skapa en Virtual Network. Om du skapar ett nytt VNet här definieras det med adressintervallet 192.168.250.0/23. Om du vill skapa ett VNet med ett annat adressintervall eller i en annan resursgrupp än ASE använder du Azure Virtual Network-portalen för att skapa.

  3. Välj eller skapa ett tomt undernät. Om du vill välja ett undernät måste det vara tomt och inte delegerat. Undernätsstorleken kan inte ändras när ASE har skapats. Vi rekommenderar en storlek på /24, som har 256 adresser och kan hantera en ASE med maximal storlek och olika skalningsbehov.

    ASE-nätverk

  4. Välj Granska och skapa och välj sedan Skapa.

Skapa en app i en ILB ASE

Du skapar en app i en ILB ASE på samma sätt som du skapar en app i en ASE vanligtvis.

  1. I Azure Portal du Skapa en resurs > > Webbwebbapp.

  2. Ange appens namn.

  3. Välj prenumerationen.

  4. Välj eller skapa en Resursgrupp.

  5. Välj Publicering, Körningsstack och Operativsystem.

  6. Välj en plats där platsen är en befintlig ILB ASE. Du kan också skapa en ny ASE när du skapar appen genom att välja en isolerad App Service plan. Om du vill skapa en ny ASE väljer du den region som du vill att ASE ska skapas i.

  7. Välj eller skapa en App Service plan.

  8. Välj Granska och skapa och välj sedan Skapa när du är klar.

Webbjobb, Functions och ILB ASE

Både Functions och webbjobb går att använda på en ILB ASE, men för att portalen ska fungera med dem måste du ha nätverksåtkomst till SCM-webbplatsen. Det innebär att din webbläsare antingen måste vara på en värd som är i eller anslutet till det virtuella nätverket. Om din ILB ASE har ett domännamn som inte slutar med appserviceenvironment.net måste du se till att webbläsaren litar på HTTPS-certifikatet som din SCM-webbplats använder.

DNS-konfiguration

När du använder en extern ASE registreras appar som gjorts i din ASE med Azure DNS. Det finns inga ytterligare steg i en extern ASE för att dina appar ska vara offentligt tillgängliga. Med en ILB ASE måste du hantera din egen DNS. Du kan göra detta på din egen DNS-server eller med Azure DNS privata zoner.

Så här konfigurerar du DNS på din egen DNS-server med din ILB ASE:

  1. skapa en zon för < ASE-namnet > .appserviceenvironment.net
  2. skapa en A-post i den zonen som pekar * på ILB IP-adressen
  3. skapa en A-post i den zonen som pekar @ på ILB IP-adressen
  4. skapa en zon i < ASE-namnet > .appserviceenvironment.net med namnet scm
  5. skapa en A-post i scm-zonen som pekar * på ILB IP-adressen

Så här konfigurerar du DNS Azure DNS privata zoner:

  1. skapa en Azure DNS privat zon med namnet < ASE-namnet > .appserviceenvironment.net
  2. skapa en A-post i den zonen som pekar * på ILB IP-adressen
  3. skapa en A-post i den zonen som pekar @ på ILB IP-adressen
  4. skapa en A-post i den zonen som pekar *.scm på ILB IP-adressen

DNS-inställningarna för ase-standarddomänsuffixet begränsar inte dina appar till att endast vara tillgängliga för dessa namn. Du kan ange ett anpassat domännamn utan någon validering av dina appar i en ILB ASE. Om du sedan vill skapa en zon med contoso.net kan du göra det och peka den på ILB IP-adressen. Det anpassade domännamnet fungerar för appbegäranden men inte för scm-webbplatsen. SCM-webbplatsen är endast tillgänglig på < appname > .scm. < asename > .appserviceenvironment.net.

Zonen med namnet . < asename > .appserviceenvironment.net är globalt unikt. Före maj 2019 kunde kunder ange domänsuffixet för ILB ASE. Om du vill använda .contoso.com som domänsuffix kan du göra det och det skulle inkludera scm-webbplatsen. Det fanns utmaningar med den modellen, bland annat: hantera TLS/SSL-standardcertifikatet, brist på enkel inloggning med SCM-webbplatsen och kravet på att använda ett jokerteckencertifikat. ILB ASE:s standardprocess för certifikatuppgradering var också störande och orsakade omstarter av programmet. För att lösa dessa problem har ILB ASE-beteendet ändrats till att använda ett domänsuffix baserat på namnet på ASE och med ett Microsoft-ägt suffix. Ändringen av ILB ASE-beteendet påverkar endast ILB ASE som gjorts efter maj 2019. Befintliga ILB ASE:er måste fortfarande hantera standardcertifikatet för ASE och deras DNS-konfiguration.

Publicera med en ILB ASE

För varje app som skapas finns det två slutpunkter. I en ILB ASE har du < appnamnet > . < ILB ASE-domän > och < appnamn > .scm. < ILB ASE-domän >.

SCM-webbplatsens namn tar dig till Kudu-konsolen som heter Avancerad portal inom Azure-portalen. Med Kudu-konsolen kan du visa miljövariabler, utforska disken, använda en konsol och mycket mer. Mer information finns i Kudu console for Azure App Service (Kudu-konsol för Azure App Service).

Internetbaserade CI-system, t.ex GitHub och Azure DevOps, fungerar fortfarande med en ILB ASE om Build Agent är tillgänglig via Internet och på samma nätverk som ILB ASE. För Azure DevOps gäller att om Build Agent har skapats på samma virtuella nätverk som ILB ASE (olika undernät går bra) kan den hämta koden från Azure DevOps-git och distribuera till ILB ASE. Om du inte vill skapa en egen Build Agent måste du använda ett CI-system som använder en pull-modell, till exempel Dropbox.

Publiceringsslutpunkterna för appar i en ILB ASE använder domänen som ILB ASE skapades med. Den här domänen visas i > appens publiceringsprofil och på appens portalblad ( Översikt Essentials och även Egenskaper). Om du har en ILB ASE med domänsuffixet < ASE-namn > appserviceenvironment.net, och en app med namnet mytest använder du mytest. < ASE-namnet > .appserviceenvironment.net ftp och mytest.scm.contoso.net för MSDeploy-distribution.

Konfigurera en ILB ASE med en WAF-enhet

Du kan kombinera en brandväggsenhet för webbaserade program (WAF) med din ILB ASE för att endast exponera de appar som du vill använda på Internet och hålla resten tillgängligt från i det virtuella nätverket. På så sätt kan du bland annat skapa säkra flernivåprogram.

Mer information om hur du konfigurerar din ILB ASE med en WAF-enhet finns i Konfigurera en brandvägg för webbaserade program med din App Service miljö. Den här artikeln visar hur du använder en virtuell Barracuda-installation med din apptjänstmiljö. Ett annat alternativ är att använda Azure Application Gateway. Application Gateway använder OWASP-kärnregler för att göra programmen säkra. Mer information om Application Gateway finns i Introduction to the Azure web application firewall (Introduktion till Azures brandvägg för webbaserade program).

ILB ASE:er som gjorts före maj 2019

ILB ASE:er som gjordes före maj 2019 krävde att du konfigurerade domänsuffixet när ASE skapades. Du måste också ladda upp ett standardcertifikat som baseras på det domänsuffixet. Med en äldre ILB ASE kan du inte heller utföra enkel inloggning till Kudu-konsolen med appar i denna ILB ASE. När du konfigurerar DNS för en äldre ILB ASE måste du ange jokertecknet A-post i en zon som matchar ditt domänsuffix.

Kom igång