Condividi tramite


Ospitare un'app Web in un App Service Environment

Un App Service Environment è una distribuzione a tenant singolo di Azure App Service che si integra con un'istanza di Azure Virtual Network e subnet. In questo scenario, è possibile ospitare l'app Web in un ambiente isolato in cui si è l'unico utente del sistema. Le app distribuite sono soggette alle funzionalità di rete applicate alla subnet della rete virtuale per il App Service Environment. Non sono necessarie altre funzionalità per consentire alle app Web di accedere alle funzionalità di rete.

Quando si crea l'app Web nel App Service Environment, si segue il processo di creazione standard con un approccio leggermente diverso:

  • Per l'area dell'app Web, invece di scegliere una posizione geografica per la distribuzione dell'app, selezionare un App Service Environment.
  • Per un nuovo piano di servizio app nella App Service Environment, selezionare un piano tariffario v2 isolato.

Questo articolo descrive come creare l'app Web di App Service in un Ambiente di Servizio App seguendo le procedure nel portale Azure.

Prerequisiti

  • Un ambiente di servizio per app. Per creare un nuovo ambiente, seguire la procedura descritta in Quickstart: Creare un App Service Environment.

  • Quando si crea l'app, tenere presente che Windows e le app Linux possono trovarsi nello stesso App Service Environment, ma non possono trovarsi nello stesso piano di servizio app.

Creare l'app Web

Nel portale di Azure creare un'app Web in un App Service Environment:

  1. Accedere al portale Azure.

  2. Selezionare Crea una risorsa, individuare App Web nell'elenco delle risorse e selezionare Crea.

    Il riquadro Crea app Web si apre alla scheda Basic :

    Screenshot che illustra come creare un'app Web in un App Service Environment nel Azure portal.

  3. Nella scheda Basic selezionare la sottoscrizione.

  4. Selezionare un gruppo di risorse esistente o selezionare Crea nuovo per una nuova istanza.

  5. Immettere un nome per la nuova app Web.

    Se in precedenza è stato selezionato un piano di servizio app in un App Service Environment, il nome di dominio per l'app riflette il nome di dominio del App Service Environment. Ad esempio, per l'app zava-hosted-web-app e App Service Environment zava-app-service-envrionment-1, il nome di dominio per l'app è zava-hosted-web-app-zava-app-service-envrionment-1.appserviceenvironment.net.

  6. Configurare le impostazioni Pubblica, Stack di runtime e Sistema operativo in base ai requisiti dell'app.

  7. Per l'impostazione Area , usare l'elenco a discesa per effettuare la selezione.

    • Per usare un App Service Environment esistente, selezionare l'ambiente nella sezione App Service Environments v3 nell'elenco a discesa.

    • Per creare una nuova App Service Environment, selezionare un'area nella sezione Regions nell'elenco a discesa. Dopo aver selezionato un'area, il riquadro Crea app Web aggiunge una sezione con le opzioni di configurazione per il nuovo App Service Environment. I passaggi per il nuovo ambiente verranno completati più avanti in questa procedura.

    È possibile filtrare l'elenco Aree per visualizzare gli elementi corrispondenti nell'elenco sia per gli ambienti che per le aree. L'esempio filtra l'elenco in modo che corrisponda al Canada.

    Screenshot che mostra come selezionare un App Service Environment come area dell'app con un filtro per gli elementi corrispondenti a 'Canada'.

  8. Per le opzioni Piani tariffari , specificare il nome del piano di servizio app e il piano tariffario.

    • Per il piano Linux del servizio app, usare l'elenco a discesa e selezionare un piano esistente oppure selezionare Crea nuovo per un nuovo piano.

    • Per il piano tariffario , se è stato selezionato un piano esistente, il valore viene popolato con il piano tariffario per il piano corrente.

      Se si sta creando un nuovo piano di servizio App, utilizzare l'elenco a discesa e selezionare la dimensione del piano. L'elenco mostra i piani popolari. L'unico SKU che è possibile selezionare per l'app è uno SKU di prezzo Isolato v2.

      Screenshot che illustra come selezionare il piano tariffario per il piano di servizio app nel portale Azure.

      È possibile selezionare Esplora piani tariffari per confrontare le funzionalità del piano. L'immagine seguente mostra un esempio di piani tariffari e funzionalità. Nel riquadro Seleziona App Service piano tariffario, selezionare un piano nell'elenco e quindi scegliere Seleziona.

      Screenshot che mostra i piani tariffari del piano di servizio app con le relative funzionalità e hardware nel portale Azure.

      La creazione del nuovo piano di servizio app richiede circa 20 minuti.

  9. Se si crea un nuovo App Service Environment durante la creazione del nuovo piano di servizio app, configurare le impostazioni seguenti App Service Environment:

    Screenshot che illustra come configurare una nuova App Service Environment nel Azure portal.

  10. Passare alla scheda Rete nel riquadro Crea app Web e configurare le impostazioni.

    • Se si sta creando una nuova App Service Environment:

      • Identificare Virtual Network e Subnet da usare per la distribuzione. È possibile scegliere le risorse esistenti o creare nuove istanze.

      • Configurare l'impostazione DNS . Se si vuole che il sistema configuri automaticamente il DNS nella rete virtuale del App Service Environment, selezionare Azure DNS Zona privata.

        Se si preferisce configurare IL DNS manualmente, selezionare Manuale. Al termine della distribuzione, è possibile modificare la configurazione in usare il proprio server DNS o specificare Azure DNS zone private.

      • Configurare l'impostazione Indirizzo IP in ingresso . Scegliere Automatico (indirizzo IP assegnato dal sistema dalla subnet) o Manuale (immettere l'indirizzo IP preferito).

    • Se si utilizza un App Service Environment esistente per la distribuzione, configurare l'opzione integrazione della rete virtuale in base alle esigenze.

  11. (Facoltativo) Configurare le opzioni nelle schede rimanenti nel riquadro Crea app Web in base ai requisiti dell'app. La maggior parte delle impostazioni è disabilitata per impostazione predefinita.

    • Deployment: configurare le impostazioni di distribuzione continua, autenticazione e GitHub.
    • Monitor + Secure: usare Azure Monitor Application Insights o Microsoft Defender for Cloud.
    • Tag: definire i tag per l'app.

    Se si sta creando una nuova App Service Environment, verificare anche le impostazioni nella scheda Hosting.

  12. Selezionare Rivedi e crea. Verificare che la configurazione dell'app Web sia corretta e selezionare Crea.

