Menyesuaikan kunci cache

Halaman ini menjelaskan cara menyesuaikan kunci cache Cloud CDN.

Mengubah konfigurasi kunci cache dapat menyebabkan penurunan rasio hit cache secara tiba-tiba jika permintaan baru mulai menggunakan kunci cache yang berbeda dari entri kunci cache lama. Demikian pula, mengubah pembuat kunci cache tidak selalu membatalkan entri yang di-cache jika permintaan baru menggunakan kunci yang sama dengan kunci cache lama. Untuk membatalkan validasi entri yang di-cache, lihat Membatalkan validasi konten yang di-cache.

Sebelum memulai

Halaman ini mengasumsikan pemahaman tentang Cloud CDN, kunci cache Cloud CDN, dan layanan backend yang di-load balancing. Sebaiknya tinjau halaman ini sebelum melanjutkan.

Mengaktifkan Cloud CDN dan menyesuaikan kunci cache

Petunjuk ini mengaktifkan Cloud CDN untuk layanan backend load-balanced dan menyesuaikan kunci cache. Jika Anda belum memiliki load balancer untuk digunakan sebagai origin, lihat dokumentasi Load Balancer Aplikasi eksternal untuk mengetahui petunjuk cara membuatnya.

Bucket backend tidak menyertakan protokol atau host dalam kunci cache karena hal ini tidak memengaruhi cara objek direferensikan dalam bucket Cloud Storage. Namun, permintaan tersebut menyertakan kumpulan parameter string kueri yang khusus untuk Cloud Storage, yang dapat memengaruhi respons dan dapat diperluas oleh daftar nama parameter yang dapat disesuaikan.

Konsol

  1. Di konsol Google Cloud , buka halaman Cloud CDN.

    Buka Cloud CDN

  2. Klik nama origin yang ingin Anda perbarui.

  3. Klik Edit.

    Jika ada lebih dari satu load balancer yang terpasang ke origin, pilih load balancer yang ingin Anda perbarui dari menu Edit.

  4. Untuk meluaskan bagian Performa cache, klik Berikutnya.

  5. Untuk Cache key, pilih Custom.

  6. Di bagian Cache key components, secara default, semua komponen dipilih. Hapus centang kotak untuk komponen yang ingin Anda kecualikan dari kunci cache.

  7. Klik Selesai.

gcloud

Untuk mengecualikan satu atau beberapa komponen dari kunci cache untuk layanan backend, gunakan perintah gcloud compute backend-services update.

gcloud compute backend-services update BACKEND_SERVICE \
    --no-cache-key-include-protocol \
    --no-cache-key-include-host \
    --no-cache-key-include-query-string

Untuk bucket backend, gunakan perintah gcloud compute backend-buckets update.

API

Untuk mengecualikan satu atau beberapa komponen dari kunci cache, tentukan opsi konfigurasi di bagian cacheKeyPolicy dari cdnPolicy untuk resource backendServices.

Untuk layanan backend, gunakan panggilan API metode backendServices.update.

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

Untuk bucket backend, gunakan panggilan API metode backendBuckets.update.

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

Tambahkan cuplikan berikut ke isi permintaan JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeProtocol": false,
      "includeHost": false,
      "includeQueryString": false
    }
  ]
}

Memperbarui kunci cache untuk menambahkan protokol, host, dan string kueri

Secara default, layanan backend yang dikonfigurasi untuk menggunakan Cloud CDN menyertakan semua komponen URI permintaan dalam kunci cache. Jika sebelumnya Anda menunjukkan bahwa satu atau beberapa komponen harus dikecualikan, Anda dapat menggunakan langkah-langkah berikut untuk menyertakannya lagi.

Petunjuk ini menambahkan protokol, host, dan string kueri ke kunci cache untuk layanan backend yang ada yang telah mengaktifkan Cloud CDN.

Konsol

  1. Di konsol Google Cloud , buka halaman Cloud CDN.

    Buka Cloud CDN

  2. Klik nama origin yang ingin Anda perbarui.

  3. Klik Edit.

    Jika ada lebih dari satu load balancer yang terpasang ke origin, pilih load balancer yang ingin Anda perbarui dari menu Edit.

  4. Untuk meluaskan bagian Performa cache, klik Berikutnya.

  5. Untuk Cache key, pilih Custom.

  6. Di bagian Cache key components, pilih kotak centang Protocol, Host, dan Query string.

  7. Klik Selesai.

gcloud

Untuk menambahkan satu atau beberapa komponen ke kunci cache untuk layanan backend, gunakan perintah gcloud compute backend-services update.

Semua flag yang tidak ditentukan tidak akan diubah.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-protocol \
    --cache-key-include-host \
    --cache-key-include-query-string

API

Untuk menambahkan satu atau beberapa komponen ke kunci cache, tentukan opsi konfigurasi di bagian cacheKeyPolicy dari cdnPolicy untuk resource backendServices.

Tambahkan cuplikan berikut ke isi permintaan JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeProtocol": true,
      "includeHost": true,
      "includeQueryString": true
    }
  ]
}

Memperbarui kunci cache untuk menggunakan daftar parameter string kueri yang disertakan atau dikecualikan

Petunjuk ini menetapkan kunci cache Cloud CDN untuk menggunakan daftar yang disertakan atau daftar yang dikecualikan dengan parameter string kueri.

