Revisione di Azure Well-Architected Framework - gateway applicazione di Azure v2

Questo articolo fornisce le procedure consigliate per l'architettura per la famiglia di SKU gateway applicazione di Azure v2. Le linee guida si basano sui cinque pilastri dell'eccellenza architettonica:

Si supponga di avere una conoscenza funzionante di gateway applicazione di Azure e che siano ben distribuiti con le funzionalità dello SKU v2. Per altre informazioni, vedere funzionalità gateway applicazione di Azure.

Prerequisiti

Affidabilità

Nel cloud si riconosce che gli errori possono verificarsi. Invece di provare a evitare completamente gli errori, l'obiettivo deve essere quello di ridurre al minimo gli effetti di un singolo componente in errore. Usare le informazioni seguenti per ridurre al minimo le istanze non riuscite.

Elenco di controllo della progettazione

Quando si apportano scelte di progettazione per gateway applicazione, esaminare i principi di progettazione affidabilità.

  • Distribuire le istanze in una configurazione in grado di riconoscere la zona, se disponibile.
  • Usare gateway applicazione con Web application firewall (WAF) all'interno di una rete virtuale per proteggere il traffico in ingresso HTTP/S da Internet.
  • Nelle nuove distribuzioni usare gateway applicazione di Azure v2 a meno che non esista un motivo interessante per usare gateway applicazione di Azure v1.
  • Pianificare gli aggiornamenti delle regole
  • Usare i probe di integrità per rilevare l'indisponibilità back-end
  • Esaminare l'impatto delle impostazioni di intervallo e soglia nei probe di integrità
  • Verificare le dipendenze downstream tramite endpoint di integrità

Consigli

Esplorare la tabella seguente di consigli per ottimizzare la configurazione di gateway applicazione per affidabilità.

Recommendation Vantaggi
Pianificare gli aggiornamenti delle regole Pianificare tempo sufficiente per gli aggiornamenti prima di accedere gateway applicazione o apportare ulteriori modifiche. Ad esempio, la rimozione dei server dal pool back-end potrebbe richiedere qualche tempo perché devono svuotare le connessioni esistenti.
Usare i probe di integrità per rilevare l'indisponibilità back-end Se gateway applicazione viene usato per bilanciare il traffico in ingresso su più istanze back-end, è consigliabile usare probe di integrità. In questo modo il traffico non viene instradato ai back-end che non sono in grado di gestire il traffico.
Esaminare l'impatto delle impostazioni di intervallo e soglia nei probe di integrità Il probe di integrità invia richieste all'endpoint configurato a un intervallo impostato. È inoltre presente una soglia di richieste non riuscite che verranno tollerate prima che il back-end sia contrassegnato come non integro. Questi numeri presentano un compromesso.

- L'impostazione di un intervallo più elevato inserisce un carico maggiore nel servizio. Ogni gateway applicazione istanza invia probe di integrità personalizzati, quindi 100 istanze ogni 30 secondi significano 100 richieste per 30 secondi.
- L'impostazione di un intervallo inferiore lascia più tempo prima che venga rilevata un'interruzione.
- L'impostazione di una soglia non integra potrebbe significare che brevi errori temporanei potrebbero ridurre un back-end.
- L'impostazione di una soglia elevata può richiedere più tempo per richiedere un back-end fuori dalla rotazione.
Verificare le dipendenze downstream tramite endpoint di integrità Si supponga che ogni back-end abbia le proprie dipendenze per assicurarsi che gli errori siano isolati. Ad esempio, un'applicazione ospitata dietro gateway applicazione potrebbe avere più back-end, ognuna connessa a un database diverso (replica). Quando tale dipendenza ha esito negativo, l'applicazione potrebbe funzionare ma non restituirà risultati validi. Per questo motivo, l'endpoint di integrità deve convalidare idealmente tutte le dipendenze. Tenere presente che se ogni chiamata all'endpoint di integrità ha una chiamata di dipendenza diretta, il database riceverà 100 query ogni 30 secondi anziché 1. Per evitare questo problema, l'endpoint di integrità deve memorizzare nella cache lo stato delle dipendenze per un breve periodo di tempo.
Quando si usano Frontdoor di Azure e il gateway applicazione per proteggere le applicazioni HTTP/S, usare i criteri WAF in Frontdoor e bloccare il gateway applicazione in modo da ricevere il traffico solo da Frontdoor di Azure. Alcuni scenari possono forzare l'implementazione di regole in modo specifico in gateway applicazione. Ad esempio, se sono necessarie regole ModSec CRS 2.2.9, CRS 3.0 o CRS 3.1, queste regole possono essere implementate solo in gateway applicazione. Al contrario, la limitazione della frequenza e il filtro geografico sono disponibili solo in Frontdoor di Azure e non in AppGateway.

