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.
Application Gateway di Azure è un servizio di bilanciamento del carico del traffico web che puoi utilizzare per gestire il traffico verso alle tue applicazioni web. Offre funzionalità avanzate come la scalabilità automatica, la ridondanza della zona, gli indirizzi IP virtuali statici e l'integrazione di Web Application Firewall per offrire servizi di distribuzione di applicazioni a disponibilità elevata e sicuri.
Quando si usa Azure, l'affidabilità è una responsabilità condivisa. Microsoft offre una gamma di funzionalità per supportare la resilienza e il ripristino. L'utente è responsabile della comprensione del funzionamento di tali funzionalità all'interno di tutti i servizi usati e della selezione delle funzionalità necessarie per soddisfare gli obiettivi aziendali e gli obiettivi di tempo di attività.
Questo articolo descrive come rendere Application Gateway v2 resiliente a un'ampia gamma di potenziali interruzioni e problemi, tra cui errori temporanei, interruzioni della zona di disponibilità e interruzioni nell'area geografica. Vengono inoltre evidenziate alcune informazioni chiave sul Service Level Agreement (SLA) di Application Gateway v2.
Importante
L'affidabilità della soluzione complessiva dipende dalla configurazione dei server back-end a cui il gateway applicazione instrada il traffico. A seconda della soluzione, queste potrebbero essere macchine virtuali di Azure, set di scalabilità di macchine virtuali di Azure, Servizi app di Azure o endpoint esterni.
I server back-end non rientrano nell'ambito di questo articolo, ma le configurazioni di disponibilità influiscono direttamente sulla resilienza dell'applicazione. Esaminare le guide all'affidabilità per tutti i servizi di Azure nella soluzione per comprendere in che modo ogni servizio supporta i requisiti di affidabilità. Assicurandosi che i server back-end siano configurati anche per la disponibilità elevata e la ridondanza della zona, è possibile ottenere l'affidabilità end-to-end per l'applicazione.
Raccomandazioni per la distribuzione di produzione
Per informazioni su come distribuire il gateway applicazione per supportare i requisiti di affidabilità della soluzione e su come l'affidabilità influisce su altri aspetti dell'architettura, vedere Procedure consigliate per l'architettura per il gateway applicazione in Azure Well-Architected Framework.
Panoramica dell'architettura di affidabilità
Il gateway applicazione è un servizio gestito. È importante comprendere alcuni elementi chiave dell'architettura del servizio in modo da poter prendere decisioni informate sull'affidabilità.
Gateway: Quando si distribuisce Application Gateway, si distribuisce un gateway, ovvero la risorsa di Azure con cui si lavora.
Istanze:Un'istanza è una singola unità del gateway. Un gateway ha più istanze. Ogni istanza ha un proprio indirizzo IP privato, gestisce il traffico e indirizza le richieste.
Importante
Per la disponibilità elevata, ogni gateway viene sempre creato con almeno due istanze. Tuttavia, il portale di Azure può indicare che il gateway ha una singola istanza, anche se in realtà ha due.
La piattaforma gestisce automaticamente la creazione dell'istanza, il monitoraggio dello stato e la sostituzione di istanze non integre. Gestisce anche la rimozione normale delle istanze durante gli eventi di scalabilità orizzontale. Questo processo è noto come svuotamento della connessione.
Il diagramma seguente illustra un gateway con due istanze:
Per distribuire le istanze tra più zone di disponibilità e aumentare la ridondanza e la disponibilità durante gli errori del data center, è possibile abilitare la ridondanza della zona.
Ridimensionamento: un aspetto importante dell'affidabilità di un gateway è il modo in cui viene ridimensionato per soddisfare la domanda di traffico. Se un gateway non viene ridimensionato in modo appropriato, il traffico non può fluire e l'applicazione può riscontrare tempi di inattività. È possibile configurare il gateway applicazione per usare una delle modalità di ridimensionamento seguenti.
Scalabilità automatica: regola automaticamente il numero di istanze all'interno di un intervallo specificato. La scalabilità automatica ridimensiona il numero di istanze in base alla domanda di traffico corrente.
Ridimensionamento manuale: richiede di specificare un numero esatto di istanze. Spetta all'utente selezionare un numero di istanze che soddisfa la domanda di traffico.
Un'unità di capacità rappresenta una quantità di capacità che il gateway può elaborare. Un'unità di capacità è una misura sintetica che incorpora il traffico, il numero di connessioni e le risorse di calcolo. Ogni istanza può gestire almeno 10 unità di capacità. Per altre informazioni, vedere Ridimensionare il gateway applicazione v2 e WAF v2.
Probe di integrità: il gateway applicazione usa probe di integrità per monitorare continuamente i server back-end, ad esempio i singoli server applicazioni. Quando vengono rilevati server non integri, il traffico può essere reindirizzato automaticamente ai server back-end integri.
Resilienza a errori temporanei
Gli errori temporanei sono errori brevi e intermittenti nei componenti. Si verificano spesso in un ambiente distribuito come il cloud e fanno parte delle normali operazioni. Gli errori temporanei si correggono dopo un breve periodo di tempo. È importante che le applicazioni possano gestire gli errori temporanei, in genere ripetendo le richieste interessate.
Tutte le applicazioni ospitate nel cloud devono seguire le indicazioni sulla gestione degli errori temporanei di Azure quando comunicano con qualsiasi API, database e altri componenti ospitati nel cloud. Per altre informazioni, vedere Raccomandazioni per la gestione degli errori temporanei.
Quando si usa il gateway applicazione, prendere in considerazione le procedure consigliate seguenti:
Implementare la logica di ripetizione dei tentativi. I client devono implementare adeguati meccanismi di ripetizione dei tentativi per gli errori di connessione temporanei.
Configurare probe di integrità con tolleranza. Configurare i probe di integrità per consentire un periodo di tolleranza per gli errori temporanei. I probe di integrità possono essere configurati con una soglia non integra, che specifica il numero di tentativi di connessione consecutivi non riusciti che devono attivare il contrassegno di server back-end come non integro. Il valore predefinito di tre garantisce che gli errori temporanei nei server back-end non attivino il gateway applicazione per contrassegnare inutilmente il server come non integro.
Resilienza ai guasti delle zone di disponibilità
Le zone di disponibilità sono gruppi di data center separati fisicamente all'interno di un'area di Azure. In caso di guasto in una zona, i servizi possono passare a una delle zone restanti.
Il gateway applicazione offre due tipi di supporto per la zona di disponibilità quando si distribuisce un gateway Standard_v2 o WAF_v2 in un'area supportata.
Con ridondanza della zona: Azure distribuisce automaticamente le istanze tra due o più zone di disponibilità.
Quando si distribuisce un nuovo gateway, per impostazione predefinita è con ridondanza della zona.
Il diagramma seguente mostra un gateway ridondante a livello di zona con tre istanze distribuite in tre zone di disponibilità.
A livello di zona: Azure distribuisce tutte le istanze del gateway applicazione in una singola zona selezionata all'interno dell'area di Azure scelta.
Il diagramma seguente mostra un gateway di zona con tre istanze distribuite nella stessa zona di disponibilità:
Importante
L'aggiunta di una singola zona di disponibilità è consigliata solo quando la latenza tra zone è troppo elevata per le proprie esigenze e quando si verifica che non soddisfa i propri requisiti di latenza. Di per sé, un gateway a livello di zona non fornisce resilienza a un'interruzione della zona di disponibilità. Per migliorare la resilienza di una distribuzione del gateway applicazione a livello di zona, è necessario distribuire in modo esplicito gateway separati in più zone di disponibilità e configurare il routing e il failover del traffico.
Requisiti
Supporto per regione: Il Gateway Applicazione supporta le zone di disponibilità per i livelli Standard_v2 e WAF_v2 in tutte le regioni di Azure che supportano le zone di disponibilità.
SKU: Per abilitare il supporto della zona di disponibilità, è necessario usare lo SKU Standard_v2 o WAF_v2.
Numero di istanze: Il gateway deve avere almeno due istanze.
Annotazioni
Tutti i gateway hanno almeno due istanze per la disponibilità elevata. Anche se il portale di Azure indica che il gateway ha una singola istanza, viene sempre creato internamente con almeno due istanze.
Considerazioni
I gateway con ridondanza della zona vengono distribuiti tra due o più zone di disponibilità nell'area. Ad esempio, in un'area con tre zone di disponibilità, una distribuzione del gateway applicazione con ridondanza della zona v2 ha istanze in almeno due di queste zone. A seconda delle decisioni relative alla capacità e alla piattaforma a livello di area, le istanze possono essere distribuite tra due zone o tre zone.
Costo
Il supporto della zona di disponibilità per il gateway applicazione v2 non comporta addebiti aggiuntivi oltre i prezzi delle unità di capacità standard. Per informazioni dettagliate sui prezzi, vedere Informazioni sui prezzi per il gateway applicazione e WAF e Prezzi del gateway applicazione.
Configurare il supporto delle zone di disponibilità
Questa sezione illustra come configurare il supporto della zona di disponibilità per i gateway.
Creare un nuovo gateway con supporto per la zona di disponibilità. L'approccio usato per configurare le zone di disponibilità dipende dal fatto che si voglia creare un gateway con ridondanza della zona o a livello di zona.
Con ridondanza della zona: per impostazione predefinita, i nuovi gateway vengono creati con ridondanza della zona. Le istanze vengono distribuite tra più zone di disponibilità e potrebbero usare due o più zone nell'area.
Per distribuire un nuovo gateway, vedere Guida introduttiva: Indirizzare il traffico Web con il gateway applicazione - Portale di Azure.
Quando si usa l'interfaccia della riga di comando di Azure, Azure PowerShell, Bicep, modelli di Azure Resource Manager o Terraform, è possibile specificare facoltativamente le zone di disponibilità in cui distribuire il gateway. È possibile distribuire un gateway con ridondanza della zona specificando due o più zone. È tuttavia consigliabile omettere l'elenco di zone in modo che il gateway possa usare tutte le zone di disponibilità, a meno che non esista un motivo specifico per non usare una zona specifica.
A livello di zona: è possibile distribuire un gateway a livello di zona usando gli strumenti seguenti.
Interfaccia della riga di comando di Azure: è consigliabile selezionare in modo esplicito le zone usando il parametro
--zonesnel comandoaz network application-gateway create. Per aggiungere il gateway a una singola zona, specificare il numero di zona logica.Azure PowerShell: usare il parametro
-Zonenel comandoNew-AzApplicationGateway. Per aggiungere il gateway a una singola zona, specificare il numero di zona logica.Modelli di Bicep e Azure Resource Manager: configurare la proprietà
zonesnella definizione della risorsa. Per aggiungere il gateway a una singola zona, specificare il numero di zona logica.
Annotazioni
Quando si selezionano le zone di disponibilità da usare, si seleziona effettivamente la zona di disponibilità logica. Se si distribuiscono altri componenti del carico di lavoro in una sottoscrizione di Azure diversa, è possibile usare un numero di zona di disponibilità logico diverso per accedere alla stessa zona di disponibilità fisica. Per altre informazioni, vedere Zone di disponibilità fisiche e logiche.
Modificare la configurazione della zona di disponibilità di un'istanza esistente del gateway applicazione v2. Tutti i gateway sono a ridondanza zonale, a meno che siano configurati come zonali.
Se è necessario passare da un gateway con ridondanza della zona a una configurazione a livello di zona, è necessario distribuire un nuovo gateway.
Disabilitare il supporto della zona di disponibilità. Il supporto della zona di disponibilità non può essere disabilitato. Tutti i gateway nelle aree che supportano zone di disponibilità devono essere con ridondanza della zona o a livello di zona.
Pianificazione e gestione della capacità
Quando si pianificano errori di zona per un gateway applicazione con ridondanza della zona o più gateway a livello di zona distribuiti in più zone, considerare che le istanze nelle zone sopravvissute possono riscontrare un aumento del carico man mano che il traffico viene ridistribuito. Le connessioni potrebbero verificarsi brevi interruzioni che possono durare alcuni secondi.
Per gestire la capacità in modo efficace, eseguire le azioni seguenti:
Usare la scalabilità automatica. Configurare la scalabilità automatica con il numero massimo di istanze appropriato per gestire la potenziale ridistribuzione del traffico durante le interruzioni della zona.
Se si usa il ridimensionamento manuale, per prepararsi all'errore della zona di disponibilità, considerare l'over-provisioning del numero di istanze nel gateway. Il provisioning eccessivo consente alla soluzione di tollerare un certo grado di perdita di capacità, continuando a funzionare senza prestazioni ridotte. Per altre informazioni, vedere Gestire la capacità con il provisioning eccessivo.
Rispondere alle modifiche apportate ai modelli di traffico. Monitorare le metriche della capacità e regolare i parametri di ridimensionamento in base ai modelli di traffico e ai requisiti di prestazioni.
Comportamento quando tutte le zone sono integre
La sezione seguente descrive cosa aspettarsi quando il gateway applicazione v2 è configurato con il supporto della zona di disponibilità e tutte le zone di disponibilità sono operative.
Routing del traffico tra zone: il gateway applicazione distribuisce automaticamente le richieste in ingresso tra le istanze in tutte le zone usate dal gateway. Questa configurazione active-active garantisce prestazioni ottimali e distribuzione del carico in condizioni operative normali.
Gestione delle istanze: la piattaforma gestisce automaticamente il posizionamento delle istanze tra le zone usate dal gateway. Sostituisce le istanze non riuscite e gestisce il numero di istanze configurato. Il monitoraggio dello stato garantisce che solo le istanze integre ricevano traffico.
Comportamento durante un errore di zona
La sezione seguente descrive cosa aspettarsi quando il gateway applicazione v2 è configurato con il supporto della zona di disponibilità e una o più zone di disponibilità non sono disponibili.
Rilevamento e risposta: la responsabilità del rilevamento e della risposta dipende dalla configurazione della zona di disponibilità usata dal gateway.
Con ridondanza della zona: Microsoft gestisce il rilevamento degli errori della zona e avvia automaticamente il failover. Non è richiesto alcun intervento da parte del cliente.
A livello di zona: è necessario rilevare la perdita di una zona di disponibilità e avviare un failover in un gateway secondario creato in un'altra zona di disponibilità.
-
- Notifica: Microsoft non invia automaticamente una notifica quando una zona è inattiva. È tuttavia possibile usare Integrità risorse di Azure per monitorare l'integrità di una singola risorsa ed è possibile configurare gli avvisi di Integrità risorse per notificare i problemi. È anche possibile usare Integrità dei servizi di Azure per comprendere l'integrità complessiva del servizio, inclusi eventuali errori di zona, ed è possibile configurare gli avvisi di integrità dei servizi per notificare i problemi.
Richieste attive: durante un'interruzione della zona, le richieste elaborate dalle istanze in tale zona vengono terminate. I client devono ritentare le richieste seguendo le indicazioni su come gestire gli errori temporanei.
Perdita di dati prevista: non si prevede che gli errori di zona causino la perdita di dati perché il gateway applicazione è un servizio senza stato.
Tempo di inattività previsto: il tempo di inattività previsto dipende dalla configurazione della zona di disponibilità usata dal gateway.
Con ridondanza della zona: durante le interruzioni della zona, potrebbero verificarsi brevi interruzioni delle connessioni, che in genere durano alcuni secondi, prima che il traffico venga ridistribuito.
A livello di zona: quando una zona non è disponibile, il gateway non è disponibile fino al ripristino della zona di disponibilità.
Gestione delle istanze: il comportamento di gestione delle istanze dipende dalla configurazione della zona di disponibilità usata dal gateway.
Con ridondanza della zona: la piattaforma tenta di mantenere la capacità del gateway creando istanze temporanee in altre zone di disponibilità.
Internamente, il gateway applicazione usa set di scalabilità di macchine virtuali, che eseguono il bilanciamento best-effort della zona. A causa di questo comportamento, le operazioni di ridimensionamento potrebbero non verificarsi quando la capacità non può essere divisa uniformemente tra le zone (+/- 1 istanza).
A livello di zona: spetta all'utente creare istanze in zone integre, se necessarie.
Reindirizzamento del traffico: il comportamento di reindirizzamento del traffico dipende dalla configurazione della zona di disponibilità usata dal gateway.
Con ridondanza della zona: il gateway applicazione ridistribuisce immediatamente il traffico alle istanze in zone integre, incluse le istanze create temporaneamente.
A livello di zona: quando una zona non è disponibile, il gateway non è disponibile. Se si dispone di un gateway secondario in un'altra zona di disponibilità, spetta all'utente il reindirizzamento del traffico a tale gateway secondario.
Ripristino della zona
Il comportamento di ripristino della zona dipende dalla configurazione della zona di disponibilità usata dal gateway:
Con ridondanza della zona: quando la zona di disponibilità interessata viene ripristinata, il gateway applicazione esegue automaticamente le operazioni seguenti:
Ripristina le istanze nella zona ripristinata
Rimuove tutte le istanze temporanee create in altre zone durante l'interruzione
Torna alla normale distribuzione del traffico in tutte le zone disponibili
A livello di zona: spetta all'utente il reindirizzamento del traffico al gateway nella zona di disponibilità originaria dopo il ripristino della zona di disponibilità.
Verifica dei guasti di zona
Le opzioni per il test per gli errori di zona dipendono dalla configurazione della zona di disponibilità usata dal gateway.
Con ridondanza della zona: la piattaforma del gateway applicazione gestisce completamente il routing del traffico, il failover e il failback per i gateway con ridondanza della zona. Poiché questa funzionalità è gestita da Microsoft, non è necessario avviare o convalidare i processi di errore della zona di disponibilità. La piattaforma gestisce in modo trasparente tutti gli scenari di errore della zona.
A livello di zona: è possibile simulare alcuni aspetti dell'errore di una zona di disponibilità arrestando in modo esplicito un gateway. Arrestando il gateway, è possibile testare il modo in cui altri sistemi e servizi di bilanciamento del carico gestiscono un'interruzione nel gateway. Per altre informazioni, vedere Come arrestare e avviare il gateway applicazione.
Resilienza agli errori a livello di area
Il gateway applicazione v2 è un servizio a singola area. Se l'area non è più disponibile, anche il gateway non è disponibile.
Soluzioni personalizzate in più aree per la resilienza
Per ottenere la resilienza in più aree usando il gateway applicazione v2, è necessario distribuire gateway separati in ogni area desiderata e implementare la gestione del traffico tra aree. Spetta all'utente distribuire e configurare ognuno dei gateway, nonché eseguire il routing e il failover del traffico. Considerare i punti seguenti:
Configurare regole e criteri coerenti del gateway applicazione tra aree. È possibile definire l'infrastruttura come codice (IaC) usando strumenti come Bicep o Terraform per semplificare le distribuzioni e le configurazioni tra aree.
Distribuire una soluzione di bilanciamento del carico globale in grado di inviare traffico tra i gateway a livello di area. I servizi di bilanciamento del carico globale in Azure sono Gestione traffico di Azure e Frontdoor di Azure. Ogni servizio esegue il routing del traffico in base a controlli di integrità, prossimità geografica o metriche delle prestazioni. Frontdoor di Azure offre anche una gamma di altre funzionalità, tra cui la protezione dagli attacchi DDoS (Distributed Denial of Service), le funzionalità WAF e le regole avanzate e le funzionalità di routing.
Oltre al gateway, valutare la possibilità di replicare applicazioni back-end e dati tra aree. Consultare le guide all'affidabilità per ogni servizio di Azure per comprendere gli approcci alla distribuzione in più aree.
Per un approccio di esempio, vedere Usare il gateway applicazione con Gestione traffico.
Backup e ripristino
Il gateway applicazione v2 è un servizio senza stato che non richiede operazioni di backup e ripristino tradizionali. Tutti i dati di configurazione vengono archiviati in Resource Manager e possono essere ridistribuiti usando approcci IaC, ad esempio file Bicep o modelli di Azure Resource Manager.
Per la gestione della configurazione e il ripristino di emergenza, è necessario eseguire le azioni seguenti:
Definire la configurazione della distribuzione del gateway applicazione usando file Bicep o modelli di Azure Resource Manager oppure esportare la configurazione di un gateway esistente.
Archiviare i certificati Transport Layer Security in Azure Key Vault per la gestione e la replica sicure.
Configurazioni, regole e criteri personalizzati per il controllo di documenti e versioni.
Implementare pipeline di distribuzione automatizzate per il provisioning coerente del gateway.
Per la maggior parte delle soluzioni, non è consigliabile basarsi esclusivamente sui backup. Usare invece le altre funzionalità descritte in questa guida per supportare i requisiti di resilienza. Tuttavia, i backup proteggono da alcuni rischi che altri approcci non comportano. Per altre informazioni, vedere Che cosa sono ridondanza, replica e backup?.
Resilienza alla manutenzione del servizio
Il gateway applicativo v2 esegue regolari aggiornamenti del servizio e ulteriori attività di manutenzione. Per mantenere la capacità prevista durante un aggiornamento, la piattaforma aggiunge automaticamente istanze aggiuntive del gateway durante il processo di aggiornamento. Tuttavia, è necessario assicurarsi che la subnet del gateway disponga di spazio di indirizzi IP sufficiente per la creazione delle istanze temporanee. Per ulteriori informazioni, vedere come gestisce la manutenzione di routine il gateway applicativo?.
Contratto di servizio
Il contratto di servizio per i servizi di Azure descrive la disponibilità prevista di ogni servizio e le condizioni che la soluzione deve soddisfare per raggiungere tale aspettativa di disponibilità. Per altre informazioni, vedere Contratti di servizio per Servizi online.
Affinché un gateway sia idoneo per il SLA di disponibilità del gateway applicazione, deve soddisfare i criteri seguenti:
- Deve essere configurato correttamente per eseguire il bilanciamento del carico HTTP.
- Deve essere con ridondanza della zona, oppure deve essere configurato per l'uso della scalabilità automatica.