Revisione di Azure Well-Architected Framework - App Azure lication Gateway v2

Questo articolo illustra le procedure consigliate per l'architettura per la famiglia di SKU app Azure lication Gateway v2. Le linee guida si basano sui cinque pilastri dell'eccellenza architetturale:

Si supponga di avere una conoscenza funzionante di app Azure lication Gateway e che siano ben esperti con le funzionalità dello SKU v2. Per altre informazioni, vedere funzionalità del gateway di app 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 effettuano scelte di progettazione per gateway applicazione, esaminare i principi di progettazione dell'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 app Azure lication Gateway v2, a meno che non esista un motivo interessante per usare app Azure lication Gateway v1.
  • Pianificare gli aggiornamenti delle regole
  • Usare i probe di integrità per rilevare l'indisponibilità del back-end
  • Esaminare l'impatto delle impostazioni di intervallo e soglia nei probe di integrità
  • Verificare le dipendenze downstream tramite gli endpoint di integrità

Consigli

Esplorare la tabella di raccomandazioni seguente per ottimizzare la configurazione di gateway applicazione per l'affidabilità.

Elemento consigliato Vantaggio
Pianificare gli aggiornamenti delle regole Pianificare tempo sufficiente per gli aggiornamenti prima di accedere gateway applicazione o apportare ulteriori modifiche. Ad esempio, la rimozione di server dal pool back-end potrebbe richiedere del tempo perché devono svuotare le connessioni esistenti.
Usare i probe di integrità per rilevare l'indisponibilità del back-end Se gateway applicazione viene usato per bilanciare il carico del traffico in ingresso su più istanze back-end, è consigliabile usare probe di integrità. In questo modo si garantisce che il traffico non venga 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 comporta un carico maggiore sul servizio. Ogni istanza di gateway applicazione invia probe di integrità propri, quindi 100 istanze ogni 30 secondi indica 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 bassa non integra potrebbe indicare che gli errori temporanei brevi potrebbero arrestare un back-end.
- L'impostazione di una soglia elevata può richiedere più tempo per uscire dalla rotazione di un back-end.
Verificare le dipendenze downstream tramite gli endpoint di integrità Si supponga che ogni back-end abbia dipendenze proprie per garantire 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 una dipendenza di questo tipo ha esito negativo, l'applicazione potrebbe funzionare ma non restituirà risultati validi. Per questo motivo, l'endpoint di integrità deve idealmente convalidare tutte le dipendenze. Tenere presente che se ogni chiamata all'endpoint di integrità ha una chiamata di dipendenza diretta, tale 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 specificamente su gateway applicazione. Ad esempio, se sono necessarie regole ModSec CRS 2.2.9, sono necessarie regole 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 critiche per l'azienda. Esaminare le raccomandazioni di Azure Advisor.

Sicurezza

La sicurezza è uno degli aspetti essenziali di qualsiasi architettura. gateway applicazione fornisce funzionalità per usare sia il principio dei privilegi minimi che la difesa in difesa. È consigliabile esaminare i principi di progettazione della sicurezza.

Elenco di controllo della progettazione

  • Configurare criteri TLS per la sicurezza avanzata
  • Usare AppGateway per la terminazione TLS
  • Usare Azure Key Vault per archiviare i certificati TLS
  • Quando si ricrittografa il traffico back-end, assicurarsi che il certificato del server back-end contenga le autorità di certificazione radice e intermedia
  • 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 di usare route definite dall'utente nella subnet gateway applicazione
  • Tenere presente gateway applicazione modifiche alla capacità durante l'abilitazione di WAF

Consigli

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

Elemento consigliato Vantaggio
Configurare criteri TLS per la sicurezza avanzata Configurare un criterio TLS per una maggiore sicurezza. Assicurarsi di usare sempre la versione più recente dei criteri TLS disponibile. per imporre l'uso di TLS 1.2 e crittografie più complesse.
Usare AppGateway per la terminazione TLS L'uso di gateway applicazione per la terminazione TLS offre vantaggi:

