Best practice per l'importazione dei contenuti

Questa pagina fornisce le best practice per ottimizzare e accelerare la distribuzione dei contenuti con Cloud CDN. Le sezioni sono suddivise in diverse aree chiave.

Cloud CDN utilizza un bilanciatore del carico delle applicazioni esterno come origine per i contenuti memorizzabili nella cache. Un bilanciatore del carico delle applicazioni esterno può fornire agli utenti una combinazione di contenuti statici e dinamici creati tramite un unico indirizzo IP globale dai seguenti tipi di backend:

Grazie alla perfetta integrazione con Google Cloud, hai a disposizione diverse opzioni per il deployment di Cloud CDN e la gestione dei contenuti. Utilizza le best practice elencate qui per pianificare e perfezionare il deployment. Per saperne di più, consulta Configurare Cloud CDN.

Ottimizzare la percentuale successi cache

Le seguenti pratiche consigliate consentono di ottimizzare la percentuale successi cache.

Memorizza contenuto statico nella cache

Come best practice per migliorare le prestazioni, quando abiliti Cloud CDN, devi scegliere la modalità cache giusta per la tua applicazione.

Il metodo più flessibile e generalmente preferito per gestire le regole di cache è utilizzare l'intestazione di controllo cache. Se non hai familiarità con l'utilizzo delle intestazioni cache-control dell'origine, il consiglio di best practice è consentire a Cloud CDN di memorizzare automaticamente nella cache i contenuti statici.

Per memorizzare automaticamente nella cache le risposte statiche provenienti dalla tua origine, puoi utilizzare l'impostazione --cache-mode=CACHE_ALL_STATIC (impostazione predefinita). Questa impostazione consente a Cloud CDN di memorizzare nella cache i tipi di contenuti statici comuni quando l'origine non specifica istruzioni di memorizzazione nella cache nelle intestazioni della risposta. Assicurati che i tuoi contenuti corrispondano alle categorie descritte, altrimenti i contenuti non vengono memorizzati nella cache.

Non memorizzare nella cache contenuti specifici dell'utente

In alcuni casi, i browser possono memorizzare nella cache contenuti specifici dell'utente. Non utilizzare Cloud CDN per memorizzare nella cache contenuti specifici dell'utente.

Usa chiavi cache personalizzate per migliorare percentuale successi cache

Per ottenere prestazioni e scalabilità, è importante ottimizzare il percentuale successi cache. Per impostazione predefinita, Cloud CDN utilizza l'URL della richiesta completo per creare la chiave cache. Per ottimizzare il rapporto di successi della cache, puoi utilizzare chiavi cache personalizzate in modo che Cloud CDN non esegua shard inutilmente della cache.

Archivio di coppie chiave-valore Cloud CDN (fai clic per ingrandire).

Le chiavi cache personalizzate consentono di includere o omettere qualsiasi combinazione di protocollo, host e stringa di query. Di seguito sono riportati alcuni esempi di quando è possibile utilizzare chiavi di cache personalizzate:

  • Hai due host che si risolvono nello stesso indirizzo IP e passano allo stesso servizio. In questo esempio, l'intero sito web è uguale sui due host. Per impostazione predefinita, Cloud CDN memorizza nella cache due copie a causa della diversa intestazione Host: nelle richieste HTTP. Con una chiave cache personalizzata, puoi fare in modo che Cloud CDN ignori la parte host della richiesta e condivida le voci della cache.

  • In un esempio più specifico, potresti avere due siti web su domini diversi che utilizzano lo stesso logo. I contenuti del sito web sono diversi, ma utilizzi lo stesso logo aziendale su entrambi i domini e disponi di un servizio di backend dedicato che include contenuti condivisi. Quando abiliti Cloud CDN e personalizzi le chiavi cache per il servizio di backend che contiene il logo, deseleziona la casella di controllo Host in modo che la cache ignori il dominio ma memorizzi il logo nella cache.

  • Deve essere memorizzato nella cache un logo visualizzato tramite HTTP o HTTPS. Quando personalizzi le chiavi cache per il servizio di backend che contiene il logo, deseleziona la casella di controllo Protocollo in modo che le richieste tramite HTTP e HTTPS vengano conteggiate come corrispondenze per la voce di cache del logo.

