Mengubah mode cache

Halaman ini memberikan petunjuk untuk mengubah mode cache dengan Cloud CDN. Mode cache memungkinkan Anda mengonfigurasi cara Cloud CDN meng-cache konten Anda.

Sebelum memulai

  • Baca tentang mode cache dan konten statis.

  • Pastikan Cloud CDN diaktifkan; untuk petunjuknya, lihat Menggunakan Cloud CDN.

  • Jika perlu, update ke Google Cloud CLI versi terbaru:

    gcloud components update
    

Menetapkan mode cache

Untuk mengonfigurasi mode cache untuk backend yang mengaktifkan Cloud CDN, lakukan langkah-langkah berikut:

Konsol

  1. Di konsol Google Cloud, buka halaman Load Balancing.

    Buka halaman Load balancing

  2. Klik nama Load Balancer Aplikasi eksternal Anda.
  3. Klik Edit .
  4. Di Backend configuration, pilih backend, lalu klik Edit .
  5. Pastikan Enable Cloud CDN dipilih.
  6. Di bagian Cache mode, pilih salah satu opsi berikut:
    • Menyimpan konten statis dalam cache (direkomendasikan): Konten statis adalah aset web yang tidak berubah untuk setiap pengguna. Konten statis didasarkan pada Content-Type dalam respons. Untuk mengetahui informasi selengkapnya, lihat konten statis.
    • Gunakan setelan origin berdasarkan header Cache-Control: Menyimpan respons cache dengan arahan cache yang valid di header respons.
    • Paksa cache semua konten: Menyimpan dalam cache semua konten yang berhasil ditayangkan oleh asal, mengabaikan perintah private atau no-store.
  7. Klik Simpan.

gcloud

Untuk layanan backend, gunakan perintah gcloud compute backend-services create atau gcloud compute backend-services update dengan flag --cache-mode.

Untuk bucket backend, gunakan perintah gcloud compute backend-buckets create atau gcloud compute backend-buckets update dengan 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

Ganti CACHE_MODE dengan salah satu dari berikut ini:

  • CACHE_ALL_STATIC (default): Otomatis meng-cache konten statis. Respons yang ditandai sebagai tidak dapat di-cache (perintah private atau no-store di header respons Cache-Control) tidak di-cache. Untuk meng-cache konten dinamis, konten harus memiliki header penyimpanan dalam cache yang valid.

  • USE_ORIGIN_HEADERS: Mewajibkan origin menetapkan header penyimpanan dalam cache yang valid untuk menyimpan konten dalam cache. Respons tanpa header ini tidak di-cache di edge Google dan memerlukan perjalanan penuh ke origin pada setiap permintaan, yang berpotensi memengaruhi performa dan meningkatkan beban pada server origin.

  • FORCE_CACHE_ALL: Menyimpan semua konten dalam cache (yaitu, respons yang berhasil), mengabaikan perintah private atau no-store di header respons Cache-Control. Hal ini dapat menyebabkan penyimpanan konten pribadi per pengguna (dapat diidentifikasi pengguna) ke dalam cache. Hanya aktifkan ini di backend yang tidak menayangkan konten pribadi atau dinamis, seperti bucket Cloud Storage. Jangan aktifkan ini di backend yang menayangkan konten pribadi atau dinamis.

API

Untuk bucket backend, gunakan panggilan API Method: backendBuckets.insert atau Method: backendBuckets.update.

Untuk layanan backend, gunakan panggilan API Method: backendServices.insert atau Method: backendServices.update.

Gunakan salah satu panggilan API berikut:

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

Tambahkan cuplikan berikut ke isi permintaan JSON:

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

Ganti CACHE_MODE dengan salah satu dari berikut ini:

  • CACHE_ALL_STATIC (default): Otomatis meng-cache konten statis jika origin tidak menetapkan header penyimpanan dalam cache yang valid. Respons yang ditandai sebagai tidak dapat di-cache (perintah private atau no-store di header respons Cache-Control) tidak di-cache. Untuk meng-cache konten dinamis, konten harus memiliki header penyimpanan dalam cache yang valid.

  • USE_ORIGIN_HEADERS: Mewajibkan origin menetapkan header cache yang valid untuk menyimpan konten dalam cache. Respons tanpa header ini tidak di-cache di edge Google dan memerlukan perjalanan penuh ke origin pada setiap permintaan, yang berpotensi memengaruhi performa dan meningkatkan beban pada server origin.

  • FORCE_CACHE_ALL: Menyimpan semua konten dalam cache (yaitu, respons yang berhasil), mengabaikan perintah private atau no-store di header respons Cache-Control. Hal ini dapat menyebabkan penyimpanan konten pribadi per pengguna (dapat diidentifikasi pengguna) ke dalam cache. Anda hanya boleh mengaktifkan ini di backend yang tidak menyajikan konten pribadi atau dinamis, seperti bucket Cloud Storage.