Melakukan caching dengan cache bawaan Cloud Storage

Halaman ini membahas opsi yang Anda miliki untuk mengontrol cara objek Cloud Storage Anda di-cache. Halaman ini berfokus pada cache bawaan Cloud Storage dan Cloud CDN, tetapi Cloud Storage juga kompatibel dengan Jaringan Pengiriman Konten (CDN) pihak ketiga.

Ringkasan

Kontrol penayangan cache untuk objek Cloud Storage Anda guna meningkatkan performa aplikasi dan membantu menjaga konten tetap terbaru. Meng-cache data objek menyimpan salinan data di cache Google atau internet, yang mempercepat permintaan baca data di masa mendatang. Cloud Storage menawarkan caching bawaan yang berperilaku seperti CDN. Anda mengelola caching bawaan ini melalui metadata Cache-Control, yang menentukan cara dan durasi cache menyimpan objek Anda.

Untuk kontrol yang lebih canggih, gunakan penyimpanan cache Cloud Storage dengan Cloud CDN atau pelajari Anywhere Cache.

Melakukan caching dengan Anywhere Cache

Anywhere Cache menyediakan cache baca berbasis SSD yang selalu konsisten dan terkelola sepenuhnya yang dapat dibuat di zona yang sama dengan workload Anda di Compute. Cache digunakan untuk mempercepat penyajian data untuk workload besar yang intensif data. Data yang dibaca dari cache dikenai biaya transfer data yang lebih rendah dibandingkan dengan data yang dibaca langsung dari bucket multi-region, sehingga Anda dapat mengoptimalkan biaya.

Untuk mengetahui informasi selengkapnya, lihat Anywhere Cache.

Cache bawaan untuk Cloud Storage

Cloud Storage dapat berperilaku seperti Jaringan Penayangan Konten (CDN) tanpa memerlukan pekerjaan di pihak Anda, karena data objek di-cache di jaringan Cloud Storage jika metadata Cache-Control-nya disetel untuk mengizinkan penyimpanan dalam cache dan kriteria berikut terpenuhi:

Cloud Storage mengikuti nilai standar untuk Cache-Control, seperti berikut:

  • public: objek dapat di-cache.

  • private: objek tidak akan di-cache oleh Cloud Storage, tetapi dapat di-cache dalam cache lokal pemohon.

  • no-cache: objek dapat di-cache, tetapi tidak dapat digunakan untuk memenuhi permintaan mendatang, kecuali telah divalidasi terlebih dahulu oleh Cloud Storage.

  • no-store: objek tidak dapat di-cache.

  • max-age=TIME_IN_SECONDS: durasi waktu objek dapat di-cache sebelum dianggap tidak berlaku. Anda dapat menetapkan max-age ke durasi waktu berapa pun. Objek yang tidak berlaku tidak disajikan dari cache, kecuali dalam kondisi khusus.

Untuk menyetel metadata Cache-Control untuk objek, lihat Mengedit metadata objek.

Perilaku penyimpanan dalam cache bawaan dengan kebijakan Penolakan IAM

Jika ada kebijakan Penolakan IAM tingkat organisasi yang membatasi akses baca untuk objek dari ID akun utama allUsers, caching bawaan akan dinonaktifkan untuk objek tersebut, meskipun ada kebijakan IAM tingkat bucket yang memberikan akses baca untuk objek tersebut kepada allUsers. Namun, jika kebijakan Penolakan IAM hanya membatasi pengguna perorangan, caching bawaan tetap diaktifkan untuk objek.

Pertimbangan performa

Performa dapat jauh lebih baik untuk objek yang dapat di-cache secara publik. Jika Anda memiliki objek yang digunakan untuk mengontrol banyak klien dan, sebagai akibatnya, ingin menonaktifkan caching untuk memberikan data terbaru:

  • Sebaiknya setel metadata Cache-Control objek ke public dengan max-age yang berdurasi 15-60 detik. Sebagian besar aplikasi dapat menoleransi objek yang tidak berlaku lagi selama beberapa detik, sebagai imbalan atas peningkatan performa.

  • Gunakan Cache-Control: no-store untuk suatu objek guna menunjukkan bahwa objek tersebut tidak boleh di-cache untuk permintaan berikutnya di cache mana pun.

