Usare Frontdoor di Azure con BLOB di Archiviazione di Azure

Frontdoor di Azure accelera la distribuzione di contenuto statico dai BLOB di Archiviazione di Azure e consente un'architettura sicura e scalabile. La distribuzione di contenuti statici è utile per molti casi d'uso diversi, tra cui hosting di siti Web e recapito di file.

Architettura

Diagram of Azure Front Door with a blob storage origin.

In questa architettura di riferimento si distribuiscono un account di archiviazione e un profilo Frontdoor con un'unica origine.

Flusso di dati

Il flusso dei dati nello scenario avviene come segue:

  1. Il client stabilisce una connessione sicura a Frontdoor di Azure usando un nome di dominio personalizzato e un certificato TLS fornito da Frontdoor. La connessione del client termina in corrispondenza di un punto di presenza (PoP) di Frontdoor nelle vicinanze.
  2. Frontdoor Web application firewall (WAF) analizza la richiesta. Se waf determina che il livello di rischio della richiesta è troppo elevato, blocca la richiesta e Frontdoor restituisce una risposta di errore HTTP 403.
  3. Se la cache poP di Frontdoor contiene una risposta valida per questa richiesta, Frontdoor restituisce immediatamente la risposta.
  4. In caso contrario, il poP invia la richiesta all'account di archiviazione di origine, ovunque si trovi nel mondo, usando la rete backbone di Microsoft. Il poP si connette all'account di archiviazione usando una connessione TCP separata di lunga durata. In questo scenario, collegamento privato viene usato per connettersi in modo sicuro all'account di archiviazione.
  5. L'account di archiviazione invia una risposta al poP frontdoor.
  6. Quando il poP riceve la risposta, lo archivia nella cache per le richieste successive.
  7. Il poP restituisce la risposta al client.
  8. Tutte le richieste direttamente all'account di archiviazione tramite Internet vengono bloccate dal firewall Archiviazione di Azure.

Componenti

  • Archiviazione di Azure archivia il contenuto statico nei BLOB.
  • Frontdoor di Azure riceve connessioni in ingresso dai client, li analizza con WAF, inoltra in modo sicuro la richiesta all'account di archiviazione e memorizza nella cache le risposte.

Alternative

Se si dispone di file statici in un altro provider di archiviazione cloud o se si ospita contenuto statico nell'infrastruttura di cui si è proprietari e gestiti, gran parte di questo scenario continua a essere applicata. Tuttavia, è necessario considerare come proteggere il traffico in ingresso verso il server di origine, per verificare che provenga da Frontdoor.Ever, you need to consider how you protect the incoming traffic to your origin server, to verify that it through Frontdoor. Se il provider di archiviazione non supporta collegamento privato, prendere in considerazione l'uso di un approccio alternativo, ad esempio l'inserimento nell'elenco dei tag del servizio Frontdoor e l'ispezione dell'intestazioneX-Azure-FDID.

Dettagli dello scenario

La distribuzione di contenuti statici è utile in molte situazioni, ad esempio:

  • Distribuzione di immagini, file CSS e file JavaScript per un'applicazione Web.
  • Gestione di file e documenti, ad esempio file PDF o file JSON.
  • Distribuzione di video nonstreaming.

Per natura, il contenuto statico non cambia frequentemente. I file statici potrebbero anche essere di grandi dimensioni. Queste caratteristiche lo rendono un buon candidato da memorizzare nella cache, che migliora le prestazioni e riduce il costo per gestire le richieste.

In uno scenario complesso, un singolo profilo frontdoor potrebbe fornire contenuto statico e contenuto dinamico. È possibile usare gruppi di origine separati per ogni tipo di origine e usare le funzionalità di routing di Frontdoor per instradare le richieste in ingresso all'origine corretta.

Considerazioni

Scalabilità e prestazioni

Come rete per la distribuzione di contenuti (rete CDN), Frontdoor memorizza nella cache il contenuto nella rete distribuita a livello globale di pop. Quando una copia memorizzata nella cache di una risposta è disponibile in un poP, Frontdoor può rispondere rapidamente con la risposta memorizzata nella cache. La restituzione di contenuto dalla cache migliora le prestazioni della soluzione e riduce il carico sull'origine. Se il poP non ha una risposta memorizzata nella cache valida, le funzionalità di accelerazione del traffico di Frontdoor riducono il tempo necessario per gestire il contenuto dall'origine.

Sicurezza

Autenticazione

