Creare e usare un ambiente del servizio app con bilanciamento del carico internoCreate and use an Internal Load Balancer App Service Environment

L'ambiente del servizio app di Azure è una distribuzione del servizio app di Azure in una subnet in una rete virtuale di Azure.The Azure App Service Environment is a deployment of Azure App Service into a subnet in an Azure virtual network (VNet). È possibile distribuire un ambiente del servizio app in due modi:There are two ways to deploy an App Service Environment (ASE):

  • Con un indirizzo VIP su un indirizzo IP esterno, spesso denominato ambiente del servizio app esterno.With a VIP on an external IP address, often called an External ASE.
  • Con un indirizzo VIP su un indirizzo IP interno, spesso denominato ambiente del servizio app ILB perché l'endpoint interno è un servizio di bilanciamento del carico interno (ILB).With a VIP on an internal IP address, often called an ILB ASE because the internal endpoint is an internal load balancer (ILB).

Questo articolo illustra come creare un ambiente del servizio app ILB.This article shows you how to create an ILB ASE. Per una panoramica dell'ambiente del servizio app, vedere Introduzione agli ambienti del servizio app.For an overview on the ASE, see Introduction to App Service Environments. Per informazioni sulla creazione di un ambiente del servizio app esterno, vedere Creare un ambiente del servizio app esterno.To learn how to create an External ASE, see Create an External ASE.

PanoramicaOverview

È possibile distribuire un Ambiente del servizio app con un endpoint accessibile da Internet o con un indirizzo IP nella rete virtuale.You can deploy an ASE with an internet-accessible endpoint or with an IP address in your VNet. Per impostare l'indirizzo IP su un indirizzo di rete virtuale, è necessario distribuire l'ambiente del servizio app con un bilanciamento del carico interno (ILB).To set the IP address to a VNet address, the ASE must be deployed with an ILB. Per la distribuzione dell'ambiente del servizio app con un bilanciamento del carico interno, è necessario fornire il nome dell'ambiente del servizio app.When you deploy your ASE with an ILB, you must provide the name of your ASE. Il nome dell'ambiente del servizio app viene usato nel suffisso di dominio per le app nell'ambiente del servizio app.The name of your ASE is used in the domain suffix for the apps in your ASE. Il suffisso di dominio per l'ambiente del servizio app ILB è <nome ambiente del servizio app>.appserviceenvironment.net.The domain suffix for your ILB ASE is <ASE name>.appserviceenvironment.net. Le app create in un ambiente del servizio app ILB non vengono inserite nel DNS pubblico.Apps that are made in an ILB ASE are not put in the public DNS.

Nelle versioni precedenti dell'ambiente del servizio app ILB è necessario fornire un suffisso di dominio e un certificato predefinito per le connessioni HTTPS.Earlier versions of the ILB ASE required you to provide a domain suffix and a default certificate for HTTPS connections. Il suffisso di dominio e il certificato predefinito non vengono più raccolti al momento della creazione dell'ambiente del servizio app ILB.The domain suffix is no longer collected at ILB ASE creation and a default certificate is also no longer collected. Ora, quando si crea un ambiente del servizio app ILB, il certificato predefinito viene fornito da Microsoft e considerato attendibile dal browser.When you create an ILB ASE now, the default certificate is provided by Microsoft and is trusted by the browser. È ancora possibile impostare nomi di dominio personalizzati per le app nell'ambiente del servizio app e impostare certificati su tali nomi di dominio personalizzati.You are still able to set custom domain names on apps in your ASE and set certificates on those custom domain names.

Con un ambiente del servizio app ILB è possibile eseguire operazioni come:With an ILB ASE, you can do things such as:

  • l'hosting sicuro nel cloud di applicazioni Intranet, a cui si accede tramite una VPN ExpressRoute o da sito a sito.Host intranet applications securely in the cloud, which you access through a site-to-site or ExpressRoute.
  • la protezione di app con un dispositivo WAFProtect apps with a WAF device
  • l'hosting di app nel cloud non presenti nei server DNS pubblici.Host apps in the cloud that aren't listed in public DNS servers.
  • la creazione di applicazioni back-end isolate da Internet con cui le app front-end possono integrarsi in modo sicuro.Create internet-isolated back-end apps, which your front-end apps can securely integrate with.

