Usare un ambiente del servizio app

ambiente del servizio app è una distribuzione a tenant singolo del servizio app Azure. Lo si usa con una rete virtuale di Azure e si è l'unico utente di questo sistema. Le app distribuite sono soggette alle funzionalità di rete applicate alla subnet. Non sono presenti funzionalità aggiuntive che devono essere abilitate nelle app per essere soggette a tali funzionalità di rete.

Nota

Questo articolo riguarda ambiente del servizio app v3, usato con piani di servizio app isolato v2.

Crea un'app

Per creare un'app nel ambiente del servizio app, si usa lo stesso processo di quando si crea normalmente un'app, ma con alcune piccole differenze. Quando si crea un nuovo piano di servizio app:

  • Invece di scegliere una posizione geografica in cui distribuire l'app, scegli un ambiente del servizio app come località.
  • Tutti i piani servizio app creati in un ambiente del servizio app possono trovarsi solo in un piano tariffario v2 isolato.

Se non ne hai ancora uno, crea un ambiente del servizio app.

Per creare un'app in un ambiente del servizio app:

  1. Selezionare Crea una risorsa>Web e dispositivi mobili>App Web.
  2. Seleziona un abbonamento.
  3. Immettere un nome per un nuovo gruppo di risorse oppure selezionare Usa esistente e selezionarne uno nell'elenco a discesa.
  4. Immetti il nome per l'app. Se è già stato selezionato un piano di servizio app in un ambiente del servizio app, il nome di dominio per l'app riflette il nome di dominio del ambiente del servizio app.
  5. Per Pubblica, Stack di runtime e Sistema operativo, effettuare le selezioni appropriate.
  6. In Area selezionare un ambiente del servizio app preesistente v3. Se si vuole creare un nuovo ambiente del servizio app, selezionare un'area. Screenshot that shows how to create an app in an App Service Environment.
  7. Selezionare un piano di servizio app esistente o crearne uno nuovo. Se si sta creando un nuovo piano, selezionare le dimensioni desiderate per il piano di servizio app. L'unico SKU che è possibile selezionare per l'app è uno SKU dei prezzi isolato v2. L'esecuzione di un nuovo piano di servizio app richiederà normalmente meno di 20 minuti. Screenshot that shows pricing tiers and their features and hardware.
  8. Se si sceglie di creare un nuovo ambiente del servizio app come parte della creazione del nuovo piano di servizio app, compilare il nome e il tipo di IP virtuale.
  9. Selezionare Avanti: Monitoraggio. Se si vuole abilitare Application Insights con l'app, è possibile farlo qui durante il flusso di creazione.
  10. Selezionare Avanti: Tag e aggiungere i tag desiderati all'app.
  11. Selezionare Rivedi e crea. Assicurarsi che le informazioni siano corrette e quindi selezionare Crea.

Le app Windows e Linux possono trovarsi nella stessa ambiente del servizio app, ma non possono trovarsi nello stesso piano di servizio app.

Come funziona il ridimensionamento

Ogni app 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 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 ridimensionare le operazioni 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 windows I2v2, viene avviata immediatamente un'operazione di ridimensionamento a un piano di servizio app Windows I3v2. Il ridimensionamento richiede in genere meno di 15 minuti.

In un servizio app multi-tenant, la scalabilità è immediata, perché un pool di risorse condivise è immediatamente disponibile per supportarlo. ambiente del servizio app è un servizio a tenant singolo, quindi non è presente alcun buffer condiviso e le risorse vengono allocate in base alle esigenze.

Accesso all'app

In un ambiente del servizio app con un indirizzo IP virtuale interno (VIP), il suffisso di dominio usato per la creazione dell'app è .<asename.appserviceenvironment.net>. Se il ambiente del servizio app è denominato my-ase e si ospita un'app denominata contoso, è possibile raggiungerla agli URL seguenti:

  • contoso.my-ase.appserviceenvironment.net
  • contoso.scm.my-ase.appserviceenvironment.net

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

