Panoramica di Cloud CDN

Cloud CDN (Content Delivery Network) utilizza la rete perimetrale globale di Google per fornire contenuti più vicino agli utenti, velocizzando così siti web e applicazioni.

Cloud CDN funziona con l'Application Load Balancer esterno globale o l'Application Load Balancer classico per fornire contenuti ai tuoi utenti. Il bilanciatore del carico delle applicazioni esterno fornisce gli indirizzi IP e le porte frontend che ricevono le richieste e i backend che rispondono alle richieste.

I contenuti di Cloud CDN possono essere ricavati da vari tipi di backend.

In Cloud CDN, questi backend sono chiamati anche server di origine. La Figura 1 illustra il modo in cui le risposte dei server di origine in esecuzione su istanze di macchine virtuali (VM) passano attraverso un bilanciatore del carico delle applicazioni esterno prima di essere inviate da Cloud CDN. In questo caso, il Google Front End (GFE) comprende Cloud CDN e il bilanciatore del carico delle applicazioni esterno.

Figura 1. Le risposte passano dai server di origine ai client attraverso Cloud CDN.
Figura 1. Le risposte passano dai server di origine ai client attraverso Cloud CDN.

Come funziona Cloud CDN

Quando un utente richiede contenuti da un bilanciatore del carico delle applicazioni esterno, la richiesta arriva a un GFE, che si trova sul perimetro della rete Google, il più vicino possibile all'utente.

Se la mappa URL del bilanciatore del carico instrada il traffico a un servizio o bucket di backend in cui è configurato Cloud CDN, GFE utilizza Cloud CDN.

Hit e fallimenti della cache

Una cache è un gruppo di server che archivia e gestisce i contenuti in modo che le richieste future per tali contenuti vengano fornite più rapidamente. I contenuti memorizzati nella cache sono una copia dei contenuti memorizzabili nella cache e archiviati sui server di origine.

Se il GFE cerca nella cache di Cloud CDN e trova una risposta memorizzata nella cache alla richiesta dell'utente, invia all'utente la risposta memorizzata nella cache. Questo è chiamato hit della cache. Quando si verifica un successo della cache, GFE cerca i contenuti in base alla chiave cache e risponde direttamente all'utente, riducendo il tempo di round trip e evitando al server di origine di elaborare la richiesta.

Un hit parziale si verifica quando una richiesta viene fornita parzialmente dalla cache e parzialmente da un backend. Ciò può accadere se solo una parte dei contenuti richiesti viene archiviata in una cache di Cloud CDN, come descritto in Supporto per le richieste di intervalli di byte.

La prima volta che viene richiesto un contenuto, GFE determina che non può soddisfare la richiesta della cache. Questo errore è chiamato fallimento della cache. Quando si verifica un fallimento della cache, GFE inoltra la richiesta al bilanciatore del carico delle applicazioni esterno. Il bilanciatore del carico inoltra la richiesta a uno dei server di origine. Quando la cache riceve i contenuti, il GFE li inoltra all'utente.

Se la risposta del server di origine a questa richiesta è cacheable, Cloud CDN archivia la risposta nella cache di Cloud CDN per richieste future. Il trasferimento di dati da una cache a un client è chiamato traffico in uscita dalla cache. Il trasferimento di dati in una cache è chiamato Riempimento della cache.

La figura 2 mostra un successo della cache e un fallimento della cache:

  1. I server di origine in esecuzione sulle istanze VM inviano risposte HTTP(S).
  2. Il bilanciatore del carico delle applicazioni esterno distribuisce le risposte a Cloud CDN.
  3. Cloud CDN fornisce le risposte agli utenti finali.
Figura 2. La risposta iniziale viene fornita dal server di origine, mentre le risposte successive vengono fornite dal GFE dalla cache.
Figura 2. La risposta iniziale viene fornita dal server di origine, mentre le risposte successive vengono fornite dal GFE dalla cache.

Per i costi relativi agli hit e ai fallimenti della cache, consulta la sezione Prezzi.

Percentuale successi cache

Il rapporto di successo della cache è la percentuale di volte in cui un oggetto richiesto viene pubblicato dalla cache. Se il percentuale successi cache è pari al 60%, significa che l'oggetto richiesto viene fornito dalla cache il 60% delle volte e deve essere recuperato dall'origine il 40% delle volte.