Funzionalità disabilitataDisabled functionality

Quando si usa un ambiente del servizio app con bilanciamento del carico interno, non è possibile eseguire alcune operazioni.There are some things that you can't do when you use an ILB ASE:

  • Uso di IPSSLUse IP-based SSL.
  • Assegnazione di indirizzi IP ad app specificheAssign IP addresses to specific apps.
  • Acquisto e uso di un certificato con un'app tramite il portale di Azure.Buy and use a certificate with an app through the Azure portal. È possibile ottenere i certificati direttamente da un'autorità di certificazione e usarli con le app.You can obtain certificates directly from a certificate authority and use them with your apps. Non è possibile ottenerli tramite il portale di Azure.You can't obtain them through the Azure portal.

Creare un ambiente del servizio app con bilanciamento del carico internoCreate an ILB ASE

Per creare un ambiente del servizio app con bilanciamento del carico interno:To create an ILB ASE:

  1. Nel portale di Azure selezionare Crea una risorsa > Web > Ambiente del servizio app.In the Azure portal, select Create a resource > Web > App Service Environment.

  2. Selezionare la propria sottoscrizione.Select your subscription.

  3. Selezionare o creare un gruppo di risorse.Select or create a resource group.

  4. Immettere il nome dell'ambiente del servizio app.Enter the name of your App Service Environment.

  5. Selezionare il tipo di IP virtuale interno.Select virtual IP type of Internal.

    Creazione dell'ambiente del servizio app

Nota

Il nome dell'ambiente del servizio app non può contenere più di 37 caratteri.The App Service Environment name must be no more than 37 characters.

  1. Selezionare ReteSelect Networking

  2. Selezionare o creare una rete virtuale.Select or create a Virtual Network. Se si crea una nuova rete virtuale, verrà definita con un intervallo di indirizzi 192.168.250.0/23.If you create a new VNet here, it will be defined with an address range of 192.168.250.0/23. Per creare una rete virtuale con un intervallo di indirizzi diverso o in un gruppo di risorse diverso rispetto all'ambiente del servizio app, usare il portale di creazione rete virtuale di Azure.To create a VNet with a different address range or in a different resource group than the ASE, use the Azure Virtual Network creation portal.

  3. Selezionare o creare una subnet vuota.Select or create an empty a subnet. Se si vuole selezionare una subnet, deve essere vuota e non delegata.If you want to select a subnet, it must be empty and not delegated. Non è possibile modificare le dimensioni della subnet dopo la creazione dell'ambiente del servizio app.The subnet size cannot be changed after the ASE is created. La dimensione consigliata è /24, che include 256 indirizzi ed è in grado di gestire un ambiente del servizio app di dimensioni massime e qualsiasi esigenza di ridimensionamento.We recommend a size of /24, which has 256 addresses and can handle a maximum-sized ASE and any scaling needs.

    Rete dell'ambiente del servizio app

  4. Selezionare Rivedi e crea e quindi Crea.Select Review and Create then select Create.

Creare un'app in un ambiente del servizio app con bilanciamento del carico internoCreate an app in an ILB ASE

La creazione di un'app in un ambiente del servizio app con bilanciamento del carico interno è la stessa eseguita in un ambiente del servizio app regolare.You create an app in an ILB ASE in the same way that you create an app in an ASE normally.

  1. Nel portale di Azure selezionare Crea una risorsa > Web > App Web.In the Azure portal, select Create a resource > Web > Web App.

  2. Immettere il nome dell'app.Enter the name of the app.

  3. Selezionare la sottoscrizione.Select the subscription.

  4. Selezionare o creare un gruppo di risorse.Select or create a resource group.

  5. Selezionare pubblicazione, stack di runtime e sistema operativo.Select your Publish, Runtime Stack, and Operating System.

  6. Selezionare un percorso che corrisponda a un ambiente del servizio app ILB esistente.Select a location where the location is an existing ILB ASE. È anche possibile creare un nuovo ambiente del servizio app durante la creazione dell'app, selezionando un piano di servizio app Isolato.You can also create a new ASE during app creation by selecting an Isolated App Service plan. Se si vuole creare un nuovo ambiente del servizio app, selezionare l'area in cui va creato.If you wish to create a new ASE, select the region you want the ASE to be created in.

  7. Selezionare o creare un piano di servizio app.Select or create an App Service plan.

  8. Selezionare Rivedi e crea e quindi Crea quando si è pronti.Select Review and Create then select Create when you are ready.