Azure Advisor consente di garantire e migliorare la continuità delle applicazioni business critical. Esaminare i consigli di Azure Advisor.

Sicurezza

La sicurezza è uno degli aspetti essenziali di qualsiasi architettura. gateway applicazione offre funzionalità che usano sia il principio di privilegi minimi che di difesa. È consigliabile esaminare i principi di progettazione della sicurezza.

Elenco di controllo della progettazione

  • Configurare un criterio TLS per la sicurezza avanzata
  • Usare AppGateway per la terminazione TLS
  • Usare Azure Key Vault per archiviare i certificati TLS
  • Quando si crittografa il traffico back-end, assicurarsi che il certificato del server back-end contenga sia le autorità di certificazione radice che intermedie (CA)
  • Usare un server DNS appropriato per le risorse del pool back-end
  • Rispettare tutte le restrizioni del gruppo di sicurezza di rete per gateway applicazione
  • Evitare l'uso di UDR nella subnet gateway applicazione
  • Tenere presente le modifiche alla capacità gateway applicazione durante l'abilitazione di WAF

Consigli

Esplorare la tabella seguente di consigli per ottimizzare la configurazione gateway applicazione per la sicurezza.

Recommendation Vantaggi
Configurare un criterio TLS per la sicurezza avanzata Configurare un criterio TLS per la sicurezza aggiuntiva. Assicurarsi di usare la versione più recente dei criteri TLS (AppGwSslPolicy20170401S) per imporre l'uso di TLS 1.2 e crittografie più complesse.
Usare AppGateway per la terminazione TLS Esistono vantaggi dell'uso di gateway applicazione per la terminazione TLS:

- Le prestazioni migliorano perché le richieste che passano a back-end diversi devono eseguire nuovamente l'autenticazione in ogni back-end.
- Utilizzo migliore dei server back-end perché non devono eseguire l'elaborazione TLS
- Routing intelligente accedendo al contenuto della richiesta.
- Gestione dei certificati più semplice perché il certificato deve essere installato solo in gateway applicazione.
Usare Azure Key Vault per archiviare i certificati TLS gateway applicazione è integrato con Key Vault. Ciò offre una maggiore sicurezza, una separazione più semplice dei ruoli e delle responsabilità, il supporto per i certificati gestiti e un processo di rinnovo e rotazione dei certificati più semplice.
Quando si crittografa il traffico back-end, assicurarsi che il certificato del server back-end contenga sia le autorità di certificazione radice che intermedie (CA) Un certificato TLS del server back-end deve essere rilasciato da una CA nota. Se il certificato non è stato rilasciato da una CA attendibile, il gateway applicazione verifica se il certificato dell'autorità di certificazione emittente è stato rilasciato da una CA attendibile e così via fino a quando non viene trovata una CA attendibile. Viene stabilita solo una connessione sicura. In caso contrario, gateway applicazione contrassegna il back-end come non integro.
Usare un server DNS appropriato per le risorse del pool back-end Quando il pool back-end contiene un nome di dominio completo risolvibile, la risoluzione DNS si basa su una zona DNS privata o un server DNS personalizzato (se configurato nella rete virtuale) oppure usa il DNS fornito da Azure predefinito.
Rispettare tutte le restrizioni del gruppo di sicurezza di rete per gateway applicazione I gruppi di sicurezza di rete sono supportati nella subnet gateway applicazione, ma esistono alcune restrizioni. Ad esempio, alcune comunicazioni con determinati intervalli di porte non sono consentite. Assicurarsi di comprendere le implicazioni di tali restrizioni. Per informazioni dettagliate, vedere Gruppi di sicurezza di rete.
Evitare di usare le route definite dall'utente nella subnet del gateway applicazione L'uso di route definite dall'utente nella subnet gateway applicazione può causare alcuni problemi. Lo stato di integrità nel back-end potrebbe essere sconosciuto. gateway applicazione i log e le metriche potrebbero non essere generati. È consigliabile non usare le route definite dall'utente nella subnet gateway applicazione in modo da poter visualizzare l'integrità, i log e le metriche back-end. Se le organizzazioni devono usare la route definita dall'utente nella subnet gateway applicazione, assicurarsi di esaminare gli scenari supportati. Per altre informazioni, vedere Route definite dall'utente supportate.
Tenere presente gateway applicazione modifiche alla capacità durante l'abilitazione di WAF Quando WAF è abilitato, ogni richiesta deve essere memorizzata nel buffer dal gateway applicazione fino a quando non arriva completamente e controlla se la richiesta corrisponde a qualsiasi violazione di regola nel set di regole di base e quindi inoltra il pacchetto alle istanze back-end. Per i caricamenti di file di grandi dimensioni (30 MB e versioni successive), ciò può comportare una latenza significativa. Poiché gateway applicazione requisiti di capacità sono diversi con WAF, non è consigliabile abilitare WAF in gateway applicazione senza test e convalida appropriati.