Esaminare le opzioni di ridimensionamento

Ogni applicazione del servizio App viene eseguita in un piano di servizio App. Gli ambienti del servizio app di Azure contengono piani del servizio app, che a loro volta contengono app. Quando si ridimensiona un'app, si ridimensiona anche il piano di servizio app e tutte le app nello stesso piano.

Quando si ridimensiona un piano di servizio app, l'infrastruttura necessaria viene aggiunta automaticamente. Tenere presente che si verifica un ritardo di tempo per le operazioni di scalabilità durante l'aggiunta dell'infrastruttura. Ad esempio, quando si ridimensiona un piano di servizio app e si dispone di un'altra operazione di scalabilità dello stesso sistema operativo e delle dimensioni in esecuzione, potrebbe verificarsi un ritardo di alcuni minuti fino all'avvio della scalabilità richiesta.

Un'operazione di ridimensionamento su una dimensione e un sistema operativo non influisce sul ridimensionamento delle altre combinazioni di dimensioni e sistema operativo. Ad esempio, se si ridimensiona un piano di servizio app I2v2 Windows, viene avviata immediatamente un'operazione di ridimensionamento a un piano di servizio app I3v2 Windows. Il ridimensionamento richiede in genere meno di 15 minuti, ma può richiedere fino a 45 minuti.

In uno scenario di servizio app multi-tenant, il ridimensionamento è immediato perché un pool di risorse condivise è immediatamente disponibile per supportarlo. App Service Environment è un servizio a tenant singolo, quindi non è presente alcun buffer condiviso e le risorse vengono allocate in base alle esigenze.