Per informazioni su come le chiavi cache possono influire sul percentuale successi cache, consulta la sezione Utilizzo delle chiavi cache. Per informazioni sulla risoluzione dei problemi, vedi Il rapporto di successo della cache è basso.

Visualizzare il percentuale successi cache per un breve periodo di tempo

Per visualizzare il percentuale successi cache per un breve periodo di tempo (ultimi minuti):

  1. Nella console Google Cloud, vai alla pagina Cloud CDN.

    Vai a Cloud CDN

  2. Per ogni origine, consulta la colonna Rapporto di hit della cache.

    n/a indica che i contenuti con bilanciamento del carico non sono attualmente memorizzati nella cache o non sono stati richiesti di recente.

Visualizzare il percentuale successi cache per un periodo di tempo più lungo

Per visualizzare il percentuale successi cache per un periodo di tempo compreso tra 1 ora e 30 giorni:

  1. Nella console Google Cloud, vai alla pagina Cloud CDN.

    Vai a Cloud CDN

  2. Nella colonna Nome origine, fai clic sul nome dell'origine.
  3. Fai clic sulla scheda Monitoring.
  4. (Facoltativo) Seleziona un backend specifico.

La percentuale di hit CDN è uno dei grafici di monitoraggio disponibili. Un grafico in cui è visualizzata la dicitura N/D indica che i contenuti non sono memorizzati nella cache o che non sono stati richiesti nell'intervallo di tempo visualizzato.

Puoi modificare il periodo di tempo selezionando un intervallo di tempo diverso. La seguente immagine è un esempio di intervalli di tempo che puoi selezionare:

Rappresenta un esempio di intervalli di tempo disponibili

Inserimento di contenuti nella cache

La memorizzazione nella cache è reattiva in quanto un oggetto viene archiviato in una determinata cache se una richiesta passa attraverso quella cache e se la risposta è memorizzabile nella cache. Un oggetto archiviato in una cache non si replica automaticamente in altre cache; il riempimento della cache avviene solo in risposta a una richiesta avviata dal client. Non puoi precaricare le cache se non causa la risposta delle singole cache alle richieste.

Quando il server di origine supporta le richieste di intervallo di byte, Cloud CDN può avviare più richieste di riempimento della cache in reazione a una singola richiesta del client.

Pubblicazione di contenuti da una cache

Dopo aver attivato Cloud CDN, la memorizzazione nella cache avviene automaticamente per tutti i contenuti memorizzabili nella cache. Il server di origine utilizza le intestazioni HTTP per indicare quali risposte vengono memorizzate nella cache. Puoi anche controllare la memorizzazione nella cache utilizzando le modalità cache.

Quando utilizzi un bucket di backend, il server di origine è Cloud Storage. Quando utilizzi le istanze VM, il server di origine è il software server web che esegui su queste istanze.

Cloud CDN utilizza le cache in numerose località in tutto il mondo. A causa della natura delle cache, è impossibile prevedere se una determinata richiesta viene fornita fuori dalla cache. Tuttavia, puoi aspettarti che le richieste più frequenti di contenuti memorizzabili nella cache vengano gestite da una cache la maggior parte del tempo, con latenze notevolmente ridotte, costi ridotti e carico ridotto sui server di origine.

Per ulteriori informazioni su cosa viene memorizzato nella cache di Cloud CDN e per quanto tempo consulta la Panoramica della memorizzazione nella cache.

Per vedere cosa Cloud CDN gestisce da una cache, puoi visualizzare i log.

Rimozione dei contenuti dalla cache

Per rimuovere un elemento da una cache, puoi invalidare i contenuti memorizzati nella cache. Per ulteriori informazioni, consulta:

Bypass della cache

Per bypassare Cloud CDN, puoi richiedere un oggetto direttamente da un bucket Cloud Storage o da una VM Compute Engine. Ad esempio, l'URL di un oggetto bucket Cloud Storage è simile al seguente:

https://storage.googleapis.com/STORAGE_BUCKET/FILENAME

Eliminazione e scadenza