Per informazioni su come personalizzare le chiavi cache, consulta Utilizzo delle chiavi cache.

Ottimizzazione del rendimento

Le seguenti pratiche consigliate consentono di ottimizzare le prestazioni.

Assicurati che il supporto dei protocolli HTTP/3 e QUIC sia abilitato

HTTP/3 è un protocollo internet di nuova generazione. Si basa su QUIC, un protocollo sviluppato a partire dal protocollo originale Google QUIC ) (gQUIC). HTTP/3 supportato tra il bilanciatore del carico HTTP(S) esterno, Cloud CDN e i client.

Per aumentare le prestazioni con Cloud CDN, assicurati che HTTP/3 sia abilitato.

Utilizzo della memorizzazione negativa nella cache

La memorizzazione nella cache negativa fornisce un controllo granulare sulla memorizzazione nella cache per errori o reindirizzamenti comuni. Quando Cloud CDN rileva codici di risposta specifici, conserva la risposta nella cache per un TTL impostato. Ciò può ridurre il carico sulle origini e migliorare l'esperienza dell'utente finale riducendo la latenza di risposta.

Ottimizzare la sicurezza

Le seguenti pratiche consigliate aiutano a ottimizzare la sicurezza.

Utilizza Google Cloud Armor

Google Cloud Armor si integra con Cloud CDN per i contenuti sia memorizzati nella cache che non memorizzati nella cache o mancanti nella cache. Un consiglio delle best practice consiste nell'utilizzare Google Cloud Armor insieme a Cloud CDN ove possibile per aumentare la sicurezza delle applicazioni web.

Utilizza URL firmati

Se utilizzi URL firmati, tieni presente quanto segue:

Autentica le origini private

L'autenticazione dell'origine offre una solida garanzia che la richiesta provenga solo dal tuo servizio di backend configurato. Offre inoltre protezione dei dati in transito per la richiesta e protegge dal riutilizzo della parte firmata della richiesta.

Ti consigliamo di utilizzare l'autenticazione dell'origine privata per i bucket Amazon S3 o gli archivi di oggetti compatibili. L'autenticazione dell'origine privata contribuisce a garantire che solo le connessioni attendibili accedano ai contenuti nelle tue origini private e che gli utenti non vi accedano direttamente.

Inoltre, se i firewall di origine impediscono l'accesso all'origine, utilizza la lista consentita IP per assicurarti che la richiesta provenga da Cloud CDN o dal bilanciatore del carico delle applicazioni esterno. Tuttavia, ciò non impedisce ad altri clienti di Media CDN di tentare di accedere ai tuoi contenuti specificando la tua origine nella loro configurazione.

Ottimizza la cache

Le seguenti pratiche consigliate sono utili per ottimizzare la cache.

Ottimizza i TTL della cache

Puoi impostare o eseguire l'override dei TTL per ottimizzare per quanto tempo Cloud CDN memorizza nella cache le tue risposte e quando Cloud CDN riconvalida le tue risposte.

Puoi anche definire un TTL rivolto al client per sfruttare al meglio le cache del browser.

Per ulteriori informazioni, consulta la sezione Utilizzare le impostazioni e gli override TTL.

Impostare la scadenza per i contenuti urgenti

A ogni contenuto della cache di Cloud CDN è associata una scadenza, ed è importante impostare una scadenza appropriata per il tuo caso d'uso. Poiché i server di origine devono inviare di nuovo i contenuti che scadono sui server cache, devi scegliere con attenzione la scadenza.

Un metodo per scegliere la scadenza è classificare i contenuti in base alla frequenza di aggiornamento dei contenuti, ad esempio:

  • Aggiornamenti quasi in tempo reale, come feed in diretta per eventi sportivi o traffico
  • Aggiornamenti frequenti, ad esempio informazioni meteo settimanali, giornaliere o orarie o immagini delle notizie in prima pagina
  • Aggiornamenti non frequenti, ad esempio il logo di un sito web oppure file CSS o JavaScript

Quindi scegli la scadenza in base alla categoria di contenuti. Ad esempio, una scadenza di cinque secondi potrebbe essere appropriata per risultati sportivi quasi in tempo reale e una scadenza di un'ora per gli aggiornamenti meteo. Per i contenuti archiviati in Cloud Storage, imposta le date di scadenza utilizzando i metadati Cache-Control. Quando i contenuti vengono pubblicati da Compute Engine, puoi controllare i tempi di scadenza configurando il software del server web.