Cloud Storage dengan Cloud CDN

Untuk mendapatkan performa terbaik saat menayangkan konten kepada pengguna, sebaiknya gunakan Cloud Storage dengan Cloud CDN. Dibandingkan dengan kemampuan caching yang Anda dapatkan dengan Cloud Storage saja, Cloud CDN menawarkan performa yang lebih baik, ukuran file yang dapat di-cache lebih besar, dan fitur seperti invalidasi cache.

Untuk menggunakan Cloud CDN, Anda harus menggunakan Load Balancer Aplikasi eksternal dengan bucket Cloud Storage sebagai backend. Untuk tutorial tentang cara menyiapkan load balancer HTTP(S) dengan bucket Cloud Storage, lihat Menghosting situs statis.

Dengan mode cache Cloud CDN, Anda dapat menerapkan konfigurasi penyimpanan cache terpadu di semua objek. Cloud CDN menggunakan metadata Cache-Control yang ditetapkan pada objek Anda untuk menentukan cara objek tersebut di-cache, kecuali jika Anda mengganti metadata Cache-Control menggunakan mode cache atau batas TTL.

Pertimbangkan perbedaan dalam kemampuan dan implikasi harga saat memilih antara caching bawaan Cloud Storage dan Cloud CDN:

Perbedaan kemampuan

Fitur Cloud Storage Cloud CDN
Ukuran file yang dapat di-cache maksimum 10 MiB 100 GiB 1
Masa berlaku cache default 1 jam 1 jam (dapat dikonfigurasi)
Dukungan untuk domain kustom melalui HTTPS Tidak Ya
Pembatalan validasi cache Tidak Ya

1Ukuran file maksimum yang dapat di-cache untuk Cloud CDN adalah 100 GiB jika server asal mendukung permintaan rentang byte. Jika server asal tidak mendukung permintaan rentang byte, ukuran file maksimum yang dapat di-cache untuk Cloud CDN adalah 10 MiB.

Pertimbangan harga

Dalam hal harga, pilihan antara penyimpanan cache bawaan Cloud Storage dan Cloud CDN bergantung pada jumlah data yang Anda sajikan setiap bulannya, yang menentukan jumlah biaya Networking yang Anda keluarkan.

  • Jika Anda menyajikan kurang dari beberapa GiB data yang dapat di-cache dalam sebulan, mungkin akan lebih murah secara keseluruhan jika Anda mengandalkan penyimpanan cache bawaan Cloud Storage. Penyimpanan cache Cloud Storage dapat menimbulkan biaya jaringan yang lebih tinggi daripada Cloud CDN, karena objek yang di-cache dan tidak di-cache dikenai biaya transfer data keluar yang sama (yang berarti Anda membayar penuh jika cache ditemukan). Namun, Anda hanya membayar biaya penggunaan penyimpanan dan operasi data yang terkait dengan Cloud Storage, bukan kombinasi Cloud Storage, Cloud CDN, dan Cloud Load Balancing.

  • Jika Anda rutin menyajikan 100 GiB atau lebih data yang dapat di-cache per bulan, atau perlu menggunakan logging per permintaan dan header kustom, mungkin akan lebih murah secara keseluruhan bagi Anda untuk mengandalkan Cloud CDN. Anda dikenai biaya transfer data keluar Cloud Storage dan pengisian cache Cloud CDN untuk pengisian cache, dan harga Networking Cloud CDN berlaku setelah cache penuh. Penghematan biaya jaringan yang Anda peroleh dari penggunaan Cloud CDN mungkin sebanding dengan biaya operasi yang lebih tinggi yang terkait dengan pemeliharaan Load Balancer Aplikasi eksternal dan Cloud CDN, bersama dengan Cloud Storage.

Langkah berikutnya