Creare un ambiente del servizio app usando un modello di Azure Resource Manager

È possibile creare un ambiente di servizio app v3 nel portale di Azure o usando un modello di Azure Resource Manager (ARM template).

Nel portale di Azure si crea un ambiente del servizio app con una configurazione specifica per la distribuzione immediata. Quando si crea l'ambiente nel portale, è possibile selezionare o creare le risorse di supporto contemporaneamente, incluso il gruppo di risorse per l'area di distribuzione e la rete virtuale con subnet.

Creare un ambiente del servizio app e creare un'app web nel portale Azure sono operazioni separate. Devi aspettare che il deployment dell'ambiente sia completato prima di creare un'app web e il suo piano App Service in quell'ambiente.

Quando si crea un ambiente del servizio app da un modello, si accede a una configurazione disponibile per la distribuzione ripetibile dello stesso ambiente o di altri ambienti del servizio app. Il modello specifica la proprietà impostata per il ambiente del servizio app, insieme alla rete virtuale e alla subnet da usare per la distribuzione.

A differenza del flusso di lavoro di creazione di web app tramite portali, un template ARM o Bicep può distribuire insieme l'ambiente del servizio app, il piano App Service e l'app web in un'unica distribuzione, con dipendenze dalle risorse che controllano l'ordine di creazione. Per esempi, consulta i campioni di ambiente del servizio app nei template di Azure Resource Manager per App Service e file Bicep per App Service.

Questo articolo illustra i passaggi e la sintassi necessari per creare un ambiente del servizio app esterno o un ambiente del servizio app con bilanciamento del carico interno (ILB) da un modello ARM.

Prerequisiti

  • Per compilare il modello arm ambiente del servizio app, è necessario determinare il tipo di ambiente da configurare. È possibile creare l'ambiente con un endpoint accessibile da Internet o un endpoint in un indirizzo interno in un'istanza di Rete virtuale di Azure.

    Quando l'ambiente viene creato con un endpoint interno, l'endpoint viene fornito da un componente Azure, il servizio di bilanciamento del carico internal load balancer (ILB). Un ambiente del servizio app su un indirizzo IP interno si chiama ILB ambiente del servizio app. Un ambiente del servizio app con un endpoint pubblico viene definito ambiente del servizio app esterno.

  • La rete virtuale specificata nel modello deve definire una subnet:

    • La dimensione consigliata della subnet è /24 con 256 indirizzi per soddisfare le esigenze di crescita e scalabilità future.
    • La subnet deve essere vuota, ovvero nessuna scheda di interfaccia di rete (NIC), macchine virtuali, endpoint privati e così via.
    • La subnet deve essere delegata a Microsoft.Web/hostingEnvironments.

    Tenere presente che dopo aver creato un ambiente del servizio app con il modello, non è possibile modificare le dimensioni della subnet.

  • Quando si crea un ambiente del servizio app da un modello di Resource Manager, il gruppo di risorse specificato deve trovarsi in un'area con disponibilità sufficiente per supportare la distribuzione dell'ambiente creato dal modello.

Esaminare le proprietà del modello ARM

Il codice JSON seguente illustra un modello ARM di base che crea un ambiente del servizio app.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "aseName": {
        "type": "string"
    },
    "subnetResourceId": {
        "type": "string"
    }
  },
  "variables": {},
  "resources": [
    "type": "Microsoft.Web/hostingEnvironments",
    "apiVersion": "2025-03-01",
    "name": "[parameters('aseName')]",
    "location": "[resourceGroup().location]",
    "kind": "ASEV3",
    "properties": {
        "internalLoadBalancingMode": "Web, Publishing",
        "virtualNetwork": {
            "id": "[parameters('subnetResourceId')]"
        },
        "networkingConfiguration": { },
        "customDnsSuffixConfiguration": { }
    },
    "identity": {
        "type": "SystemAssigned"
    }
}

Nella tabella seguente vengono descritte le proprietà principali e altre opzioni che è possibile usare per configurare il ambiente del servizio app.