Per altri suggerimenti, vedere Principi del pilastro della sicurezza.

Azure Advisor consente di garantire e migliorare la continuità delle applicazioni aziendali critiche. Esaminare le raccomandazioni di Azure Advisor.

Definizioni dei criteri

Tutte le definizioni di criteri predefinite correlate alla rete di Azure sono elencate in Criteri predefiniti - Rete.

Ottimizzazione dei costi

L'ottimizzazione dei costi riguarda l'analisi dei modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. È consigliabile esaminare i principi di progettazione dell'ottimizzazione dei costi.

Elenco di controllo della progettazione

  • Acquisire familiarità con i prezzi di gateway applicazione
  • Esaminare le risorse sottoutilizzate
  • Arrestare gateway applicazione istanze non in uso
  • Disporre di criteri di scalabilità orizzontale e scalabilità orizzontale
  • Esaminare le metriche di consumo tra parametri diversi

Consigli

Esplorare la tabella seguente di consigli per ottimizzare la configurazione di gateway applicazione per l'ottimizzazione dei costi.

Recommendation Vantaggi
Acquisire familiarità con i prezzi di gateway applicazione Per informazioni sui prezzi di gateway applicazione, vedere Informazioni sui prezzi per gateway applicazione di Azure e Web application firewall. È anche possibile sfruttare il calcolatore prezzi.

Assicurarsi che le opzioni siano adeguatamente dimensionati per soddisfare la domanda di capacità e offrire prestazioni previste senza sprecare risorse.
Esaminare le risorse sottoutilizzate Identificare ed eliminare istanze di gateway applicazione con pool back-end vuoti per evitare costi non necessari.
Arrestare le istanze di gateway applicazione quando non in uso L'addebito non viene addebitato quando gateway applicazione si trova nello stato arrestato. L'esecuzione continua delle istanze di gateway applicazione può comportare costi estranei. Valutare i modelli di utilizzo e arrestare le istanze quando non sono necessarie. Ad esempio, l'utilizzo dopo l'orario di ufficio negli ambienti di sviluppo/test dovrebbe essere basso.

Per informazioni su come arrestare e avviare le istanze, vedere questi articoli.
- Stop-AzApplicationGateway
- Start-AzApplicationGateway
Disporre di criteri di scalabilità orizzontale e scalabilità orizzontale Un criterio di scalabilità orizzontale garantisce che siano presenti istanze sufficienti per gestire il traffico in ingresso e i picchi. Inoltre, avere un criterio di scalabilità orizzontale che assicura che il numero di istanze venga ridotto quando la domanda diminuisce. Prendere in considerazione la scelta delle dimensioni dell'istanza. Le dimensioni possono influire significativamente sul costo. Alcune considerazioni sono descritte in Stimare il numero di istanze gateway applicazione.

