Panoramica di Cloud CDN

Cloud CDN (Content Delivery Network) utilizza la rete edge globale di Google per distribuire i contenuti nelle aree più vicine agli utenti al fine di velocizzare i siti web e le applicazioni.

Cloud CDN funziona con il bilanciatore del carico delle applicazioni esterno globale o il bilanciatore del carico delle applicazioni classico per fornire contenuti agli 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 provenire da vari tipi di backend.

In Cloud CDN, questi backend sono chiamati anche server di origine. La Figura 1 mostra il flusso delle risposte dai server di origine in esecuzione su istanze di macchine virtuali (VM) attraverso un bilanciatore del carico delle applicazioni esterno prima di essere inviate da Cloud CDN. In questa situazione, il Google Front End (GFE) comprende Cloud CDN e il bilanciatore del carico delle applicazioni esterno.

Figura 1. Flusso delle risposte dai server di origine attraverso Cloud CDN ai client.
Figura 1. Flusso delle risposte dai server di origine attraverso Cloud CDN ai client.

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 di Google, il più vicino possibile all'utente.

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

Successi e fallimenti della cache

Una cache è un gruppo di server che memorizza e gestisce i contenuti in modo che le richieste future di questi contenuti possano essere soddisfatte più rapidamente. I contenuti memorizzati nella cache sono una copia dei contenuti memorizzabili nella cache archiviati sui server di origine.

Se il GFE cerca nella cache di Cloud CDN e trova una risposta alla richiesta dell'utente memorizzata nella cache, la invia all'utente. Questa situazione viene definita successo della cache. In caso di successo della cache, il GFE cerca i contenuti in base alla chiave cache e risponde direttamente all'utente, riducendo il tempo di round trip e risparmiando al server di origine l'elaborazione della richiesta.

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

La prima volta che viene richiesto un contenuto, il GFE determina che non può soddisfare la richiesta dalla cache. Questo è chiamato fallimento della cache. Quando si verifica un fallimento della cache, il GFE inoltra la richiesta al bilanciatore del carico delle applicazioni esterno. Il bilanciatore del carico inoltra quindi la richiesta a uno dei tuoi 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 è memorizzabile nella cache, Cloud CDN la memorizza nella propria cache per le richieste future. Il trasferimento di dati da una cache a un client è chiamato traffico in uscita dalla cache. Il trasferimento di dati a 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 per le risposte successive il GFE utilizza i contenuti della cache.
Figura 2. La risposta iniziale viene fornita dal server di origine, mentre per le risposte successive il GFE utilizza i contenuti della cache.

Per i costi relativi a successi e fallimenti della cache, consulta Prezzi.

Percentuale successi cache

La percentuale successi cache è la percentuale di volte in cui un oggetto richiesto viene fornito dalla cache. Se la percentuale successi cache è del 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 sull'influenza delle chiavi cache sulla percentuale successi cache, consulta Utilizzo delle chiavi cache. Per informazioni sulla risoluzione dei problemi, consulta La percentuale successi cache è bassa.

Visualizza la percentuale successi cache per un breve periodo di tempo

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

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

    Vai a Cloud CDN

  2. Per ogni origine, consulta la colonna Percentuale successi cache.

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

Visualizza la percentuale successi cache per un periodo di tempo più lungo

Per visualizzare la 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 Monitoraggio.
  4. (Facoltativo) Seleziona un backend specifico.

% successi della cache di CDN è uno dei grafici di monitoraggio disponibili. Se il grafico mostra n/a, significa che i contenuti non sono memorizzati nella cache o non sono stati richiesti nell'intervallo di tempo visualizzato.

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

Mostra un esempio degli intervalli di tempo disponibili

Inserisci contenuti nella cache

La memorizzazione nella cache è reattiva, in quanto un oggetto viene memorizzato in una cache specifica se una richiesta passa attraverso quella cache e se la risposta è memorizzabile nella cache. Un oggetto memorizzato in una cache non viene replicato 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 facendo in modo che le singole cache rispondano alle richieste.

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

Fornisci contenuti da una cache

Dopo aver abilitato 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 istanze VM, il server di origine è il software server web che esegui su queste istanze.

Cloud CDN utilizza cache in numerose località in tutto il mondo. A causa della natura delle cache, è impossibile prevedere se una determinata richiesta viene gestita da una cache. Tuttavia, puoi aspettarti che le richieste più frequenti di contenuti memorizzabili nella cache vengano gestite da una cache la maggior parte delle volte, con conseguente riduzione significativa della latenza, dei costi e del carico sui server di origine.

Per saperne di più sugli elementi memorizzati nella cache da Cloud CDN e sulla durata della memorizzazione, consulta la panoramica della memorizzazione nella cache.