In un ambiente del servizio app con un indirizzo VIP esterno, il suffisso di dominio usato per la creazione dell'app è .<asename.p.azurewebsites.net>. Se il ambiente del servizio app è denominato my-ase e si ospita un'app denominata contoso, è possibile raggiungerla agli URL seguenti:

  • contoso.my-ase.p.azurewebsites.net
  • contoso.scm.my-ase.p.azurewebsites.net

Usare l'URL scm per accedere alla console Kudu o per la pubblicazione dell'app tramite distribuzione Web. Per altre informazioni, vedere Console Kudu per il servizio app di Azure. La console Kudu offre un'interfaccia utente Web per il debug, il caricamento di file e la modifica di file.

Configurazione del DNS

Se il ambiente del servizio app viene creato con un indirizzo VIP esterno, le app vengono inserite automaticamente nel DNS pubblico. Se il ambiente del servizio app viene creato con un indirizzo VIP interno, potrebbe essere necessario configurare il DNS.

Se è stata selezionata la configurazione automatica delle zone private DNS di Azure, dns viene configurato nella rete virtuale del ambiente del servizio app. Se si è scelto di configurare il DNS manualmente, è necessario usare il proprio server DNS o configurare zone private DNS di Azure.

Per trovare l'indirizzo in ingresso, nel portale di ambiente del servizio app selezionare Indirizzi IP.

Screenshot that shows how to find the inbound address.

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

  1. Creare una zona per <App Service Environment-name>.appserviceenvironment.net.
  2. Creare un record A in tale zona che punta * all'indirizzo IP in ingresso usato dal ambiente del servizio app.
  3. Creare un record A in tale zona che punta all'indirizzo IP in ingresso usato dal ambiente del servizio app.
  4. Creare una zona in <App Service Environment-name>.appserviceenvironment.net denominata scm.
  5. Creare un record A nella scm zona che punta * all'indirizzo in ingresso usato dal ambiente del servizio app.

Per configurare DNS nelle zone private di DNS di Azure:

  1. Creare una zona privata DNS di Azure denominata <App Service Environment-name>.appserviceenvironment.net.
  2. Creare un record A in tale zona che punta * all'indirizzo IP in ingresso.
  3. Creare un record A in tale zona che punta @ all'indirizzo IP in ingresso.
  4. Creare un record A in tale zona che punta *.scm all'indirizzo IP in ingresso.

Le impostazioni DNS per il suffisso di dominio predefinito del ambiente del servizio app non limitano le app ad essere accessibili solo da tali nomi. È possibile impostare un nome di dominio personalizzato senza convalidare le app in un ambiente del servizio app. Se si vuole creare una zona denominata contoso.net, è possibile farlo e puntare all'indirizzo IP in ingresso. Il nome di dominio personalizzato funziona per le richieste dell'app e se il certificato del suffisso di dominio personalizzato include una SAN con caratteri jolly per scm, il nome di dominio personalizzato funziona anche per scm il sito ed è possibile crearne un *.scm record e indirizzarlo all'indirizzo IP in ingresso.

Pubblicazione

È possibile eseguire la pubblicazione con uno dei metodi seguenti:

  • Distribuzione Web
  • Integrazione continua (CI)
  • Trascinamento della selezione nella console Kudu
  • Un ambiente di sviluppo integrato (IDE), ad esempio Visual Studio, Eclipse o IntelliJ IDEA

Con un ambiente del servizio app VIP interno, gli endpoint di pubblicazione sono disponibili solo tramite l'indirizzo in ingresso. Se non si ha accesso alla rete all'indirizzo in ingresso, non è possibile pubblicare app in tale ambiente del servizio app. Gli IDE devono disporre anche dell'accesso di rete all'indirizzo in ingresso nel ambiente del servizio app per pubblicarlo direttamente in esso.

Senza modifiche aggiuntive, i sistemi di integrazione continua basati su Internet come GitHub e Azure DevOps non funzionano con un ambiente del servizio app VIP interno. L'endpoint di pubblicazione non è accessibile da Internet. È possibile abilitare la pubblicazione in un ambiente del servizio app VIP interno da Azure DevOps installando un agente di versione self-hosted nella rete virtuale.

Storage