Pianificare il livello di accesso per l'app

In un App Service Environment con un indirizzo IP virtuale interno (VIP), il suffisso di dominio usato per la creazione dell'app è <app-service-environment-name>.appserviceenvironment.net. Per un App Service Environment denominato zava-environment che ospita un'app denominata hosted-web-app, si raggiunge l'ambiente usando gli URL seguenti:

  • hosted-web-app.zava-environment.appserviceenvironment.net
  • hosted-web-app.scm.zava-environment.appserviceenvironment.net

Le app ospitate in un App Service Environment che usano un indirizzo VIP interno sono accessibili solo se ci si trova nella stessa rete virtuale o si è connessi a tale rete virtuale. Analogamente, la pubblicazione è possibile solo se ci si trova nella stessa rete virtuale o si è connessi a tale rete virtuale.

In un App Service Environment con un indirizzo VIP esterno, il suffisso di dominio usato per la creazione dell'app è <app-service-environment-name>.p.azurewebsites.net. Nel caso in cui ci sia un App Service Environment denominato zava-environment che ospita un'app denominata hosted-web-app, è possibile raggiungere l'ambiente usando gli URL seguenti:

  • hosted-web-app.zava-environment.p.azurewebsites.net
  • hosted-web-app.scm.zava-environment.p.azurewebsites.net

Usare l'URL scm per accedere alla console Kudu oppure pubblicare l'app utilizzando Web Deploy. Per altre informazioni, vedere ServizioKudu per Azure App Service. La console Kudu offre un'interfaccia utente Web per il debug, il caricamento di file, e la modifica di file.

Configurare DNS

Se il App Service Environment viene creato con un indirizzo VIP esterno, le app vengono inserite automaticamente nel DNS pubblico. Se il App Service Environment viene creato con un indirizzo VIP interno, potrebbe essere necessario configurare IL DNS manualmente.

È possibile trovare gli indirizzi IP per il App Service Environment nel portale di Azure:

  1. Nel portale di Azure, vai alla pagina Panoramica per l'App Service Environment della tua app.

  2. Nel menu a sinistra selezionare Impostazioni>indirizzi IP.

La pagina Indirizzi IP mostra gli indirizzi IP in ingresso e in uscita :

Screenshot che illustra come trovare l'indirizzo IP in ingresso per il App Service Environment nel Azure portal.

Usare il proprio server DNS

Se si vuole usare il proprio server DNS, aggiungere i record seguenti:

  1. Nel server DNS creare una zona DNS con il nome del App Service Environment, <app-service-environment-name>.appserviceenvironment.net. I passaggi successivi di questa procedura fanno riferimento a questa zona come zone-main.

  2. Creare un record A in zone-main che punta l'asterisco * (notazione con caratteri jolly) all'indirizzo IP di ingresso utilizzato dall'App Service Environment.

  3. Creare un record A in zone-main che punta alla notazione del simbolo @ all'indirizzo IP di ingresso utilizzato dall'ambiente App Service.

  4. Creare una zona all'interno di zone-main denominata scm.

  5. Creare un record A nella zona scm che indirizza l'asterisco * (notazione wildcard) all'indirizzo in ingresso usato dall'App Service Environment.

Configurare DNS nella zona privata di Azure DNS

Per configurare il DNS nelle zone DNS private di Azure:

  1. Creare una risorsa Azure zona DNS privata. con il nome dell'App Service Environment, <app-service-environment-name>.appserviceenvironment.net. I passaggi successivi di questa procedura fanno riferimento a questa zona come zone-main.

  2. Creare un A record in zone-main che indirizza l'asterisco * (notazione con caratteri jolly) all'indirizzo IP in entrata.

  3. Creare un A record in zone-main che punta la notazione del simbolo @ all'indirizzo IP in ingresso.

  4. Creare un A record in zone-main che punta la *.scm notazione della zona all'indirizzo IP in ingresso.

Le impostazioni DNS per il suffisso di dominio predefinito del App Service Environment non limitano l'accesso alle app solo ai valori specificati. È possibile impostare un nome di dominio personalizzato senza convalidare le app in un App Service Environment. Se in un secondo momento si crea una zona denominata zava-new-zone.net, è possibile puntarla all'indirizzo IP in ingresso.