- Le prestazioni migliorano perché le richieste che passano a back-end diversi devono eseguire di nuovo l'autenticazione a ogni back-end.
- Migliore utilizzo dei server back-end perché non è necessario 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 può essere integrato con Key Vault. Ciò garantisce 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 ricrittografa il traffico back-end, assicurarsi che il certificato del server back-end contenga le autorità di certificazione radice e intermedia Un certificato TLS del server back-end deve essere rilasciato da una CA nota. Se il certificato non è stato emesso da una CA attendibile, il gateway applicazione verifica se il certificato è stato emesso da una CA attendibile e così via, fino a quando non viene trovato un certificato 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 FQDN 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 predefinito fornito da Azure.
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 sono vietate. Assicurarsi di comprendere le implicazioni di tali restrizioni. Per informazioni dettagliate, vedere Gruppi di sicurezza di rete.
Evitare di usare 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 log e metriche potrebbero non essere generati. È consigliabile non usare 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 all'arrivo completo, verifica se la richiesta corrisponde a qualsiasi violazione di regola nel set di regole di base e quindi inoltra il pacchetto alle istanze back-end. Quando sono presenti caricamenti di file di grandi dimensioni (30 MB+ di dimensioni), 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 critiche per l'azienda. 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 delle raccomandazioni per ottimizzare la configurazione di gateway applicazione per l'ottimizzazione dei costi.

Elemento consigliato Vantaggio
Acquisire familiarità con i prezzi di gateway applicazione Per informazioni sui prezzi di gateway applicazione, vedere Informazioni sui prezzi per il gateway di app Azure lication e web application firewall. È anche possibile sfruttare il calcolatore prezzi.

Assicurarsi che le opzioni siano adeguatamente ridimensionate per soddisfare la domanda di capacità e offrire prestazioni previste senza sprecare risorse.
Esaminare le risorse sottoutilizzate Identificare ed eliminare gateway applicazione istanze con pool back-end vuoti per evitare costi non necessari.
Arrestare gateway applicazione istanze quando non in uso Non viene addebitato alcun addebito quando gateway applicazione è nello stato arrestato. L'esecuzione continua di 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 lavorativo negli ambienti di sviluppo/test dovrebbe essere basso.

Vedere questi articoli per informazioni su come arrestare e avviare le istanze.
- Stop-AzApplicationGateway
- Start-AzApplicationGateway
Disporre di criteri di scalabilità orizzontale e scalabilità orizzontale Un criterio di scalabilità orizzontale garantisce che ci saranno istanze sufficienti per gestire il traffico in ingresso e i picchi. Sono inoltre disponibili criteri di scalabilità orizzontale che assicurano che il numero di istanze venga ridotto quando la domanda scende. 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'è app Azure lication Gateway 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 dei costi. Per altre informazioni, vedere Gestione dei costi e fatturazione Microsoft.

Le metriche seguenti sono chiave 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 di ottimizzazione dei costi.

Azure Advisor consente di garantire e migliorare la continuità delle applicazioni critiche per l'azienda. Esaminare le raccomandazioni di Azure Advisor.

Eccellenza operativa

Il monitoraggio e la diagnostica sono fondamentali per garantire l'eccellenza operativa dei gateway applicazione e delle applicazioni Web o back-end dietro il gateway. Non solo è possibile misurare le statistiche sulle prestazioni, ma usare anche 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 raccomandazioni per ottimizzare la configurazione gateway applicazione per l'eccellenza operativa.