Per sapere quali contenuti vengono forniti da una cache da Cloud CDN, puoi visualizzare i log.

Rimuovi contenuti dalla cache

Per rimuovere un elemento da una cache, puoi annullare la convalida dei contenuti memorizzati nella cache. Per saperne di più, consulta:

Bypass della cache

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

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

Policy di scadenza ed eliminazione dalla cache

Perché i contenuti vengano forniti da una cache, devono essere stati inseriti nella cache, non devono essere stati eliminati e non devono essere scaduti.

Eliminazione dalla cache e scadenza sono due concetti diversi. Entrambe influiscono sui dati forniti, ma non hanno un'influenza reciproca diretta.

Eliminazione dalla cache

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

Ogni cache ha un limite alla quantità di dati che può contenere. Tuttavia, Cloud CDN aggiunge contenuti alle cache anche dopo che sono piene. Per inserire contenuti in una cache piena, la cache rimuove prima qualcos'altro per fare spazio. Questa operazione viene chiamata eliminazione dalla cache. Le cache di solito sono piene, quindi eliminano costantemente contenuti. In genere, eliminano i contenuti a cui non è stato eseguito l'accesso di recente, indipendentemente dalla loro scadenza. I contenuti eliminati potrebbero essere scaduti o meno. L'impostazione di un tempo di scadenza non influisce sull'eliminazione.

Contenuti non popolari indica i contenuti a cui non è stato eseguito l'accesso da qualche tempo. Qualche tempo e non popolari sono entrambi relativi al totale degli altri elementi nella cache. Più progetti Google Cloud condividono un pool comune di spazio della cache perché i progetti vengono gestiti dallo stesso insieme di GFE. La popolarità relativa dei contenuti viene confrontata tra più progetti, non solo all'interno di un singolo progetto.

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

Come per tutte le cache su larga scala, l'eliminazione dei contenuti dalla cache non è prevedibile, quindi non è garantito che la risposta a una specifica richiesta venga fornita dalla cache.

Scadenza

I contenuti nelle cache HTTP(S) possono avere un tempo di scadenza configurabile. Il tempo di scadenza indica alla cache di non fornire contenuti obsoleti, anche se non sono stati eliminati.

Ad esempio, considera un URL di una "foto del momento". Le risposte devono essere impostate in modo che scadano in meno di un'ora. In caso contrario, il contenuto fornito potrebbe essere una vecchia immagine proveniente da una cache.

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

Richieste avviate da Cloud CDN

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

Impostazioni di localizzazione dei dati di altri servizi della piattaforma Cloud

L'utilizzo di Cloud CDN implica che i dati potrebbero essere archiviati in località di pubblicazione al di fuori della regione o della zona del server di origine. Questo è normale e rispecchia il funzionamento della memorizzazione nella cache HTTP su internet. Ai sensi dei Termini specifici dei servizi nei Termini di servizio della piattaforma Google Cloud, l'impostazione di localizzazione dei dati disponibile per alcuni servizi della piattaforma Cloud non si applica ai dati fondamentali dei clienti per il rispettivo servizio della piattaforma Cloud se utilizzato con altri prodotti e servizi Google (in questo caso il servizio Cloud CDN). Se non accetti questa conseguenza, non utilizzare il servizio Cloud CDN.

Supporto dei certificati SSL gestiti da Google

Quando Cloud CDN è abilitato, puoi utilizzare i certificati gestiti da Google.

Integrazione con Google Cloud Armor

Google Cloud Armor con Cloud CDN offre due tipi di policy di sicurezza:

  • Policy di sicurezza perimetrale. Queste policy possono essere applicate ai server di origine con Cloud CDN abilitato. Si applicano a tutto il traffico, prima della ricerca CDN.
  • Policy di sicurezza del backend. Queste policy vengono applicate solo alle richieste di contenuti dinamici, ai fallimenti della cache o ad altre richieste destinate al server di origine.

Per saperne di più, consulta la documentazione di Cloud Armor.

Integrazione con Service Extensions

Cloud CDN ti consente di aggiungere codice personalizzato al percorso di elaborazione delle richieste dei bilanciatori del carico delle applicazioni esterni globali utilizzando i plug-in Service Extensions. Questi plug-in ti aiutano a implementare le personalizzazioni nella pre-memorizzazione nella cache del percorso delle richieste e a influenzare la modalità di memorizzazione nella cache dei contenuti in Cloud CDN. Inoltre, puoi eseguire i plug-in sul percorso delle richieste o delle risposte dal server.

Per saperne di più, consulta Utilizza Service Extensions per l'edge computing.

Passaggi successivi