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ì i siti web e le applicazioni.

Cloud CDN utilizza il bilanciatore del carico delle applicazioni esterno globale o l'Application Load Balancer 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 come 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 fornite da Cloud CDN. In questa situazione, il Google Front End (GFE) comprende Cloud CDN e l'Application Load Balancer 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 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 in cui è configurato Cloud CDN, il GFE utilizza Cloud CDN.

Successi e fallimenti della cache

Una cache è un gruppo di server che archivia e gestisce i contenuti in modo che le richieste future per questi contenuti possano essere gestite più velocemente. I contenuti memorizzati nella cache sono una copia dei contenuti memorizzabili nella cache archiviata sui server di origine.

Se il GFE esamina la cache di Cloud CDN e trova una risposta memorizzata nella cache alla richiesta dell'utente, la invia all'utente. In questo caso si parla di successo della cache. Quando si verifica un successo della cache, il GFE cerca i contenuti tramite la chiave cache e risponde direttamente all'utente, abbreviando il tempo di round trip e evitando al server di origine di dover elaborare la richiesta.

Un hit parziale si verifica quando una richiesta viene gestita in parte dalla cache e in parte da un backend. Questo può accadere se solo 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, il GFE stabilisce di non poter soddisfare la richiesta dalla cache. Questo fenomeno è 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 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 archivia nella cache di Cloud CDN per le richieste future. Il trasferimento di dati da una cache a un client è chiamato traffico in uscita dalla cache. Il trasferimento dei dati in una cache è chiamato riempimento della cache.

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

  1. I server di origine in esecuzione su istanze VM inviano risposte HTTP(S).
  2. L'Application Load Balancer 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 correlati ai successi e ai fallimenti della cache, consulta la sezione Prezzi.

Percentuale successi cache

Il rapporto di successi della 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 pubblicato 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 sulla percentuale successi cache, consulta Utilizzare le chiavi cache. Per informazioni sulla risoluzione dei problemi, consulta La percentuale di successi della cache è bassa.

Visualizzazione della percentuale successi cache per un periodo di tempo ridotto

Per visualizzare la 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 Tasso di successo della cache.

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

Visualizzazione della 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 successo della CDN è uno dei grafici di monitoraggio disponibili. Un grafico che mostra n/d indica 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 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 la cache e se la risposta può essere memorizzata 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 far sì che le singole cache rispondano 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 abilitato Cloud CDN, la memorizzazione nella cache viene eseguita automaticamente per tutti i contenuti memorizzabili nella cache. Il tuo server di origine utilizza le intestazioni HTTP per indicare quali risposte vengono memorizzate nella cache. Puoi anche controllare l'idoneità alla 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 del 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, le richieste più frequenti per i contenuti memorizzabili nella cache vengono gestite la maggior parte del tempo da una cache, generando latenze notevolmente ridotte, costi ridotti e carico ridotto sui server di origine.

Per saperne di più su cosa viene memorizzato nella cache di Cloud CDN e per quanto tempo, consulta la Panoramica sulla memorizzazione nella cache.

Per vedere quali dati Cloud CDN esegue da una cache, puoi visualizzare i log.

Rimozione dei contenuti dalla cache

Per rimuovere un articolo 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 una VM di 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 pubblicati da una cache, i contenuti devono essere stati inseriti nella cache, non devono essere rimossi e non devono essere scaduti.

La rimozione e la scadenza sono due concetti diversi. Entrambe incidono sui contenuti pubblicati, ma non influiscono direttamente l'una sull'altra.

Rimozione

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

Ogni cache ha un limite di spazio. Tuttavia, Cloud CDN aggiunge contenuti alle cache anche quando sono piene. Per inserire contenuti in una cache intera, la cache rimuove prima qualcos'altro per liberare spazio. Questa operazione si chiama sgombero. Le cache sono generalmente piene, quindi rimuovono costantemente i contenuti. In genere, rimuovono i contenuti che non sono stati consultati di recente, indipendentemente dalla loro data di scadenza. I contenuti rimossi potrebbero essere scaduti e potrebbero non esserlo. L'impostazione di una data di scadenza non influisce sull'eliminazione.

Per contenuti impopolari si intendono contenuti a cui non accedi da un po' di tempo. Un po' e impopolari 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 sono gestiti dallo stesso set di GFE. La popolarità relativa dei contenuti viene confrontata in più progetti, non solo all'interno di un singolo progetto.

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

Come per tutte le cache su larga scala, i contenuti possono essere rimossi in modo imprevedibile, per cui non è garantita la gestione di richieste particolari dalla cache.

Scadenza

Per i contenuti delle cache HTTP(S) è possibile configurare una data di scadenza. Il tempo di scadenza comunica alla cache di non pubblicare i contenuti obsoleti, anche se i contenuti non sono stati rimossi.

Considera ad esempio un URL immagine dell'ora. e le sue risposte dovrebbero essere impostate per scadere in meno di un'ora. In caso contrario, i contenuti pubblicati potrebbero essere un'immagine obsoleta di una cache.

Per informazioni sui tempi di scadenza dell'ottimizzazione, 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 località dei dati di altri servizi della piattaforma Cloud

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

Supporto per i 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 offre due tipi di criteri di sicurezza:

  • Criteri di sicurezza perimetrale. 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 richieste di contenuti dinamici, fallimenti della cache o altre richieste destinate al server di origine.

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

Passaggi successivi