Sono disponibili 1 TB di spazio di archiviazione per tutte le app nel ambiente del servizio app. Un piano servizio app nello SKU dei prezzi isolati ha un limite di 250 GB. In un ambiente del servizio app, 250 GB di spazio di archiviazione viene aggiunto per ogni piano di servizio app, fino al limite di 1 TB. È possibile avere più piani servizio app rispetto a soli quattro, ma non esiste spazio di archiviazione aggiuntivo oltre il limite di 1 TB.

Monitoraggio

L'infrastruttura della piattaforma in ambiente del servizio app v3 viene monitorata e gestita da Microsoft e viene ridimensionata in base alle esigenze. In qualità di cliente, è consigliabile monitorare solo i piani di servizio app e le singole app in esecuzione e intraprendere azioni appropriate. Verranno visualizzate alcune metriche visibili per il ambiente del servizio app, ma vengono usate solo per la versione precedente e non verranno omessi valori per questa versione. Se si usa la versione 1 o v2 di ambiente del servizio app, vedere questa sezione per indicazioni sul monitoraggio e il ridimensionamento.

Registrazione

È possibile eseguire l'integrazione con Monitoraggio di Azure per inviare log a Archiviazione di Azure, Hub eventi di Azure o log di Monitoraggio di Azure. La tabella seguente illustra le situazioni e i messaggi che è possibile registrare:

Situazione Message
ambiente del servizio app subnet è quasi esaurita. Il ambiente del servizio app specificato si trova in una subnet quasi esaurita. {0} Sono presenti indirizzi rimanenti. Una volta esauriti questi indirizzi, il ambiente del servizio app non sarà in grado di ridimensionare.
ambiente del servizio app sta raggiungendo il limite totale di istanze. Il ambiente del servizio app specificato sta raggiungendo il limite totale di istanze del ambiente del servizio app. Attualmente contiene {0} servizio app istanze di planimetria di un massimo di 200 istanze.
ambiente del servizio app è sospeso. Il ambiente del servizio app specificato viene sospeso. La sospensione ambiente del servizio app può essere dovuta a un errore di account o a una configurazione di rete virtuale non valida. Risolvere la causa radice e riprendere il ambiente del servizio app per continuare a gestire il traffico.
ambiente del servizio app'aggiornamento è stato avviato. È stato avviato un aggiornamento della piattaforma al ambiente del servizio app specificato. Attendere ritardi nelle operazioni di ridimensionamento.
ambiente del servizio app l'aggiornamento è stato completato. È stato completato un aggiornamento della piattaforma al ambiente del servizio app specificato.
servizio app è stata avviata la creazione del piano. È stata avviata una creazione di un piano servizio app ({0}). Stato desiderato: {1} i{2}lavoratori v2.
Le operazioni di scalabilità sono state completate. La creazione di un piano di servizio app ({0}) è stata completata. Stato corrente: {1} I{2}v2 worker.
Le operazioni di scalabilità non sono riuscite. La creazione di un piano di servizio app ({0}) non è riuscita. Ciò può essere dovuto al ambiente del servizio app operativo al numero massimo di istanze o all'esaurirsi degli indirizzi della subnet.
Le operazioni di scalabilità sono state avviate. È iniziato il ridimensionamento di un piano servizio app ({0}). Stato corrente: {1} I(2)v2. Stato desiderato: {3} i{4}lavoratori v2.
Le operazioni di scalabilità sono state completate. Un piano di servizio app ({0}) ha terminato il ridimensionamento. Stato corrente: {1} I{2}v2 worker.
Le operazioni di scalabilità sono state interrotte. Un piano servizio app ({0}) è stato interrotto durante il ridimensionamento. Stato desiderato precedente: {1} I{2}lavoratori v2. Nuovo stato desiderato: {3} i{4}lavoratori v2.
Le operazioni di scalabilità non sono riuscite. Non è stato possibile ridimensionare un piano di servizio app ({0}). Stato corrente: {1} I{2}v2 worker.

Per abilitare la registrazione, seguire questa procedura:

  1. Nel portale passare a Impostazioni di diagnostica.
  2. Selezionare Aggiungi impostazione di diagnostica.
  3. Specificare un nome per l'integrazione dei log.
  4. Selezionare e configurare le destinazioni di log desiderate.
  5. Selezionare AppServiceEnvironmentPlatformLogs. Screenshot that shows how to enable logging.