Funzioni, processi Web e ambiente del servizio app ILBWeb jobs, Functions and the ILB ASE

In un ambiente del servizio app ILB sono supportati sia i processi Web che Funzioni, ma per poterli usare dal portale è necessario avere l'accesso di rete al sito SCM.Both Functions and web jobs are supported on an ILB ASE but for the portal to work with them, you must have network access to the SCM site. Il browser deve quindi trovarsi in un host incluso nella rete virtuale o connesso a essa.This means your browser must either be on a host that is either in or connected to the virtual network. Se l'ambiente del servizio app ILB ha un nome di dominio che non termina con appserviceenvironment.net, sarà necessario impostare il browser in modo che consideri attendibile il certificato HTTPS usato dal sito SCM.If your ILB ASE has a domain name that does not end in appserviceenvironment.net, you will need to get your browser to trust the HTTPS certificate being used by your scm site.

Configurazione del DNSDNS configuration

Sei si usa un ambiente del servizio app esterno, le app create al suo interno vengono registrate con DNS di Azure.When you use an External ASE, apps made in your ASE are registered with Azure DNS. In un ambiente del servizio app esterno per rendere le app disponibili pubblicamente non sono previsti passaggi aggiuntivi.There are no additional steps then in an External ASE for your apps to be publicly available. In un ambiente del servizio app ILB, è necessario gestire il proprio DNS.With an ILB ASE, you must manage your own DNS. È possibile farlo nel proprio server DNS o nelle zone private di DNS di Azure.You can do this in your own DNS server or with Azure DNS private zones.

Per configurare DNS nel proprio server DNS con l'ambiente del servizio app ILB:To configure DNS in your own DNS server with your ILB ASE:

  1. creare una zona per <nome ambiente del servizio app>.appserviceenvironment.netcreate a zone for <ASE name>.appserviceenvironment.net
  2. creare un record A in tale zona che punti * all'indirizzo IP del servizio ILBcreate an A record in that zone that points * to the ILB IP address
  3. creare un record A in tale zona che punti @ all'indirizzo IP del servizio ILBcreate an A record in that zone that points @ to the ILB IP address
  4. creare una zona in <nome ambiente del servizio app>.appserviceenvironment.net denominata SCMcreate a zone in <ASE name>.appserviceenvironment.net named scm
  5. creare un record A nella zona che punti * all'indirizzo IP del servizio ILBcreate an A record in the scm zone that points * to the ILB IP address

Per configurare DNS nelle zone private di DNS di Azure:To configure DNS in Azure DNS Private zones:

  1. creare una zona privata di DNS di Azure denominata <nome ambiente del servizio app>.appserviceenvironment.netcreate an Azure DNS private zone named <ASE name>.appserviceenvironment.net
  2. creare un record A in tale zona che punti * all'indirizzo IP del servizio ILBcreate an A record in that zone that points * to the ILB IP address
  3. creare un record A in tale zona che punti @ all'indirizzo IP del servizio ILBcreate an A record in that zone that points @ to the ILB IP address
  4. Creare un record A in tale zona che punta *.scm all'indirizzo IP del servizio ILBcreate an A record in that zone that points *.scm to the ILB IP address