Il nome di dominio personalizzato funziona per le richieste di app. Se il certificato del suffisso di dominio personalizzato include una SAN wildcard per scm, il nome di dominio personalizzato funziona anche per il sito scm. È possibile creare un *.scm record e puntarlo all'indirizzo IP in ingresso.

Pubblicare l'app Web

È possibile pubblicare l'app Web con uno dei metodi seguenti:

  • Implementazione Web
  • Integrazione continua (CI)
  • Trascina e rilascia nella console Kudu
  • Un ambiente di sviluppo integrato (IDE), ad esempio Visual Studio, Eclipse o IntelliJ IDEA

Con un ambiente App Service VIP interno, gli punti di pubblicazione sono disponibili solo tramite l'indirizzo di ingresso. Se non si ha accesso alla rete all'indirizzo IP in ingresso, non è possibile pubblicare app in tale App Service Environment. L'IDE deve disporre anche dell'accesso di rete all'indirizzo in ingresso nel App Service Environment per pubblicarlo direttamente.

Senza altre modifiche, sistemi di integrazione continua basati su Internet come GitHub e Azure DevOps non funzionano con un App Service Environment VIP interno. L'endpoint di pubblicazione non è accessibile da Internet. È possibile abilitare la pubblicazione in un App Service Environment VIP interno da Azure DevOps installando un agente di rilascio self-hosted nella rete virtuale.

Configurare l'archiviazione per l'app Web

Sono disponibili 1 TB di spazio di archiviazione per tutte le app nel App Service Environment. Un piano di servizio App nel SKU dei prezzi isolato ha un limite di 250 GB. In un App Service Environment, 250 GB di spazio di archiviazione viene aggiunto per ogni piano di servizio app, fino al limite di 1 TB. È possibile avere più piani di servizio app rispetto a soli quattro, ma non esiste un'altra risorsa di archiviazione oltre il limite di 1 TB.

Monitorare il App Service Environment

Microsoft monitora e gestisce l'infrastruttura della piattaforma in App Service Environment v3 e ridimensiona in base alle esigenze. I clienti devono monitorare solo i piani di servizio app e le singole app in esecuzione ed eseguire le azioni appropriate. È possibile configurare le impostazioni di diagnostica per il monitoraggio in modo da supportare il vostro scenario.

Nel portale di Azure è possibile visualizzare alcune metriche per un App Service Environment. Tuttavia, queste metriche sono per App Service Environment v1 e due risorse. Le metriche per le risorse App Service Environment v3 non sono visibili. Per le versioni precedenti di App Service Environment, esaminare le differenze di funzionalità nella panoramica di App Service Environment.

Esaminare gli scenari e i messaggi di registrazione

È possibile eseguire l'integrazione con Azure Monitor per inviare log a Azure Storage, Azure Event Hubs o log di Azure Monitor.

Le tabelle seguenti illustrano gli scenari e i messaggi che è possibile registrare.

Stato dell'ambiente di servizio dell'app Messaggio
Subnet quasi piena The specified App Service Environment is in a subnet that is almost out of space. There are {0} remaining addresses. Once these addresses are exhausted, the App Service Environment will not be able to scale.
Ambiente vicino al limite delle istanze The specified App Service Environment is approaching the total instance limit of the App Service Environment. It currently contains {0} App Service Plan instances of a maximum 200 instances.
Ambiente sospeso The specified App Service Environment is suspended. The App Service Environment suspension may be due to an account shortfall or an invalid virtual network configuration. Resolve the root cause and resume the App Service Environment to continue serving traffic.
Aggiornamento avviato A platform upgrade to the specified App Service Environment has begun. Expect delays in scaling operations.
Aggiornamento completato A platform upgrade to the specified App Service Environment has finished.
Creazione del piano di servizio app Messaggio
Avviato An App Service plan ({0}) creation has started. Desired state: {1} I{2}v2 workers.
Completo An App Service plan ({0}) creation has finished. Current state: {1} I{2}v2 workers.
Non riuscito An App Service plan ({0}) creation has failed. This may be due to the App Service Environment operating at peak number of instances, or run out of subnet addresses.
Operazioni di dimensionamento Messaggio
Avviato An App Service plan ({0}) has begun scaling. Current state: {1} I(2)v2. Desired state: {3} I{4}v2 workers.
Completo An App Service plan ({0}) has finished scaling. Current state: {1} I{2}v2 workers.
Interrotto An App Service plan ({0}) was interrupted while scaling. Previous desired state: {1} I{2}v2 workers. New desired state: {3} I{4}v2 workers.
Non riuscito An App Service plan ({0}) has failed to scale. Current state: {1} I{2}v2 workers.