Per altre informazioni, vedere Che cos'è gateway applicazione di Azure v2?
Esaminare le metriche di consumo tra parametri diversi La fatturazione viene eseguita in base alle istanze a consumo di gateway applicazione in base alle metriche rilevate da Azure. Valutare le varie metriche e unità di capacità e determinare i driver di costo. Per altre informazioni, vedere Gestione dei costi e fatturazione Microsoft.

Le metriche seguenti sono fondamentali per gateway applicazione. Queste informazioni possono essere usate per verificare che il numero di istanze di cui è stato effettuato il provisioning corrisponda alla quantità di traffico in ingresso.

- Unità di capacità fatturate stimate
- Unità di capacità fatturabili fisse
- Unità di capacità correnti

Per altre informazioni, vedere gateway applicazione metriche.

Assicurarsi di tenere conto dei costi della larghezza di banda.

Per altri suggerimenti, vedere Principi del pilastro dell'ottimizzazione dei costi.

Azure Advisor consente di garantire e migliorare la continuità delle applicazioni aziendali critiche. Esaminare le raccomandazioni di Azure Advisor.

Eccellenza operativa

Il monitoraggio e la diagnostica sono fondamentali per garantire l'eccellenza operativa delle gateway applicazione e delle applicazioni Web o back-end dietro il gateway. Non solo è possibile misurare le statistiche sulle prestazioni, ma anche usare le metriche per risolvere e risolvere rapidamente i problemi. È consigliabile esaminare i principi di progettazione dell'eccellenza operativa.

Elenco di controllo della progettazione

  • Monitorare le metriche della capacità
  • Abilitare la diagnostica in gateway applicazione e Web application firewall (WAF)
  • Usare Informazioni dettagliate sulla rete di Monitoraggio di Azure
  • Associare le impostazioni di timeout all'applicazione back-end
  • Monitorare i problemi di configurazione di Key Vault con Azure Advisor
  • Configurare e monitorare le limitazioni delle porte SNAT
  • Prendere in considerazione le limitazioni delle porte SNAT nella progettazione

Consigli

Esplorare la tabella seguente di consigli per ottimizzare la configurazione gateway applicazione per l'eccellenza operativa.

Recommendation Vantaggi
Monitorare le metriche della capacità Usare queste metriche come indicatori di utilizzo della capacità di gateway applicazione di cui è stato effettuato il provisioning. È consigliabile configurare avvisi sulla capacità. Per informazioni dettagliate, vedere gateway applicazione supporto per il traffico elevato.
Troubleshoot using metrics (Risolvere i problemi usando le metriche) Esistono altre metriche che possono indicare problemi in gateway applicazione o nel back-end. È consigliabile valutare gli avvisi seguenti:

- Conteggio host non integro
- Stato risposta (dimensione 4xx e 5xx)
- Stato risposta back-end (dimensione 4xx e 5xx)
- Tempo di risposta dell'ultimo byte back-end
- gateway applicazione tempo totale

Per altre informazioni, vedere Metriche per gateway applicazione.
Abilitare la diagnostica in gateway applicazione e Web application firewall (WAF) I log di diagnostica consentono di visualizzare i log del firewall, i log delle prestazioni e i log di accesso. Usare questi log per gestire e risolvere i problemi relativi alle istanze di gateway applicazione. Per altre informazioni, vedere Log di diagnostica e integrità del back-end per il gateway applicazione.
Usare Network Insights di Monitoraggio di Azure Monitoraggio di Azure Network Insights offre una panoramica completa dell'integrità e delle metriche per le risorse di rete, tra cui gateway applicazione. Per informazioni dettagliate aggiuntive e funzionalità supportate per gateway applicazione, vedere Informazioni dettagliate sulla rete di Monitoraggio di Azure.
Corrisponde alle impostazioni di timeout con l'applicazione back-end Assicurarsi di aver configurato le impostazioni IdleTimeout in modo che corrispondano alle caratteristiche del listener e del traffico dell'applicazione back-end. Il valore predefinito è impostato su quattro minuti e può essere configurato su un massimo di 30. Per altre informazioni, vedere Reimpostazione TCP e timeout di inattività di Load Balancer.

