Best practice per l'importazione dei contenuti

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

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

Grazie all'integrazione perfetta 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 ulteriori informazioni, consulta Configurare Cloud CDN.

Ottimizzare il percentuale successi cache

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

Memorizza contenuto statico nella cache

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

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

Per memorizzare automaticamente nella cache le risposte statiche della tua origine, puoi utilizzare l'impostazione --cache-mode=CACHE_ALL_STATIC (predefinita). Questa impostazione consente a Cloud CDN di memorizzare nella cache i tipi di contenuti statici comuni quando l'origine non specifica alcuna istruzione 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.

Utilizzare chiavi cache personalizzate per migliorare percentuale successi cache

Per 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 hit della cache, puoi utilizzare chiavi cache personalizzate in modo che Cloud CDN non esegua lo sharding inutilmente della cache.

Archivio chiave-valore Cloud CDN
Archivio chiave-valore Cloud CDN

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 utilizzo delle chiavi cache personalizzate:

  • Hai due host che si risolvono nello stesso indirizzo IP e passano allo stesso servizio. In questo esempio, l'intero sito web è lo stesso 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 archivia i 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 nella cache il logo.

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

Per scoprire come personalizzare le chiavi cache, consulta Utilizzo delle chiavi cache.

Ottimizzazione del rendimento

Le seguenti pratiche consigliate consentono di ottimizzare il rendimento.

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 offre un controllo granulare sulla memorizzazione nella cache per reindirizzamenti o errori 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.

Ottimizza la sicurezza

Le seguenti pratiche consigliate contribuiscono a ottimizzare la sicurezza.

Utilizza Google Cloud Armor

Google Cloud Armor si integra con Cloud CDN per i contenuti memorizzati nella cache e non memorizzati nella cache o mancanti. Consigliamo di utilizzare, ove possibile, Google Cloud Armor insieme a Cloud CDN 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 la 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 delle origini private contribuisce a garantire che solo le connessioni attendibili accedano ai contenuti sulle 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 degli IP per assicurarti che una richiesta provenga da Cloud CDN o dall'Application Load Balancer 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 consentono di 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 risposte e quando Cloud CDN riconvalida le tue risposte.

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

Per ulteriori informazioni, consulta la sezione Utilizzo delle impostazioni e degli override TTL.

Impostare la scadenza dei contenuti per cui il fattore temporale è decisivo

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 nuovamente contenuti che scadono sui server di cache, devi scegliere con attenzione la scadenza.

Un metodo per scegliere la scadenza è classificare i contenuti in base alla frequenza con cui li aggiorni; ad esempio:

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

Successivamente, scegli la scadenza in base alla categoria di contenuti. Ad esempio, una scadenza di cinque secondi potrebbe essere appropriata per i risultati sportivi quasi in tempo reale e una scadenza di un'ora per gli aggiornamenti meteo. Per i contenuti archiviati in Cloud Storage, imposta la 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 tempistiche 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 di 72 ore (259.200 secondi):

  Cache-Control: public, max-age=259200

Per massimizzare la memorizzazione nella cache, segui le linee guida riportate nella Panoramica della memorizzazione nella cache. Ricorda che i valori max-age e s-maxage nel campo dei metadati Cache-Control interagiscono 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 di rado o che devono cambiare insieme ai contenuti correlati, spesso è opportuno utilizzare una scadenza lunga in combinazione con gli URL con versione.

Utilizzare gli URL con versione per aggiornare i contenuti

I contenuti con controllo delle versioni pubblicano una versione diversa degli stessi contenuti, rimuovendoli in modo efficace mostrando agli utenti i nuovi contenuti prima della scadenza della voce della cache. Poiché il controllo delle versioni è gratuito e facile da usare, consigliamo di utilizzare il controllo delle versioni come approccio predefinito per l'aggiornamento dei contenuti memorizzabili nella cache.

Per la versione dei contenuti, aggiungi un parametro all'URL, ad esempio un numero di versione. Esistono vari modi per includere i 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 ulteriori informazioni, consulta Inclusione dell'elenco di stringhe di query per le chiavi cache di Cloud Storage.

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

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

Quando aggiungi il parametro, modifichi il nome del file e l'URL. Questa modifica obbliga la cache a ignorare qualsiasi voce esistente.

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

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

Ti consigliamo di utilizzare l'annullamento della validità con parsimonia e solo come ultima alternativa possibile. 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 rimuovono regolarmente 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 limitate.

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

Ottimizza il monitoraggio e il logging

Le seguenti pratiche consigliate aiutano a ottimizzare Monitoring e Logging.

Assicurati che il logging sia abilitato per Cloud CDN

Una best practice per la gestione di Cloud CDN consiste nell'assicurare che il logging sia abilitato per tutti i backend abilitati per Cloud CDN.

Usa la dashboard di monitoraggio personalizzata per Cloud CDN

Per garantire maggiori 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 fornitori di terze parti, come i report su disponibilità, latenza e velocità effettiva forniti da Citrix Radar.