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 Utilizzo di 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 all'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 funzionalità 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.