Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Nota
I piani Basic, Standard ed Enterprise saranno deprecati a partire dalla metà di marzo 2025, con un periodo di ritiro di 3 anni. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere l'annuncio di ritiro di Azure Spring Apps.
Il piano Standard a consumo e dedicato sarà deprecato a partire dal 30 settembre 2024, con un arresto completo dopo sei mesi. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere Eseguire la migrazione del consumo di Azure Spring Apps Standard e del piano dedicato alle app Azure Container.
Questo articolo si applica a:✅ Basic/Standard ✅ Enterprise
In Azure Spring Apps è possibile distribuire le applicazioni all'interno di una rete virtuale gestita. Questa configurazione consente la comunicazione sicura tra le applicazioni e altre risorse nella rete virtuale, ad esempio database e altri servizi. App Azure Container offre funzionalità simili, ma con alcune differenze. Questo articolo illustra queste differenze e fornisce indicazioni sulla creazione e la gestione di ambienti di App Azure Container con reti virtuali gestite.
Prerequisiti
- Una sottoscrizione di Azure attiva. Se non è disponibile, è possibile creare un account Azure gratuito.
- Interfaccia della riga di comando di Azure.
Creare un ambiente di App Contenitore di Azure con una rete virtuale
In Azure Spring Apps è necessario configurare due subnet all'interno di una rete virtuale: una per il runtime di sistema e un'altra per l'app utente. Questa configurazione garantisce l'isolamento e la sicurezza sia per i componenti di sistema che per le applicazioni utente. D'altra parte, App Contenitore di Azure semplifica la configurazione di rete richiedendo una sola subnet per l'infrastruttura all'interno di una rete virtuale.
In App Contenitore di Azure la rete virtuale dell'infrastruttura è isolata dalla rete virtuale del cliente, eliminando la necessità di concedere al servizio l'autorizzazione al servizio per la rete virtuale in base alle esigenze in Azure Spring Apps. Sono supportati due tipi di ambienti. Per altre informazioni, vedere la sezione Tipi degli ambienti di App Azure Container. Quando si usa l'ambiente Profili di carico di lavoro, è necessario aggiornare la rete virtuale per delegare la subnet a Microsoft.App/environments
. Per altre informazioni, vedere la sezione Creare un ambiente in Fornire una rete virtuale a un ambiente di App Azure Container.
Inoltre, i requisiti per intervalli di subnet più piccoli differiscono tra i due servizi.
Per creare un ambiente di App Azure Container con una rete virtuale, usare il comando seguente dell'interfaccia della riga di comando di Azure:
az containerapp env create \
--resource-group $RESOURCE_GROUP \
--name $ENVIRONMENT \
--location "$LOCATION" \
--internal-only true \
--infrastructure-subnet-resource-id "$INFRASTRUCTURE_SUBNET"
La variabile $INFRASTRUCTURE_SUBNET
è l'ID risorsa di una subnet nella rete virtuale del cliente, ovvero per i componenti dell'infrastruttura e i contenitori di app utente. Per altre informazioni, vedere la sezione Creare un ambiente in Fornire una rete virtuale a un ambiente di App Azure Container.
La scelta di usare una rete virtuale del cliente in App Azure Container non significa che l'app contenitore non possa accettare richieste pubbliche. Se si vuole limitare completamente l'accesso alla rete virtuale del cliente, è necessario impostare il --internal-only
parametro su true
. Questa impostazione garantisce che non vengano creati endpoint pubblici. Per altre informazioni, vedere la sezione Ip virtuale di Rete nell'ambiente app contenitore di Azure e Fornire una rete virtuale a un ambiente app Azure Container interno.
Eseguire la migrazione dell'app ad App Azure Container
Dopo aver creato un ambiente di app Azure Container, il passaggio successivo consiste nel eseguire la migrazione dell'app ad App Azure Container. Per altre informazioni, vedere Mapping dei concetti. Per eseguire la migrazione di ogni app contenitore di Azure, vedere Panoramica della migrazione delle applicazioni e selezionare un'immagine del contenitore o un artefatto per il processo di migrazione.
Modificare l'impostazione di ingresso
App Azure Container offre più opzioni per personalizzare le impostazioni di ingresso rispetto ad Azure Spring Apps. Per altre informazioni, vedere Personalizzare la configurazione in ingresso in Azure Spring Apps.
La tabella seguente esegue il mapping delle proprietà di configurazione tra i due servizi:
Funzionalità | Azure Spring Apps | App contenitore di Azure |
---|---|---|
Affinità di sessione | ingressSettings.sessionAffinity |
ingress.stickySessions.affinity |
Validità massima cookie sessione | ingressSettings.sessionCookieMaxAge |
EasyAuthConfig.login.cookieExpiration.timeToExpiration |
Protocollo back-end | ingressSettings.backendProtocol |
ingress.transport |
Autenticazione client | ingressSettings.clientAuth |
ingress.clientCertificateMode |
Timeout lettura ingresso | ingressSettings.readTimeoutInSeconds |
240 |
Timeout invio in ingresso | ingressSettings.sendTimeoutInSeconds |
240 |
App Azure Container non consente agli utenti di specificare un valore di timeout personalizzato. Applica invece un timeout di richiesta predefinito per le richieste HTTP, che è limitato a 240 secondi. Pertanto, se una richiesta supera questa durata, la connessione viene terminata automaticamente per garantire una gestione efficiente delle risorse e impedire alle richieste a esecuzione prolungata di monopolizzare il sistema.
App Azure Container non supporta direttamente un session-max-age
elemento di configurazione. Tuttavia, è possibile gestire durate e comportamenti della sessione tramite altre impostazioni correlate. Ad esempio, è possibile usare l'impostazione cookieExpiration nella EasyAuth
configurazione per controllare per quanto tempo dura una sessione di autenticazione. Questa impostazione consente di specificare la durata per cui il cookie di autenticazione rimane valido.
Per altre informazioni sulle impostazioni di ingresso fornite dalle app di Azure Container, vedere Ingresso nelle app contenitore di Azure.
Sia Azure Spring Apps che app Azure Container offrono modi per generare endpoint accessibili pubblicamente. In Azure Spring Apps ogni distribuzione ha un URL univoco a scopo di test durante le distribuzioni blu-verde. Analogamente, in App Contenitore di Azure, un'etichetta di revisione fornisce un URL univoco che è possibile usare per instradare il traffico alla revisione specifica a cui è assegnata l'etichetta. Per altre informazioni, vedere la sezione Etichette di Aggiornamento e distribuzione delle modifiche nelle app Azure Container.
In Azure Spring Apps il sistema esegue automaticamente il probe della porta 1025
per le applicazioni nel piano Basic/Standard e nella porta 8080
per le applicazioni nel piano Enterprise. Questi probe consentono di determinare se il contenitore dell'applicazione è pronto per accettare il traffico. D'altra parte, App Azure Container offre maggiore flessibilità consentendo agli utenti di specificare la porta probe stessa usando il --target-port
parametro . Questa impostazione offre agli utenti un maggiore controllo sulla configurazione e sul comportamento dell'applicazione.
Per aggiornare la porta di destinazione di ingresso per un'app contenitore, è possibile usare il comando seguente dell'interfaccia della riga di comando di Azure:
az containerapp ingress update \
--resource-group <resource-group> \
--name <app-name> \
--target-port <target-port>
L'elenco seguente illustra ogni parametro:
-
--name
: nome dell'app contenitore. -
--resource-group
: gruppo di risorse contenente l'app contenitore. -
--target-port
: porta in cui l'app contenitore è in ascolto.
Per altre informazioni, vedere la sezione Abilitare il traffico in ingresso di Configurare l'ingresso per l'app in App Contenitore di Azure.
Modificare l'impostazione in uscita (UDR)
Sia App Spring di Azure che App Azure Container offrono modi per controllare il traffico in uscita tramite la funzionalità Bring Your Own Route Table ( UDR) - con Firewall di Azure. Tuttavia, prendere nota delle differenze seguenti:
- Non è necessario aggiungere un'assegnazione di ruolo per un provider di risorse di App Contenitore di Azure.
- Non è necessaria una subnet dedicata per la subnet di runtime del servizio App Azure Container.
- Le app contenitore di Azure offrono un modo più flessibile per supportare la route definita dall'utente. In App Azure Container non è necessario impostare in modo esplicito l'opzione
--outbound-type
suuserDefinedRouting
durante il provisioning di Azure Spring Apps.
Per altre informazioni, vedere la sezione Route della configurazione della subnet con l'interfaccia della riga di comando e Controllare il traffico in uscita in App Contenitore di Azure con route definite dall'utente.
In App Contenitore di Azure solo i profili di carico di lavoro del tipo di ambiente supportano la route definita dall'utente. Inoltre, Le app Contenitore di Azure supportano l'uscita tramite il gateway NAT e la creazione di endpoint privati nell'ambiente dell'app contenitore.
Per creare un ambiente di App Contenitore di Azure che supporta la route definita dall'utente, usare il comando seguente:
az containerapp env create \
--resource-group $RESOURCE_GROUP \
--name $ENVIRONMENT \
--location "$LOCATION" \
--enable-workload-profiles \
--infrastructure-subnet-resource-id "$INFRASTRUCTURE_SUBNET"
Impostare il parametro --enable-workload-profiles
su true
per abilitare i profili del carico di lavoro.
Proteggere le reti virtuali con i gruppi di sicurezza di rete
Sia App Spring di Azure che App Azure Container offrono un supporto affidabile, consentendo di gestire e proteggere il traffico in uscita in modo efficace usando i gruppi di sicurezza di rete. Le differenze principali si trovano nelle configurazioni specifiche.
Per altre informazioni, vedere Protezione di una rete virtuale personalizzata nelle app contenitore di Azure con gruppi di sicurezza di rete.
Modificare le impostazioni DNS
Sia App Spring di Azure che App Azure Container supportano l'uso di server DNS personalizzati in una rete virtuale del cliente. È consigliabile aggiungere l'indirizzo IP 168.63.129.16
DNS di Azure come server DNS upstream nel server DNS personalizzato.
Per altre informazioni, vedere la sezione DNS di Rete nell'ambiente app contenitore di Azure.
Attualmente, le app contenitore di Azure in un tipo di ambiente solo a consumo non supportano lo scaricamento delle impostazioni DNS man mano che azure Spring Apps esegue. Per altre informazioni, vedere Scaricare le modifiche alle impostazioni DNS in App Azure Spring. Tuttavia, il tipo di profilo del carico di lavoro dell'ambiente aggiorna automaticamente le impostazioni DNS ogni 5 minuti.
App Azure Container supporta la distribuzione con una zona DNS privata. Per altre informazioni, vedere la sezione Distribuire con un DNS privato di Fornire una rete virtuale a un ambiente app contenitore di Azure. Questo approccio offre un modo più flessibile per supportare il collegamento di una zona DNS privata rispetto all'uso di Azure Spring Apps. Per altre informazioni, vedere la sezione Collegare la zona DNS privata con Azure Spring Apps di Accedere a un'app in Azure Spring Apps in una rete virtuale.
Accedere a un'app in App Contenitore di Azure all'interno di una rete virtuale del cliente
App Azure Container offre sia l'accesso alla rete pubblica che le funzionalità endpoint privato per esporre le applicazioni a Internet o per proteggerle all'interno di una rete privata. Analogamente, Azure Spring Apps supporta queste funzionalità, come descritto negli articoli seguenti: