Modificare le modalità cache

Questa pagina fornisce istruzioni per modificare le modalità cache con Cloud CDN. Le modalità cache ti consentono di configurare il modo in cui Cloud CDN memorizza i tuoi contenuti nella cache.

Prima di iniziare

  • Scopri di più sulle modalità della cache e sui contenuti statici.

  • Assicurati che Cloud CDN sia abilitato. Per istruzioni, consulta Utilizzare Cloud CDN.

  • Se necessario, esegui l'aggiornamento alla versione più recente di Google Cloud CLI:

    gcloud components update
    

Impostazione della modalità cache

Per configurare le modalità cache per un backend abilitato per Cloud CDN, svolgi i seguenti passaggi:

Console

  1. Nella console Google Cloud, vai alla pagina Bilanciamento del carico.

    Vai alla pagina Bilanciamento del carico

  2. Fai clic sul nome dell'Application Load Balancer esterno.
  3. Fai clic su Modifica .
  4. In Configurazione backend, seleziona un backend e fai clic su Modifica .
  5. Assicurati che l'opzione Attiva Cloud CDN sia selezionata.
  6. In Modalità cache, seleziona una delle seguenti opzioni:
    • Memorizza nella cache i contenuti statici (consigliato): i contenuti statici sono asset web che non cambiano per ogni utente. Il contenuto statico si basa su Content-Type nella risposta. Per ulteriori informazioni, consulta contenuti statici.
    • Utilizza le impostazioni dell'origine in base alle intestazioni Cache-Control: memorizza nella cache le risposte con direttive di memorizzazione nella cache valide nelle intestazioni di risposta.
    • Forza memorizzazione nella cache di tutto il contenuto: memorizza nella cache tutti i contenuti pubblicati correttamente dall'origine, ignorando eventuali direttive private o no-store.
  7. Fai clic su Salva.

gcloud

Per i servizi di backend, utilizza il comando gcloud compute backend-services create o gcloud compute backend-services update con il flag --cache-mode.

Per i bucket di backend, utilizza il comando gcloud compute backend-buckets create o gcloud compute backend-buckets update con il flag --cache-mode.

gcloud compute backend-services (create | update) BACKEND_SERVICE_NAME
    --cache-mode=CACHE_MODE
gcloud compute backend-buckets (create | update) BACKEND_BUCKET_NAME
    --cache-mode=CACHE_MODE

Sostituisci CACHE_MODE con una delle seguenti opzioni:

  • CACHE_ALL_STATIC (impostazione predefinita): memorizza automaticamente nella cache i contenuti statici. Le risposte contrassegnate come non memorizzabili nella cache (istruzioni private o no-store nelle intestazioni di risposta Cache-Control) non vengono memorizzate nella cache. Per memorizzare nella cache i contenuti dinamici, i contenuti devono avere intestazioni di memorizzazione nella cache valide.

  • USE_ORIGIN_HEADERS: richiede all'origine di impostare intestazioni di memorizzazione nella cache valide per memorizzare nella cache i contenuti. Le risposte senza queste intestazioni non vengono memorizzate nella cache sull'edge di Google e richiedono un viaggio completo all'origine per ogni richiesta, con potenziali ripercussioni sulle prestazioni e un aumento del carico sul server di origine.

  • FORCE_CACHE_ALL: memorizza nella cache tutti i contenuti (ovvero le risposte corrette), ignorando eventuali istruzioni private o no-store nelle intestazioni di risposta Cache-Control. Ciò potrebbe comportare la memorizzazione nella cache di contenuti privati per ciascun utente (utente identificabile). Attiva questa opzione solo sui backend che non pubblicano contenuti privati o dinamici, come i bucket Cloud Storage. Non attivare questa opzione sui backend che pubblicano contenuti privati o dinamici.

API

Per i bucket di backend, utilizza la chiamata API Method: backendBuckets.insert o Method: backendBuckets.update.

Per i servizi di backend, utilizza la chiamata API Method: backendServices.insert o Method: backendServices.update.

Utilizza una delle seguenti chiamate API:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets
PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/BACKEND_BUCKET
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices
PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE

Aggiungi il seguente snippet al corpo della richiesta JSON:

"cdnPolicy": {
  "cacheMode": (CACHE_ALL_STATIC | USE_ORIGIN_HEADERS | FORCE_CACHE_ALL)

Sostituisci CACHE_MODE con una delle seguenti opzioni:

  • CACHE_ALL_STATIC (valore predefinito): memorizza automaticamente nella cache i contenuti statici se l'origine non imposta intestazioni di memorizzazione nella cache valide. Le risposte contrassegnate come non memorizzabili nella cache (istruzioni private o no-store nelle intestazioni di risposta Cache-Control) non vengono memorizzate nella cache. Per memorizzare nella cache i contenuti dinamici, questi devono avere intestazioni di memorizzazione nella cache valide.

  • USE_ORIGIN_HEADERS: richiede all'origine di impostare intestazioni di memorizzazione nella cache valide per memorizzare nella cache i contenuti. Le risposte senza queste intestazioni non vengono memorizzate nella cache sull'edge di Google e richiedono un viaggio completo all'origine per ogni richiesta, con potenziali ripercussioni sulle prestazioni e un aumento del carico sul server di origine.

  • FORCE_CACHE_ALL: memorizza nella cache tutti i contenuti (ovvero le risposte corrette), ignorando eventuali istruzioni private o no-store nelle intestazioni di risposta Cache-Control. Ciò potrebbe comportare la memorizzazione nella cache di contenuti privati per ciascun utente (utente identificabile). Devi abilitare questa funzionalità solo sui backend che non forniscono contenuti privati o dinamici, come i bucket Cloud Storage.