Elemento consigliato Vantaggio
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 del 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 Informazioni dettagliate sulla rete di Monitoraggio di Azure Informazioni dettagliate sulla rete di Monitoraggio di Azure offre una visualizzazione completa dell'integrità e delle metriche per le risorse di rete, tra cui gateway applicazione. Per altri dettagli e funzionalità supportate per gateway applicazione, vedere Informazioni dettagliate sulla rete di Monitoraggio di Azure.
Associare le impostazioni di timeout all'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à delle applicazioni per l'affidabilità.
Monitorare i problemi di configurazione di Key Vault con Azure Advisor gateway applicazione controlla la versione del certificato rinnovata nell'insieme di credenziali delle chiavi collegato a ogni intervallo di 4 ore. Se non è accessibile a causa di una configurazione errata di Key Vault, registra l'errore ed 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 dati o al controllo. 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 distinti che influiscono sul modo in cui gateway applicazione raggiunge il limite di porte 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 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) sul gateway applicazione verranno interessate se viene raggiunto il limite di porte SNAT. Ad esempio, se un gateway applicazione raggiunge il limite di porte 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 critiche per l'azienda. Esaminare le raccomandazioni di Azure Advisor.

Efficienza prestazionale

L'efficienza delle prestazioni è la capacità di dimensionare il carico di lavoro per 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 gateway applicazione
  • Definire il numero massimo di istanze
  • Definire il numero minimo di istanze
  • Definire le dimensioni della subnet gateway applicazione
  • Sfruttare le funzionalità gateway applicazione V2 per la scalabilità automatica e i vantaggi delle prestazioni

Consigli

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

Elemento consigliato Vantaggio
Stimare il numero di istanze gateway applicazione gateway applicazione v2 aumenta il numero di istanze in base a molti aspetti, ad esempio CPU, velocità effettiva di rete, connessioni correnti e altro ancora. Per determinare il numero approssimativo di istanze, tenere conto di 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 quando si calcolano i conteggi delle istanze.
Conteggio delle istanze approssimative

Dopo aver stimato il numero di istanze, confrontarlo con il numero massimo di istanze. In questo modo verrà indicato quanto si è vicini alla 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 gestire il traffico. Durante questo periodo, se sono presenti brevi picchi di traffico, aspettarsi una latenza temporanea o una perdita di traffico.

È consigliabile impostare il numero minimo di istanze su un livello ottimale. Dopo aver stimato il numero medio di istanze e determinato 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 del 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 la media delle unità di calcolo correnti nell'ultimo mese è 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 il gateway applicazione disponga di indirizzi IP disponibili sufficienti per supportare il set di istanze di scalabilità orizzontale.

L'impostazione del numero massimo di istanze su 125 non ha implicazioni sui costi perché vengono fatturate solo per la capacità utilizzata.
Definire le dimensioni della subnet gateway applicazione gateway applicazione richiede 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, sku v1 o v2.

Ecco alcune considerazioni per la definizione delle dimensioni della subnet:

- gateway applicazione usa un indirizzo IP privato per ogni 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. Se si accettano 32 indirizzi IP di istanza + 1 ip front-end privato + 5 riservati di Azure, è consigliabile usare una dimensione minima della subnet pari a /26. Poiché lo SKU Standard_v2 o WAF_v2 può supportare fino a 125 istanze, usando lo stesso calcolo, è consigliabile usare la stessa dimensione della subnet /24.
- Se si vogliono distribuire risorse aggiuntive gateway applicazione nella stessa subnet, prendere in considerazione gli indirizzi IP aggiuntivi che saranno necessari per il numero massimo di istanze per entrambi, Standard e Standard v2.
Sfruttare i vantaggi delle 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, tempi di distribuzione e aggiornamento più rapidi, ridondanza della zona e altro ancora. Per altre informazioni sulle funzionalità di scalabilità automatica, 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 maggiori informazioni, vedere Eseguire la migrazione del gateway applicazione di Azure e del web application firewall da v1 a v2.

Azure Advisor consente di garantire e migliorare la continuità delle applicazioni critiche per l'azienda. Esaminare le raccomandazioni di Azure Advisor.

Consigli di Azure Advisor

Azure Advisor è un consulente cloud personalizzato che facilita l'applicazione delle procedure consigliate per ottimizzare le distribuzioni di Azure. Ecco alcune raccomandazioni 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