Se si esegue l'integrazione con i log di Monitoraggio di Azure, è possibile visualizzare i log selezionando Log dal portale di ambiente del servizio app e creando una query su AppServiceEnvironmentPlatformLogs. I log vengono generati solo quando il ambiente del servizio app ha un evento che attiva i log. Se il ambiente del servizio app non ha un evento di questo tipo, non saranno presenti 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 AppServiceEnvironmentPlatformLogs per visualizzare tali log.

Creare un avviso

Per creare un avviso per i log, seguire le istruzioni riportate in Creare, visualizzare e gestire gli avvisi dei log usando Monitoraggio di Azure. In breve:

  1. Aprire la pagina Avvisi nel portale di ambiente del servizio app.
  2. Selezionare Nuova regola di avviso.
  3. Per Risorsa selezionare l'area di lavoro Log di Monitoraggio di Azure.
  4. Impostare la condizione con una ricerca log personalizzata per usare una query. Ad esempio, è possibile impostare quanto segue: AppServiceEnvironmentPlatformLogs | dove ResultDescription contiene il ridimensionamento iniziato. Impostare la soglia in base alle esigenze.
  5. Aggiungere o creare un gruppo di azioni (facoltativo). 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.
  6. Assegnare un nome all'avviso e salvarlo.

Crittografia interna

Non è possibile visualizzare i componenti interni o la comunicazione all'interno del sistema ambiente del servizio app. Per abilitare una velocità effettiva più elevata, la crittografia non è abilitata per impostazione predefinita tra i componenti interni. Il sistema è sicuro perché il traffico non è accessibile per il monitoraggio o l'accesso. Se si dispone di un requisito di conformità per la crittografia completa del percorso dati, è possibile abilitare questa opzione. Selezionare Configurazione, come illustrato nello screenshot seguente.

Screenshot that shows how to enable internal encryption.

Questa opzione crittografa il traffico di rete interno e crittografa anche il file di paging e i dischi del ruolo di lavoro. Tenere presente che questa opzione può influire sulle prestazioni del sistema. Il ambiente del servizio app sarà in uno stato instabile fino a quando la modifica non viene propagata completamente. Il completamento della propagazione della modifica può richiedere alcune ore, a seconda del numero di istanze disponibili.

Evitare di abilitare questa opzione durante l'uso di ambiente del servizio app. In tal caso, è consigliabile deviare il traffico a un backup fino al termine dell'operazione.

Preferenza di aggiornamento

Se sono presenti più ambiente del servizio app, è possibile che alcuni di essi vengano aggiornati prima di altri. È possibile abilitare questo comportamento tramite il portale di ambiente del servizio app. In Configurazione è possibile impostare preferenza di aggiornamento. I valori possibili sono:

  • Nessuno: gli aggiornamenti di Azure in nessun batch specifico. Si tratta del valore predefinito.
  • Early: Upgrade in the first half of the servizio app upgrades.
  • Ritardo: aggiornamento nella seconda metà degli aggiornamenti servizio app.
  • Manuale: ottenere una finestra di 15 giorni per distribuire manualmente l'aggiornamento.

Selezionare il valore desiderato e quindi selezionare Salva.

Screenshot that shows the App Service Environment configuration portal.

Questa funzionalità ha più senso quando si hanno più ambiente del servizio app e si può trarre vantaggio dalla sequenziazione degli aggiornamenti. Ad esempio, è possibile impostare le ambiente del servizio app di sviluppo e test in modo che siano presto e che le ambiente del servizio app di produzione siano in ritardo.

Elimina un ambiente del servizio app

Per eliminare:

  1. Nella parte superiore del riquadro ambiente del servizio app selezionare Elimina.
  2. Immettere il nome del ambiente del servizio app per confermare che si vuole eliminarlo. Quando si elimina un ambiente del servizio app, si eliminano anche tutti i contenuti all'interno di esso. Screenshot that shows how to delete.
  3. Selezionare OK.