Konsol

  1. Di konsol Google Cloud , buka halaman Cloud CDN.

    Buka Cloud CDN

  2. Klik nama origin yang ingin Anda perbarui.

  3. Klik Edit.

    Jika ada lebih dari satu load balancer yang terpasang ke origin, pilih load balancer yang ingin Anda perbarui dari menu Edit.

  4. Untuk meluaskan bagian Performa cache, klik Berikutnya.

  5. Untuk Cache key, pilih Custom.

  6. Di bagian Cache key components, centang kotak Query string. Kemudian, pilih salah satu opsi berikut:

    • Jika Anda ingin menentukan parameter string kueri yang harus menjadi bagian dari kunci cache, pilih Sertakan hanya yang dipilih.

    • Jika Anda ingin menentukan bahwa semua parameter string kueri kecuali parameter yang Anda cantumkan disertakan dalam kunci cache, pilih Sertakan semua kecuali yang dipilih.

  7. Klik Tambahkan parameter dan tentukan parameter.

  8. Klik Selesai.

gcloud

Untuk menentukan daftar yang disertakan atau daftar yang dikecualikan untuk layanan backend, tentukan parameter string kueri menggunakan perintah gcloud compute backend-services update.

Gunakan perintah ini untuk menetapkan parameter string kueri user ke daftar yang disertakan dari layanan backend.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-query-string \
    --cache-key-query-string-whitelist user

Gunakan perintah ini untuk menetapkan parameter string kueri user ke daftar pengecualian layanan backend.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-query-string \
    --cache-key-query-string-blacklist user

Gunakan perintah ini untuk menetapkan parameter string kueri user ke daftar penyertaan bucket backend.

gcloud compute backend-buckets update BACKEND_BUCKET \
    --cache-key-query-string-whitelist user

API

Untuk menentukan daftar yang disertakan atau daftar yang dikecualikan untuk layanan backend, tentukan parameter string kueri di bagian cacheKeyPolicy dari cdnPolicy untuk resource backendServices.

Untuk menentukan daftar yang disertakan, tambahkan cuplikan berikut ke isi permintaan JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "queryStringWhitelist": [QUERY_STRINGS]
    }
  ]
}

Ganti QUERY_STRINGS dengan daftar parameter string kueri yang dipisahkan koma.

Untuk menentukan daftar pengecualian, tambahkan cuplikan berikut:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "queryStringBlacklist": [QUERY_STRINGS]
    }
  ]
}

Memperbarui kunci cache untuk menggunakan header HTTP

Petunjuk ini menetapkan kunci cache Cloud CDN untuk menggunakan header HTTP, yang dapat menyertakan variabel kustom yang diizinkan.

Konsol

  1. Di konsol Google Cloud , buka halaman Cloud CDN.

    Buka Cloud CDN

  2. Klik nama origin yang ingin Anda perbarui.

  3. Klik Edit.

    Jika ada lebih dari satu load balancer yang terpasang ke origin, pilih load balancer yang ingin Anda perbarui dari menu Edit.

  4. Untuk meluaskan bagian Performa cache, klik Berikutnya.

  5. Untuk Cache key, pilih Custom.

  6. Di bagian Cache key components, centang kotak HTTP headers.

  7. Untuk menentukan satu atau beberapa header HTTP, klik Tambahkan header HTTP.

  8. Klik Selesai.

gcloud

Gunakan perintah gcloud compute backend-services update dengan opsi cache-key-include-http-header.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-http-header=[HEADER_FIELD_NAMES,...]

Ganti HEADER_FIELD_NAMES dengan daftar nama header yang dipisahkan koma.

API

Tentukan header HTTP untuk kunci cache di bagian cacheKeyPolicy cdnPolicy untuk resource backendServices.

Tambahkan cuplikan berikut ke isi permintaan JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeHttpHeaders": [HEADER_FIELD_NAMES]
    }
  ]
}

Ganti HEADER_FIELD_NAMES dengan daftar nama header yang dipisahkan koma.

Jika header kunci cache yang ditentukan juga ditentukan sebagai header permintaan kustom, Anda tidak dapat menggunakan rentang variabel lengkap.

Untuk mengetahui informasi selengkapnya, lihat Menggunakan variabel kustom dengan header permintaan.

Memperbarui kunci cache untuk menggunakan cookie bernama

Petunjuk ini menetapkan kunci cache Cloud CDN untuk menggunakan cookie HTTP.

Konsol

  1. Di konsol Google Cloud , buka halaman Cloud CDN.

    Buka Cloud CDN

  2. Klik nama origin yang ingin Anda perbarui.

  3. Klik Edit.

    Jika ada lebih dari satu load balancer yang terpasang ke origin, pilih load balancer yang ingin Anda perbarui dari menu Edit.

  4. Untuk meluaskan bagian Performa cache, klik Berikutnya.

  5. Untuk Cache key, pilih Custom.

  6. Di bagian Cache key components, centang kotak Named cookies.

  7. Untuk menentukan satu atau beberapa cookie, klik Tambahkan cookie bernama.

  8. Klik Selesai.

gcloud

Gunakan perintah gcloud compute backend-services update dengan opsi cache-key-include-named-cookie.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-named-cookie=[NAMED_COOKIES,...]

Ganti NAMED_COOKIES dengan daftar cookie bernama yang dipisahkan koma.

API

Untuk menentukan daftar yang disertakan atau daftar yang dikecualikan untuk layanan backend, tentukan parameter string kueri di bagian cacheKeyPolicy dari cdnPolicy untuk resource backendServices.

Untuk menentukan daftar yang disertakan, tambahkan cuplikan berikut ke isi permintaan JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeNamedCookies": [NAMED_COOKIES]
    }
  ]
}

Ganti NAMED_COOKIES dengan daftar parameter string kueri yang dipisahkan koma.

Langkah berikutnya