Per considerazioni sul carico di lavoro, vedere Monitoraggio dell'integrità dell'applicazione per l'affidabilità.
Monitorare i problemi di configurazione di Key Vault con Azure Advisor gateway applicazione verifica la versione rinnovata del certificato nel Key Vault collegato a ogni intervallo di 4 ore. Se è inaccessibile a causa di una configurazione non corretta Key Vault, registra l'errore e esegue il push di una raccomandazione di Advisor corrispondente. È necessario configurare gli avvisi di Advisor per rimanere aggiornati e risolvere immediatamente tali problemi per evitare eventuali problemi correlati al piano di controllo o dati. Per altre informazioni, vedere Analisi e risoluzione degli errori dell'insieme di credenziali delle chiavi. Per impostare un avviso per questo caso specifico, usare il tipo di raccomandazione come risolvere il problema di Azure Key Vault per il gateway applicazione.
Prendere in considerazione le limitazioni delle porte SNAT nella progettazione Le limitazioni delle porte SNAT sono importanti per le connessioni back-end nel gateway applicazione. Esistono fattori separati che influiscono sul modo in cui gateway applicazione raggiunge il limite di porta SNAT. Ad esempio, se il back-end è un indirizzo IP pubblico, richiederà la propria porta SNAT. Per evitare limitazioni delle porte SNAT, è possibile aumentare il numero di istanze per gateway applicazione, aumentare il numero di istanze per gateway applicazione, aumentare il numero di back-end per avere più indirizzi IP o spostare i back-end nella stessa rete virtuale e usare indirizzi IP privati per i back-end.

Le richieste al secondo (RPS) nella gateway applicazione saranno interessate se viene raggiunto il limite di porta SNAT. Ad esempio, se un gateway applicazione raggiunge il limite di porta SNAT, non sarà in grado di aprire una nuova connessione al back-end e la richiesta avrà esito negativo.

Per altri suggerimenti, vedere Principi del pilastro dell'eccellenza operativa.

Azure Advisor consente di garantire e migliorare la continuità delle applicazioni business critical. Esaminare i consigli di Azure Advisor.

Efficienza delle prestazioni

L'efficienza delle prestazioni è la capacità di ridimensionare il carico di lavoro soddisfare in modo efficiente le richieste poste dagli utenti. È consigliabile esaminare i principi di efficienza delle prestazioni.

Elenco di controllo della progettazione

  • Stimare il numero di istanze di gateway applicazione
  • Definire il numero massimo di istanze
  • Definire il numero minimo di istanze
  • Definire le dimensioni della subnet gateway applicazione
  • Sfruttare gateway applicazione funzionalità V2 per la scalabilità automatica e i vantaggi delle prestazioni

Consigli

Esplorare la tabella seguente di consigli per ottimizzare la configurazione gateway applicazione per l'efficienza delle prestazioni.

Recommendation Vantaggi
Stimare il numero di istanze di gateway applicazione gateway applicazione v2 aumenta in base a molti aspetti, ad esempio CPU, velocità effettiva di rete, connessioni correnti e altro ancora. Per determinare il numero di istanze approssimative, fattore in queste metriche:

Unità di calcolo correnti: indica l'utilizzo della CPU. 1 gateway applicazione istanza è di circa 10 unità di calcolo.
Velocità effettiva: gateway applicazione'istanza può servire circa 500 Mbps di velocità effettiva. Questi dati dipendono dal tipo di payload.

Si consideri questa equazione durante il calcolo dei conteggi delle istanze.
Numero di istanze approssimative

Dopo aver stimato il conteggio delle istanze, confrontare tale valore con il numero massimo di istanze. In questo modo verrà indicato come chiudere la capacità massima disponibile.
Definire il numero minimo di istanze Per gateway applicazione SKU v2, la scalabilità automatica richiede tempo (circa sei-sette minuti) prima che il set aggiuntivo di istanze sia pronto per servire il traffico. Durante questo periodo, se nel traffico sono presenti picchi brevi, aspettarsi una latenza temporanea o una perdita di traffico.