Le impostazioni DNS per il suffisso di dominio predefinito dell'ambiente del servizio app non limitano l'accesso alle app solo a questi nomi.The DNS settings for your ASE default domain suffix do not restrict your apps to only being accessible by those names. In un ambiente del servizio app ILB è possibile impostare un nome di dominio personalizzato senza alcuna convalida nelle app.You can set a custom domain name without any validation on your apps in an ILB ASE. Se poi si vuole creare una zona denominata contoso.net, è possibile farlo e puntarla all'indirizzo IP di ILB.If you then want to create a zone named contoso.net, you could do so and point it to the ILB IP address. Il nome del dominio personalizzato funziona per le richieste di app ma non per il sito scm.The custom domain name works for app requests but doesn't for the scm site. Il sito scm è disponibile solo in <appname>.scm.<asename>.appserviceenvironment.net.The scm site is only available at <appname>.scm.<asename>.appserviceenvironment.net.

La zona denominata .<asename>.appserviceenvironment.net è univoca a livello globale.The zone named .<asename>.appserviceenvironment.net is globally unique. Prima del mese di maggio 2019, i clienti potevano specificare il suffisso di dominio dell'ambiente del servizio app ILB.Before May 2019, customers were able to specify the domain suffix of the ILB ASE. Se si voleva, era possibile usare contoso.com per il suffisso di domino, che avrebbe incluso il sito scm.If you wanted to use .contoso.com for the domain suffix, you were able do so and that would include the scm site. Con questo modello si verificavano problemi, come la gestione del certificato SSL predefinito, la mancanza di accesso Single Sign-On al sito scm e il requisito di usare un certificato con caratteri jolly.There were challenges with that model including; managing the default SSL certificate, lack of single sign-on with the scm site, and the requirement to use a wildcard certificate. Il processo di aggiornamento del certificato predefinito dell'ambiente del servizio app ILB era inoltre complicato e causava il riavvio dell'applicazione.The ILB ASE default certificate upgrade process was also disruptive and caused application restarts. Per risolvere questi problemi, il comportamento dell'ambiente del servizio app ILB è stato cambiato e prevede ora l'uso di un suffisso di domino basato sul nome dell'ambiente del servizio app con un suffisso di proprietà di Microsoft.To solve these problems, the ILB ASE behavior was changed to use a domain suffix based on the name of the ASE and with a Microsoft owned suffix. La modifica del comportamento dell'ambiente del servizio app ILB influisce solo su tali ambienti creati dopo maggio 2019.The change to the ILB ASE behavior only affects ILB ASEs made after May 2019. Gli ambienti del servizio app ILB preesistenti continuano a gestire il certificato predefinito dell'ambiente e la rispettiva configurazione DNS.Pre-existing ILB ASEs must still manage the default certificate of the ASE and their DNS configuration.

Pubblicare con un ambiente del servizio app ILBPublish with an ILB ASE

Per ogni app creata sono disponibili due endpoint.For every app that's created, there are two endpoints. In un ambiente del servizio app ILB sono presenti <nome app>.<Dominio ambiente del servizio app ILB> e <nome app>.scm.<Dominio ambiente del servizio app ILB> .In an ILB ASE, you have <app name>.<ILB ASE Domain> and <app name>.scm.<ILB ASE Domain>.

Il nome del sito di gestione controllo servizi consente di passare alla console Kudu, denominata Advanced Portal (Portale avanzato) all'interno del portale di Azure.The SCM site name takes you to the Kudu console, called the Advanced portal, within the Azure portal. La console Kudu consente di visualizzare le variabili di ambiente, esplorare il disco, usare una console e molto altro ancora.The Kudu console lets you view environment variables, explore the disk, use a console, and much more. Per altre informazioni, vedere Console Kudu per il servizio app di Azure.For more information, see Kudu console for Azure App Service.

I sistemi di integrazione continua basati su Internet, come GitHub e Azure DevOps, continueranno a funzionare con un ambiente del servizio app ILB se l'agente di compilazione è accessibile da Internet e si trova nella stessa rete dell'ambiente del servizio app ILB.Internet-based CI systems, such as GitHub and Azure DevOps, will still work with an ILB ASE if the build agent is internet accessible and on the same network as ILB ASE. Quindi, nel caso di Azure DevOps, se l'agente di compilazione viene creato nella stessa rete virtuale dell'ambiente del servizio app ILB (anche se la subnet è diversa), potrà eseguire il pull del codice dal GIT di Azure DevOps e distribuirlo nell'ambiente del servizio app ILB.So in case of Azure DevOps, if the build agent is created on the same VNET as ILB ASE (different subnet is fine), it will be able to pull code from Azure DevOps git and deploy to ILB ASE. Se non si vuole creare il proprio agente di compilazione, è necessario usare un sistema di integrazione continua che adotta un modello pull, ad esempio Dropbox.If you don't want to create your own build agent, you need to use a CI system that uses a pull model, such as Dropbox.

