Accelerare e proteggere l'applicazione Web con Frontdoor di Azure
Frontdoor di Azure è una rete per la distribuzione di contenuti distribuita a livello globale (CDN) che offre una latenza inferiore e una distribuzione più rapida dell'applicazione Web e del contenuto. Frontdoor consente inoltre di rendere disponibile il contenuto con i livelli più elevati di resilienza e offre un'ampia gamma di funzionalità, tra cui un servizio di bilanciamento del carico avanzato delle applicazioni, l'accelerazione del traffico e la sicurezza.
Valutare la possibilità di distribuire Frontdoor davanti a qualsiasi applicazione Web con connessione pubblica.
Soluzioni ben architettate in Azure
Azure Well-Architected Framework descrive cinque pilastri dell'eccellenza architetturale. Frontdoor di Azure consente di affrontare ognuno dei cinque pilastri usando le funzionalità e le funzionalità predefinite.
Efficienza prestazionale
Frontdoor offre diverse funzionalità che consentono di accelerare le prestazioni dell'applicazione.
- Memorizzazione nella cache: Frontdoor offre una potente rete per la distribuzione di contenuti (RETE CDN) per memorizzare nella cache il contenuto nella rete perimetrale. Quasi tutte le applicazioni Web contengono contenuto memorizzabile nella cache. Gli asset statici, ad esempio immagini e file JavaScript, sono memorizzabili nella cache. Molte API restituiscono anche risposte che possono essere memorizzate nella cache, anche per un breve periodo di tempo. La memorizzazione nella cache consente di migliorare le prestazioni dell'applicazione e di ridurre il carico nei server applicazioni.
- Compressione: è possibile comprimere molti tipi di risposta, che possono migliorare il tempo di risposta dell'applicazione.
- Accelerazione globale del traffico: le funzionalità globali di accelerazione del traffico di Frontdoor consentono di migliorare le prestazioni delle applicazioni Web dinamiche instradando le richieste tramite la rete backbone a velocità elevata di Microsoft.
- Terminazione TLS: le connessioni a Frontdoor terminano nel punto di presenza di Frontdoor più vicino (PoP). La decrittografia TLS viene eseguita dal poP. Le prestazioni più elevate quando si esegue la decrittografia TLS sono l'handshake iniziale. Per migliorare le prestazioni, il server che esegue la decrittografia memorizza nella cache gli ID di sessione TLS e gestisce i ticket della sessione TLS. Se le connessioni TLS vengono terminate in Frontdoor PoP, tutte le richieste provenienti dallo stesso client possono usare i valori memorizzati nella cache. Se viene eseguita nei server di origine, ogni volta che le richieste del client passano a un server diverso, il client deve ripetere l'autenticazione. L'uso di ticket TLS può aiutare a mitigare questo problema, ma non sono supportati da tutti i client e possono essere difficili da configurare e gestire.
Sicurezza
Le funzionalità di sicurezza di Frontdoor consentono di proteggere i server applicazioni da diversi tipi di minacce.
- TLS end-to-end: Frontdoor supporta la crittografia TLS end-to-end. L'offload TLS/SSL di Frontdoor termina la connessione TLS, decrittografa il traffico nella frontdoor di Azure e crittografa nuovamente il traffico prima di inoltrarlo al back-end.
- Certificati TLS gestiti: Frontdoor può rilasciare e gestire i certificati, assicurandosi che le applicazioni siano protette da crittografia avanzata e attendibilità.
- Certificati TLS personalizzati: se è necessario portare i propri certificati TLS, Frontdoor consente di usare un'identità gestita per accedere all'insieme di credenziali delle chiavi che contiene il certificato.
- Web application firewall: Il web application firewall (WAF) di Frontdoor offre una gamma di funzionalità di sicurezza per l'applicazione. I set di regole gestite analizzano le richieste in ingresso per individuare contenuti sospetti. Le regole di protezione dei bot identificano e rispondono al traffico dai bot. Le funzionalità di filtro geografico e limitazione della frequenza proteggono i server applicazioni dal traffico imprevisto.
- Blocco del protocollo: Frontdoor accetta solo il traffico sui protocolli HTTP e HTTPS ed elabora solo richieste valide con un'intestazione nota
Host
. A causa di questo comportamento, l'applicazione è protetta da molti tipi di attacchi in un'ampia gamma di protocolli. - Protezione DDoS: a causa dell'architettura di Frontdoor, può anche assorbire attacchi DDoS (Distributed Denial of Service) di grandi dimensioni e impedire al traffico di raggiungere l'applicazione.
- collegamento privato origini: collegamento privato'integrazione consente di proteggere le applicazioni back-end, assicurandosi che il traffico possa raggiungere l'applicazione solo passando frontdoor e le relative protezioni di sicurezza.
Quando si hanno requisiti di sicurezza di rete rigorosi, è possibile usare Frontdoor di Azure per gestire il traffico HTTP e HTTPS in ingresso all'applicazione e usare Firewall di Azure per controllare il traffico non HTTP e in uscita.
Affidabilità
Con Frontdoor è possibile creare soluzioni resilienti e a disponibilità elevata.
- Bilanciamento del carico e failover: Frontdoor è un servizio di bilanciamento del carico globale. Frontdoor monitora l'integrità dei server di origine e, se un'origine non è più disponibile, Frontdoor può instradare le richieste a un'origine alternativa. È anche possibile usare Frontdoor per distribuire il traffico tra le origini per ridurre il carico in qualsiasi server di origine.
- Routing Anycast: Frontdoor ha un numero elevato di pop, ognuno dei quali può gestire il traffico per qualsiasi richiesta. Il routing anycast indirizza il traffico verso il poP di Frontdoor più vicino disponibile e, se un poP non è disponibile, i client vengono indirizzati automaticamente al poP più vicino successivo.
- Memorizzazione nella cache: usando la cache di Frontdoor, si riduce il carico nei server applicazioni. Se i server non sono disponibili, Frontdoor potrebbe essere in grado di continuare a gestire le risposte memorizzate nella cache fino al ripristino dell'applicazione.
Ottimizzazione dei costi
Frontdoor consente di ridurre i costi di esecuzione della soluzione Azure.
- Memorizzazione nella cache: abilitando la memorizzazione nella cache, il contenuto viene restituito dai nodi perimetrali frontdoor globali. Questo approccio riduce i costi di larghezza di banda globali e migliora le prestazioni.
- Compressione: quando Frontdoor comprime le risposte, può ridurre i costi di larghezza di banda per la soluzione.
- Distribuire il traffico tra le origini: usare Frontdoor per ridurre la necessità di ridimensionare i server applicazioni o effettuare l'overprovisioning della capacità dei server per i picchi di traffico. Ogni PoP di Frontdoor può restituire contenuto memorizzato nella cache, se disponibile, riducendo così il carico nei server applicazioni. È anche possibile distribuire il traffico tra più server back-end, riducendo il carico su ogni singolo server.
- Profilo condiviso: è possibile usare un singolo profilo Frontdoor per molte applicazioni diverse. Quando si configurano più applicazioni in Frontdoor, si condivide il costo in ogni applicazione ed è possibile ridurre la configurazione da eseguire.
Eccellenza operativa
Frontdoor consente di ridurre il carico operativo dell'esecuzione di un'applicazione Internet moderna e di apportare alcuni tipi di modifiche alla soluzione senza modificare le applicazioni.
- Certificati TLS gestiti: Frontdoor può rilasciare e gestire i certificati. Questa funzionalità significa che non è necessario gestire i rinnovi dei certificati e ridurre la probabilità di un'interruzione causata dall'uso di un certificato TLS non valido o scaduto.
- Certificati TLS con caratteri jolly: il supporto di Frontdoor per i domini con caratteri jolly, inclusi i certificati DNS e TLS, consente di usare più nomi host senza riconfigurare Frontdoor per ogni sottodominio.
- HTTP/2: Frontdoor consente di modernizzare le applicazioni legacy con supporto HTTP/2 senza modificare i server applicazioni.
- Motore regole: il motore regole di Frontdoor consente di modificare l'architettura interna della soluzione senza influire sui client.
- Infrastruttura come codice: è anche possibile distribuire e configurare Frontdoor usando tecnologie IaC (Infrastructure as Code), tra cui Bicep, Terraform, modelli arm, Azure PowerShell e l'interfaccia della riga di comando di Azure.
Architettura della soluzione
Quando si distribuisce una soluzione che usa Frontdoor di Azure, è consigliabile prendere in considerazione il flusso del traffico dal client a Frontdoor e da Frontdoor alle origini.
Il diagramma seguente illustra un'architettura di soluzione generica con Frontdoor:
Da client a Frontdoor
Il traffico proveniente dal client arriva prima a un poP frontdoor. Frontdoor ha un numero elevato di poP distribuiti in tutto il mondo e Anycast instrada i client al poP più vicino.
Quando la richiesta viene ricevuta dal poP di Frontdoor, Frontdoor usa il nome di dominio personalizzato per gestire la richiesta. Frontdoor esegue l'offload TLS usando un certificato TLS gestito da Frontdoor o un certificato TLS personalizzato.
Il poP esegue molte funzioni in base alla configurazione specificata nel profilo frontdoor, tra cui:
- Protezione della soluzione da molti tipi di attacchi DDoS.
- Analisi della richiesta per individuare le vulnerabilità note usando frontdoor WAF.
- Restituzione di risposte memorizzate nella cache per migliorare le prestazioni, se sono archiviate in Frontdoor PoP e sono valide per la richiesta.
- Compressione delle risposte per migliorare le prestazioni.
- Restituzione di risposte di reindirizzamento HTTP direttamente da Frontdoor.
- Selezione dell'origine migliore per ricevere il traffico in base all'architettura di routing.
- Modifica di una richiesta tramite il motore regole.
Al termine dell'elaborazione della richiesta in ingresso, Frontdoor risponde direttamente al client (ad esempio, quando restituisce un risultato memorizzato nella cache) o inoltra la richiesta all'origine.
Frontdoor all'origine
Frontdoor può inviare il traffico all'origine in due modi diversi: usando collegamento privato e usando indirizzi IP pubblici.
Lo SKU Premium di Frontdoor supporta l'invio di traffico ad alcuni tipi di origine tramite collegamento privato. Quando si configura collegamento privato per l'origine, il traffico usa indirizzi IP privati. Questo approccio può essere usato per garantire che l'origine accetti solo il traffico proveniente dall'istanza di Frontdoor specifica ed è possibile bloccare il traffico proveniente da Internet.
Quando Frontdoor PoP invia richieste all'origine usando un indirizzo IP pubblico, avvia una nuova connessione TCP. A causa di questo comportamento, il server di origine vede la richiesta proveniente dall'indirizzo IP di Frontdoor anziché dal client.
Indipendentemente dall'approccio usato per inviare traffico all'origine, in genere è consigliabile configurare l'origine per prevedere il traffico dal profilo frontdoor e bloccare il traffico che non passa attraverso Frontdoor. Per altre informazioni, vedere Proteggere il traffico verso le origini di Frontdoor di Azure.
Elaborazione della risposta
Il poP di Frontdoor elabora anche la risposta in uscita. L'elaborazione delle risposte può includere i passaggi seguenti:
- Salvataggio di una risposta alla cache poP per accelerare le richieste successive.
- Modifica di un'intestazione di risposta tramite il motore regole.
Analisi e report
Poiché Frontdoor elabora tutte le richieste in ingresso, ha visibilità di tutto il traffico che scorre attraverso la soluzione. È possibile usare i report, le metriche e i log di Frontdoor per comprendere i modelli di traffico.
Suggerimento
Quando si usa Frontdoor, alcune richieste potrebbero non essere elaborate dal server di origine. Ad esempio, il WAF di Frontdoor potrebbe bloccare alcune richieste e potrebbe restituire risposte memorizzate nella cache per altre richieste. Usare i dati di telemetria di Frontdoor per comprendere i modelli di traffico della soluzione.
Passaggi successivi
Informazioni su come creare un profilo frontdoor.