È consigliabile impostare il numero minimo di istanze su un livello ottimale. Dopo aver stimato il conteggio medio delle istanze e determinare le tendenze di scalabilità automatica gateway applicazione, definire il numero minimo di istanze in base ai modelli dell'applicazione. Per informazioni, vedere gateway applicazione supporto per il traffico elevato.

Controllare le unità di calcolo correnti per l'ultimo mese. Questa metrica rappresenta l'utilizzo della CPU del gateway. Per definire il numero minimo di istanze, dividere l'utilizzo massimo per 10. Ad esempio, se le unità di calcolo correnti medie nel mese precedente sono 50, impostare il numero minimo di istanze su cinque.
Definire il numero massimo di istanze È consigliabile 125 come numero massimo di istanze di scalabilità automatica. Assicurarsi che la subnet con l'gateway applicazione disponga di indirizzi IP disponibili sufficienti per supportare il set di istanze di scalabilità.

L'impostazione del numero massimo di istanze su 125 non ha implicazioni sui costi perché viene fatturata solo per la capacità utilizzata.
Definire le dimensioni della subnet gateway applicazione gateway applicazione necessita di una subnet dedicata all'interno di una rete virtuale. La subnet può avere più istanze della risorsa gateway applicazione distribuita. È anche possibile distribuire altre risorse gateway applicazione in tale subnet, v1 o v2 SKU.

Ecco alcune considerazioni per la definizione delle dimensioni della subnet:

- gateway applicazione usa un indirizzo IP privato per istanza e un altro indirizzo IP privato se è configurato un indirizzo IP front-end privato.
- Azure riserva cinque indirizzi IP in ogni subnet per l'uso interno.
- gateway applicazione (SKU Standard o WAF) può supportare fino a 32 istanze. L'uso di 32 indirizzi IP di istanza + 1 IP front-end privato + 5 riservato di Azure, è consigliata una dimensione minima della subnet di /26. Poiché lo SKU Standard_v2 o WAF_v2 può supportare fino a 125 istanze, usando lo stesso calcolo, è consigliabile usare una dimensione della subnet di /24.
- Se si desidera distribuire risorse gateway applicazione aggiuntive nella stessa subnet, prendere in considerazione gli indirizzi IP aggiuntivi necessari per il numero massimo di istanze per entrambi, Standard e Standard v2.
Sfruttare le funzionalità per la scalabilità automatica e i vantaggi delle prestazioni Lo SKU v2 offre funzionalità di scalabilità automatica per garantire che il gateway applicazione possa aumentare le prestazioni in caso di aumento del traffico. Rispetto allo SKU v1, v2 offre funzionalità che migliorano le prestazioni del carico di lavoro. Ad esempio, prestazioni di offload TLS migliori, distribuzione più rapida e tempi di aggiornamento, ridondanza della zona e altro ancora. Per altre informazioni sulla scalabilità automatica delle funzionalità, vedere Ridimensionamento gateway applicazione v2 e WAF v2.

Se si esegue il gateway applicazione SKU v1, è consigliabile eseguire la migrazione allo SKU v2 del gateway applicazione. Per altre informazioni, vedere Eseguire la migrazione di gateway applicazione di Azure e Web application firewall da v1 a v2.

Azure Advisor consente di garantire e migliorare la continuità delle applicazioni business critical. Esaminare i consigli di Azure Advisor.

Raccomandazioni di Azure Advisor

Azure Advisor è un consulente cloud personalizzato che facilita l'applicazione delle procedure consigliate per ottimizzare le distribuzioni di Azure. Ecco alcuni consigli che consentono di migliorare l'affidabilità, la sicurezza, l'efficacia dei costi, le prestazioni e l'eccellenza operativa dei gateway applicazione.

Affidabilità

Risorse aggiuntive

Linee guida del Centro architetture di Azure

Passaggi successivi