Per poter essere forniti da una cache, i contenuti devono essere stati inseriti nella cache, non devono essere rimossi e non devono essere scaduti.

Rimozione e scadenza sono due concetti diversi. Entrambi influiscono su ciò che viene pubblicato, ma non influiscono direttamente gli uni sugli altri.

Sfrazione

Se stai testando la memorizzazione nella cache di contenuti con un numero limitato di richieste, potresti notare che i contenuti vengono rimossi.

Ogni cache ha un limite di capacità. Tuttavia, Cloud CDN aggiunge contenuti alle cache anche se sono esaurite. Per inserire contenuti in una cache completa, la cache rimuove qualcos'altro per fare spazio. Questo si chiama sgombero. Generalmente le cache sono esaurite, pertanto i contenuti vengono costantemente rimossi. Di solito rimuovono i contenuti che non sono stati consultati di recente, indipendentemente dalla data di scadenza dei contenuti. I contenuti rimossi potrebbero essere scaduti e non lo sono. L'impostazione di una data di scadenza non influisce sull'eliminazione.

Contenuti impopolari indica i contenuti che non vengono visualizzati da un po' di tempo. Un periodo di tempo e impopolare sono entrambi relativi alla maggior parte degli altri elementi nella cache. Più progetti Google Cloud condividono un pool comune di spazio di cache perché i progetti vengono gestiti dallo stesso insieme di GFE. La popolarità relativa dei contenuti viene confrontata in più progetti, non solo nell'ambito di un singolo progetto.

Man mano che le cache ricevono più traffico, eliminano anche più contenuti memorizzati nella cache.

Come per tutte le cache su larga scala, i contenuti possono essere rimossi in modo imprevedibile, quindi non è garantita alcuna richiesta specifica dalla cache.

Scadenza

I contenuti nelle cache HTTP(S) possono avere una scadenza configurabile. La scadenza indica alla cache di non pubblicare contenuti vecchi, anche se i contenuti non sono stati rimossi.

Ad esempio, prendi in considerazione un URL dell'immagine dell'ora. Le sue risposte dovrebbero scadere tra meno di un'ora. In caso contrario, i contenuti pubblicati potrebbero essere una vecchia immagine di una cache.

Per informazioni sull'ottimizzazione delle tempistiche di scadenza, consulta Utilizzo delle impostazioni e degli override TTL.

Richieste avviate da Cloud CDN

Quando il tuo server di origine supporta le richieste di intervallo di byte, Cloud CDN può inviare più richieste al server di origine in reazione a una singola richiesta del client. Come descritto in Supporto per le richieste di intervalli di byte, Cloud CDN può avviare due tipi di richieste: richieste di convalida e richieste di intervalli di byte.

Impostazioni di geolocalizzazione dei dati di altri servizi della piattaforma Cloud

Se utilizzi Cloud CDN, i dati potrebbero essere archiviati in località di distribuzione al di fuori della regione o della zona del server di origine. È normale e come funziona la memorizzazione nella cache HTTP su internet. In base ai Termini specifici dei servizi dei Termini di servizio di Google Cloud Platform, l'impostazione di geolocalizzazione dei dati disponibile per determinati servizi della piattaforma cloud non si applica ai dati principali dei clienti per il rispettivo servizio della piattaforma Cloud quando utilizzati con altri prodotti e servizi Google (in questo caso, il servizio Cloud CDN). Se non vuoi questo risultato, non utilizzare il servizio Cloud CDN.

Supporto per certificati SSL gestiti da Google

Puoi utilizzare i certificati gestiti da Google quando Cloud CDN è abilitato.

Google Cloud Armor con Cloud CDN

Google Cloud Armor con Cloud CDN presenta due tipi di criteri di sicurezza:

  • Criteri di sicurezza perimetrali. Questi criteri possono essere applicati ai server di origine abilitati per Cloud CDN. Si applicano a tutto il traffico prima della ricerca CDN.
  • Criteri di sicurezza del backend. Questi criteri vengono applicati solo per le richieste di contenuti dinamici, fallimenti della cache o altre richieste destinate al tuo server di origine.

Per ulteriori informazioni, consulta la documentazione di Google Cloud Armor.

Passaggi successivi