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:
- Objek dapat diakses secara publik.
- Objek tidak disimpan dalam bucket yang mengaktifkan Requester Pays dan tidak berada dalam perimeter layanan Virtual Private Cloud.
- Objek tidak dienkripsi menggunakan kunci enkripsi yang dikelola pelanggan atau kunci enkripsi yang disediakan pelanggan.
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 menetapkanmax-ageke 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-Controlobjek kepublicdenganmax-ageyang 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-storeuntuk 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
- Baca selengkapnya tentang metadata
Cache-Control. - Pelajari lebih lanjut perintah RFC
Cache-Control. - Baca ringkasan penyimpanan cache untuk Cloud CDN.
- Pelajari cara membuat load balancer HTTP(S) eksternal untuk menyajikan permintaan dari bucket Cloud Storage.
- Baca detail harga untuk Load Balancer Aplikasi eksternal dan Cloud CDN.