Frontdoor è progettato per essere con connessione Internet e questo scenario è ottimizzato per i BLOB disponibili pubblicamente. Se è necessario autenticare l'accesso ai BLOB, è consigliabile usare le firme di accesso condiviso e assicurarsi di abilitare il comportamento della stringa di query Usa stringa di query per evitare che Frontdoor gestisca le richieste ai client non autenticati. Tuttavia, questo approccio potrebbe non usare in modo efficace la cache di Frontdoor, perché ogni richiesta con una firma di accesso condiviso diversa deve essere inviata separatamente all'origine.

Sicurezza dell'origine

Frontdoor si connette in modo sicuro all'account Archiviazione di Azure usando collegamento privato. L'account di archiviazione è configurato per negare l'accesso diretto da Internet e consentire solo le richieste tramite la connessione all'endpoint privato usata da Frontdoor. Questa configurazione garantisce che ogni richiesta venga elaborata da Frontdoor ed eviti di esporre il contenuto dell'account di archiviazione direttamente a Internet. Tuttavia, questa configurazione richiede il livello Premium di Frontdoor di Azure. Se si usa il livello Standard, l'account di archiviazione deve essere accessibile pubblicamente. È possibile usare una firma di accesso condiviso per proteggere le richieste all'account di archiviazione e chiedere al client di includere la firma in tutte le richieste oppure usare il motore regole di Frontdoor per collegarlo da Frontdoor.

Nomi di dominio personalizzati

Frontdoor supporta i nomi di dominio personalizzati e può rilasciare e gestire i certificati TLS per tali domini. Usando domini personalizzati, è possibile assicurarsi che i client ricevano file da un nome di dominio attendibile e familiare e che TLS crittografi ogni connessione a Frontdoor. Quando Frontdoor gestisce i certificati TLS, si evitano interruzioni e problemi di sicurezza a causa di certificati TLS non validi o obsoleti.

Archiviazione di Azure supporta anche i nomi di dominio personalizzati, ma non supporta HTTPS quando si usa un dominio personalizzato. Frontdoor è l'approccio migliore per usare un nome di dominio personalizzato con un account di archiviazione.

Web application firewall

I set di regole gestite di Frontdoor WAF analizzano le richieste di minacce alla sicurezza comuni ed emergenti. È consigliabile usare WAF e regole gestite per applicazioni statiche e dinamiche.

È anche possibile usare frontdoor WAF per eseguire la limitazione della frequenza e il filtro geografico se sono necessarie tali funzionalità.

Resilienza

Frontdoor è un servizio a disponibilità elevata e, a causa dell'architettura distribuita a livello globale, è resiliente agli errori di singole aree e pop di Azure.

Usando la cache di Frontdoor, si riduce il carico sull'account di archiviazione. Inoltre, se l'account di archiviazione non è disponibile, Frontdoor potrebbe continuare a gestire le risposte memorizzate nella cache fino a quando l'applicazione non viene ripristinata.

È possibile migliorare ulteriormente la resilienza della soluzione complessiva considerando la resilienza dell'account di archiviazione. Per altre informazioni, vedere Ridondanza di Archiviazione di Azure. In alternativa, è possibile distribuire più account di archiviazione e configurare più origini nel gruppo di origine frontdoor e configurare il failover tra le origini configurando la priorità di ogni origine. Per altre informazioni, vedere Origini e gruppi di origine in Frontdoor di Azure.

Ottimizzazione dei costi

La memorizzazione nella cache consente di ridurre il costo della distribuzione di contenuto statico. I POP di Frontdoor archiviano le copie delle risposte e possono recapitare queste risposte memorizzate nella cache per eventuali richieste successive. La memorizzazione nella cache riduce il carico della richiesta sull'origine. Nelle soluzioni statiche basate su contenuto a scalabilità elevata, in particolare quelle che offrono file di grandi dimensioni, la memorizzazione nella cache può ridurre notevolmente i costi del traffico.

Per usare collegamento privato in questa soluzione, è necessario distribuire il livello Premium di Frontdoor. È possibile usare il livello standard se non è necessario bloccare il traffico che passa direttamente all'account di archiviazione. Per altre informazioni, vedere Sicurezza dell'origine.

Distribuire lo scenario

Per distribuire questo scenario usando modelli di Azure Resource Manager Bicep o JSON, vedere questa guida introduttiva.

Per distribuire questo scenario usando Terraform, vedere questa guida introduttiva.

Passaggi successivi

Informazioni su come creare un profilo frontdoor.