Gli endpoint di pubblicazione per le app in un ambiente del servizio app con bilanciamento del carico interno usano il dominio con cui l'ambiente del servizio app con bilanciamento del carico interno è stato creato,The publishing endpoints for apps in an ILB ASE use the domain that the ILB ASE was created with. che può essere visualizzato nel profilo di pubblicazione dell'app e nel pannello del portale dell'app (in Panoramica > Informazioni di base e anche in Proprietà).This domain appears in the app's publishing profile and in the app's portal blade (Overview > Essentials and also Properties). Se si ha un ambiente del servizio app ILB con il suffisso di dominio <nome ambiente del servizio app>.appserviceenvironment.net e un'app denominata mytest, usare mytest.<nome ambiente del servizio app>.appserviceenvironment.net per il servizio FTP e mytest.scm.contoso.net per la distribuzione Web.If you have an ILB ASE with the domain suffix <ASE name>.appserviceenvironment.net, and an app named mytest, use mytest.<ASE name>.appserviceenvironment.net for FTP and mytest.scm.contoso.net for web deployment.

Configurare un ambiente del servizio app ILB con un dispositivo WAFConfigure an ILB ASE with a WAF device

È possibile combinare un dispositivo web application firewall (WAF) con l'ambiente del servizio app ILB in modo da esporre a Internet solo le app desiderate e mantenere le altre accessibili solo dall'interno della rete virtuale.You can combine a web application firewall (WAF) device with your ILB ASE to only expose the apps that you want to the internet and keep the rest only accessible from in the VNet. Questo consente, tra l'altro, di creare applicazioni multilivello sicure.This enables you to build secure multi-tier applications among other things.

Per altre informazioni su come configurare l'ambiente del servizio app ILB con un dispositivo WAF, vedere Configurazione di un Web application firewall (WAF) per l'ambiente del servizio app.To learn more about how to configure your ILB ASE with a WAF device, see Configure a web application firewall with your App Service environment. Questo articolo spiega come usare un'appliance virtuale Barracuda con il proprio ambiente del servizio app.This article shows how to use a Barracuda virtual appliance with your ASE. Un'altra opzione consiste nell'usare il gateway applicazione Azure.Another option is to use Azure Application Gateway. Il gateway applicazione usa le regole di base OWASP per proteggere le applicazioni associate allo stesso.Application Gateway uses the OWASP core rules to secure any applications placed behind it. Per altre informazioni sul gateway applicazione, vedere Introduzione al Web application firewall di Azure.For more information about Application Gateway, see Introduction to the Azure web application firewall.

Ambienti del servizio app creati prima del maggio 2019ILB ASEs made before May 2019

Gli ambienti del servizio app con bilanciamento del carico interno creati prima del maggio 2019 richiedevano di impostare il suffisso di dominio durante la creazione dell'ambiente del servizio app.ILB ASEs that were made before May 2019 required you to set the domain suffix during ASE creation. Richiedevano inoltre di caricare un certificato predefinito basato sul suffisso di dominio.They also required you to upload a default certificate that was based on that domain suffix. In più, con un ambiente del servizio app ILB precedente, non è possibile eseguire l'accesso Single Sign-On alla console Kudu con le app che si trovano nell'ambiente.Also, with an older ILB ASE you can't perform single sign-on to the Kudu console with apps in that ILB ASE. Durante la configurazione del DNS per un ambiente del servizio app ILB precedente, è necessario impostare il record A con caratteri jolly in una zona corrispondente al suffisso di dominio.When configuring DNS for an older ILB ASE, you need to set the wildcard A record in a zone that matches to your domain suffix.

IntroduzioneGet started