Abilita registrazione diagnostica

Per abilitare la registrazione diagnostica per l'app Web, seguire questa procedura:

  1. Nel portale di Azure passare alla pagina Panoramica per l'app Web.

  2. Nel menu a sinistra selezionare Monitoraggio>impostazioni di diagnostica.

  3. Nella pagina Impostazioni di diagnostica selezionare Aggiungi impostazione di diagnostica.

    Screenshot che mostra come selezionare

  4. Nel riquadro Impostazioni di diagnostica specificare un nome di impostazione di diagnostica per l'integrazione del log, ad esempio networking-logs.

  5. Selezionare e configurare i log preferiti. Per questo esempio, selezionare Log della piattaforma di App Service.

  6. Selezionare le destinazioni preferite.

  7. Se si vuole che la diagnostica includa i dati delle metriche, selezionare Metriche.

  8. Seleziona Salva.

La pagina Impostazioni di diagnostica viene aggiornata per visualizzare il nuovo log aggiunto all'elenco.

Se si esegue l'integrazione con i log di Azure Monitor, è possibile visualizzare i log selezionando Logs dal portale di App Service Environment e creando una query su AppServicePlatformLogs. I log vengono generati solo quando il App Service Environment ha un evento che attiva i log. Se il App Service Environment non ha un evento di questo tipo, non vengono raccolti log. Per visualizzare rapidamente un esempio di log, eseguire un'operazione di scalabilità con un piano di servizio app. È quindi possibile eseguire una query su AppServicePlatformLogs per visualizzare i log generati.

Crea regola di avviso

Per creare un avviso per i log della tua app Web, segui le istruzioni dettagliate in Creare o modificare una regola di avviso di ricerca dei log - Azure Monitor.

Ecco i passaggi di base per creare una regola di avviso per l'app Web ospitata:

  1. Nel portale di Azure passare alla pagina Monitoraggio>Alerts per il App Service Environment e selezionare Crea regola di avviso.

  2. Nella scheda Scope, verifica che il livello Scope sia impostato sulla tua sottoscrizione e imposta Resource sulla tua area di lavoro dei log di Azure Monitor.

  3. Nella scheda Condizione specificare la query per la regola e configurare le condizioni.

    1. Impostare il nome del segnale per usare una ricerca log personalizzata. Verrà visualizzato il riquadro Log .

    2. Nel riquadro Log compilare una query per l'avviso. Ad esempio: AppServicePlatformLogs | where ResultDescription contains 'has begun scaling'. È anche possibile iniziare con una query predefinita e modificarla in base alle esigenze. Salva la tua query.

    3. Configurare altre condizioni per la regola, ad esempio il valore Soglia nel gruppo di logica avvisi .

  4. Nella scheda Dettagli specificare i dettagli sulla regola:

    • Per i dettagli del progetto, verificare che la sottoscrizione e il gruppo di risorse siano specificati come previsto.

    • Per i dettagli della regola di avviso, selezionare la regola Gravitàe l'area e immettere un nome per il nuovo avviso.

    • Per la query di log Identità, selezionare l'identità da usare durante l'esecuzione della query di log.

    • (Facoltativo) Configurare le opzioni avanzate in base alle esigenze.

  5. (Facoltativo) Configurare le opzioni nelle schede rimanenti nel riquadro Crea una regola di avviso :

    • Azioni: aggiungere o creare un gruppo di azioni. Il gruppo di azioni è il percorso in cui si definisce la risposta all'avviso, ad esempio l'invio di un messaggio di posta elettronica o un SMS.

    • Tag: definire i tag per la regola di avviso dell'app Web.

  6. Selezionare Rivedi e crea. Verificare che la configurazione dell'avviso sia corretta e selezionare Crea.