Le date di scadenza sono specificate dai valori max-age e s-maxage nell'intestazione Cache-Control. Questa intestazione è definita dalla specifica HTTP. Ad esempio, la seguente intestazione Cache-Control rende i contenuti associati leggibili pubblicamente e memorizzabili nella cache con una scadenza della cache di 72 ore (259.200 secondi):

  Cache-Control: public, max-age=259200

Per massimizzare la memorizzazione nella cache, segui le linee guida in Panoramica della memorizzazione nella cache. Ricorda che i valori max-age e s-maxage nel campo dei metadati Cache-Control funzionano insieme nei seguenti modi:

  • I valori max-age e s-maxage vengono misurati in secondi.
  • Il valore s-maxage si applica solo alle cache condivise, non alle cache del browser.
  • Il valore max-age si applica a tutte le cache, a meno che s-maxage non lo sostituisca.

Per i contenuti che cambiano raramente o che devono cambiare insieme ai contenuti correlati, è spesso opportuno indicare una scadenza lunga in combinazione con URL con versione.

Utilizzare URL con controllo delle versioni per aggiornare i contenuti

I contenuti del controllo delle versioni consentono di pubblicare una versione diversa degli stessi contenuti, rimuovendoli efficacemente, mostrando agli utenti i nuovi contenuti prima della scadenza della voce della cache. Poiché il controllo delle versioni è gratuito, ti consigliamo di utilizzare il controllo delle versioni come approccio predefinito per l'aggiornamento dei contenuti memorizzabili nella cache.

Per i contenuti della versione, aggiungi un parametro all'URL, ad esempio un numero di versione. Esistono diversi modi per includere parametri negli URL, ad esempio:

  • Aggiungi una stringa di query: file.ext?v=100.

    Per i bucket di backend, tutte le stringhe di query utilizzate per il controllo delle versioni devono essere specificate nella configurazione del bucket di backend. Per maggiori informazioni, consulta Elenco di inclusione della stringa di query per le chiavi cache di Cloud Storage.

  • Modifica il nome file: file.1.0.0.ext o file_v100.ext.

  • Modifica il percorso: /v100/file.ext.

Quando aggiungi il parametro, modifichi il nome del file e l'URL. Questa modifica obbliga la cache a ignorare eventuali voci presenti nella cache.

Utilizza con parsimonia l'annullamento della convalida per rimuovere i contenuti

L'invalidazione rimuove i contenuti dai server cache distribuiti di Cloud CDN prima della scadenza della voce della cache. L'annullamento della convalida è coerente.

Ti consigliamo di utilizzare l'annullamento della convalida con parsimonia e solo come ultima risorsa. Ad esempio, l'annullamento della convalida è utile quando devi rimuovere contenuti per motivi legali o a causa di un caricamento accidentale. In caso contrario, ti consigliamo di utilizzare il controllo delle versioni, quando possibile, o di attendere la normale scadenza dei contenuti. I server cache di Cloud CDN eliminano regolarmente i contenuti a cui si accede raramente per fare spazio a nuovi contenuti. I contenuti a cui non si accede per 30 giorni vengono rimossi incondizionatamente.

Le invalidazioni della cache sono con limitazioni di frequenza.

Per saperne di più sull'annullamento della convalida, consulta la panoramica sull'annullamento della convalida della cache.

Ottimizza il monitoraggio e il logging

Le seguenti pratiche consigliate sono utili per ottimizzare Monitoring e Logging.

Assicurati che il logging sia abilitato per Cloud CDN

Una best practice per la gestione di Cloud CDN è garantire che il logging sia abilitato per tutti i backend abilitati per Cloud CDN.

Usa la dashboard di monitoraggio personalizzata per Cloud CDN

Per garantire maggiore affidabilità e prestazioni, una best practice consiste nell'esaminare regolarmente le metriche di monitoraggio relative a Cloud CDN. Un ottimo punto di partenza è la dashboard di monitoraggio personalizzata di Cloud CDN.

Esaminare i test del rendimento di terze parti

Esamina i report di provider di terze parti, come i report su disponibilità, latenza e velocità effettiva forniti da Citrix Radar.