Proprietà Obbligatorio Descrizione
name Sì Definire un nome univoco per ambiente del servizio app. Il nome deve essere una stringa di non più di 36 caratteri.
virtualNetwork ->id Sì Specificare l'ID della risorsa della subnet. La subnet deve essere vuota e delegata a Microsoft.Web/hostingEnvironments.
internalLoadBalancingMode Sì Identificare il tipo di Load Balancer per l'ambiente del servizio app ILB.
- Il valore più comune è Web, Publishing, il che significa che il traffico HTTP/HTTPS e il traffico FTP si trova su un indirizzo VIP interno (Load Balancer interno).
- Quando il valore è None, tutto il traffico rimane sull'indirizzo VIP pubblico (Load Balancer esterno).
zoneRedundant NO Indicare se il ambiente del servizio app è distribuibile in una zona di disponibilità. Il valore è booleano True o False. Per altre informazioni, vedere Reliability in Servizio app di Azure.
dedicatedHostCount NO Specificare il numero di host da dedicare per il ambiente del servizio app.
- Il valore più comune è 0 o non specificato.
- Per distribuire il ambiente del servizio app con isolamento hardware fisico negli host dedicati, impostare il valore su 2.
upgradePreference NO Specificare le preferenze per gli aggiornamenti automatici. Sono disponibili quattro valori possibili:
- 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.
- Manual: 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 la manutenzione pianificata di ambiente del servizio app.
clusterSettings NO Personalizzare il comportamento del ambiente del servizio app. Per altre informazioni, vedere Impostazioni di configurazione personalizzate per gli ambienti del servizio app.
networkingConfiguration ->allowNewPrivateEndpointConnections NO Specificare se consentire la creazione di una nuova connessione endpoint privato per un ambiente del servizio app ILB o un ambiente del servizio app esterno. Per impostazione predefinita, l'opzione è disabilitata. Per altre informazioni, vedere Impostazioni di configurazione > di rete Consenti nuove connessioni endpoint private.
networkingConfiguration ->remoteDebugEnabled NO Specificare se abilitare il debug remoto per il ambiente del servizio app. Per impostazione predefinita, l'opzione è disabilitata. Per altre informazioni, vedere Configurare le impostazioni > di rete Abilitare il debug remoto.
networkingConfiguration ->ftpEnabled NO Specificare se consentire le connessioni FTP all'ambiente del servizio app. Per impostazione predefinita, l'opzione è disabilitata. Per altre informazioni, vedere Configurare le impostazioni > di rete Consenti connessioni FTP in ingresso.
networkingConfiguration ->inboundIpAddressOverride NO Usare questa impostazione per creare un ambiente del servizio app con il proprio indirizzo IP pubblico Azure (specificare l'ID risorsa) o definire un indirizzo IP statico per le distribuzioni con bilanciamento del carico interno. Questa impostazione non può essere modificata dopo la creazione del ambiente del servizio app.
customDnsSuffixConfiguration NO Usare questa impostazione per specificare un suffisso di dominio personalizzato per il ambiente del servizio app. Per altre informazioni sui parametri specifici, vedere Suffisso di dominio personalizzato per gli ambienti del servizio app.
Important: per impostare questa opzione, è necessario avere un insieme di credenziali delle chiavi esistente, un segreto di certificato valido da Azure Key Vault e l'accesso con un'identità gestita per le risorse Azure tramite Microsoft Entra ID.

Nota

Un ambiente del servizio app v3 non supporta le proprietà seguenti: dnsSuffix, multiSize, frontEndScaleFactor, userWhitelistedIpRanges e ipSslAddressCount.

Creare il modello di Azure Resource Manager

Creare il modello seguendo questa procedura:

  1. Incolla il modello ARM di esempio in un nuovo file JSON e modifica le proprietà per la tua configurazione.

  2. Salvare il file JSON, ad esempio azuredeploy.json. Prendere nota del percorso di salvataggio del file per un uso successivo.

  3. (Facoltativo) Rilocare le impostazioni dei parametri dal file JSON del modello in un file JSON di parametri, ad esempio azuredeploy.parameters.json. Prendere nota del percorso di salvataggio del file per un uso successivo.

Distribuire il ambiente del servizio app

Dopo aver preparato il modello, è possibile creare il ambiente del servizio app dal modello usando il interfaccia della riga di comando di Azure.

Aggiornare i valori templatePath e parameterPath affinché puntino ai percorsi del file del modello ARM e del file di parametri sul computer. Immettere il nome del gruppo di risorse per il valore <resource_group>.

templatePath="PATH/azuredeploy.json"
parameterPath="PATH/azuredeploy.parameters.json"

az deployment group create --resource-group <resource_group> --template-file $templatePath --parameters $parameterPath

Suggerimento

È utile verificare che il modello possa creare correttamente il ambiente del servizio app prima di eseguire il comando az deployment group create. Verificare il modello eseguendo il comando con i valori delle risorse az deployment group validate.

La creazione del ambiente del servizio app richiede in genere circa un'ora, ma se si tratta di un ambiente del servizio app con ridondanza della zona o l'area di destinazione riscontra una domanda imprevista, il processo di creazione può richiedere diverse ore per il completamento.