Configurare la crittografia interna

Non è possibile visualizzare i componenti interni o la comunicazione all'interno del sistema App Service Environment. Per consentire una velocità effettiva più elevata, la crittografia non è abilitata per impostazione predefinita tra i componenti interni. Il sistema è sicuro perché il traffico non è accessibile al monitoraggio e all'accesso.

Se si dispone di un requisito di conformità per la crittografia completa del percorso dati, è possibile abilitare la funzionalità:

  1. Nel portale di Azure passare alla pagina Panoramica per il App Service Environment.

  2. Nel menu a sinistra selezionare Configurazione impostazioni>.

  3. Nel riquadro App Service Environment Configuration selezionare la casella di controllo Internal encryption e quindi selezionare Apply.

Screenshot che illustra come abilitare la crittografia interna per il App Service Environment nel Azure portal.

Questa opzione crittografa il traffico di rete interno e crittografa anche il file di paging e i dischi di lavoro.

Importante

L'abilitazione della crittografia può influire sulle prestazioni del sistema. Il App Service Environment è in uno stato instabile fino a quando la modifica non viene propagata completamente. Il completamento della propagazione della modifica può richiedere diverse ore, a seconda del numero di istanze da aggiornare.

Evitare di abilitare la crittografia durante l'uso del App Service Environment. Per abilitare la crittografia mentre l'ambiente è in uso, deviare il traffico a un backup fino al completamento dell'operazione.

Configurare le preferenze di aggiornamento

Se si dispone di più ambienti del servizio app, è consigliabile aggiornare uno o più prima degli altri.

Per ogni ambiente, configurare l'impostazione Preferenza di aggiornamento :

  1. Nel portale di Azure, passare alla pagina Panoramica per l'App Service Environment.

  2. Nel menu a sinistra selezionare Configurazione impostazioni>.

  3. Nel riquadro App Service Environment Configurazione selezionare le preferenze per gli aggiornamenti.

    • Automatic: aggiornare automaticamente il App Service Environment in base alla selezione:

      • None: (Impostazione predefinita) Aggiornamento automatico durante il processo di aggiornamento per l'area.
      • Early: eseguire automaticamente l'aggiornamento con una priorità elevata rispetto ad altre risorse nell'area.
      • Late: aggiornamento automatico con una priorità bassa rispetto ad altre risorse nell'area.
    • Manuale Ricevere una notifica quando è disponibile un aggiornamento e avviare il processo entro 15 giorni. Dopo 15 giorni, l'aggiornamento viene eseguito con altri aggiornamenti automatici nell'area. Per ulteriori informazioni, vedere preferenza di aggiornamento per App Service Environment per la manutenzione pianificata.

  4. Per salvare le modifiche, selezionare Applica.

Screenshot che illustra come impostare la preferenza di aggiornamento per un App Service Environment nel Azure portal.

Questa funzionalità ha più senso quando si dispone di più ambienti del servizio app e si può trarre vantaggio dalla sequenziazione degli aggiornamenti. Ad esempio, è possibile impostare gli ambienti del servizio app di sviluppo e test per l'aggiornamento anticipato e gli ambienti del servizio app di produzione da aggiornare in un secondo momento.

Eliminare App Service Environment

Seguire questa procedura per eliminare il App Service Environment:

  1. Nel portale di Azure, nella pagina Panoramica per App Service Environment selezionare Delete.

  2. Confermare l'azione di eliminazione immettendo il nome del App Service Environment e selezionare OK.

Quando si elimina un App Service Environment, si eliminano anche tutti i contenuti e le risorse all'interno dell'ambiente.

Screenshot che illustra come eliminare un App Service Environment nel Azure portal.