Halaman ini membahas opsi yang Anda miliki untuk mengontrol cara objek Cloud Storage di-cache. Halaman ini berfokus pada cache bawaan Cloud Storage dan Cloud CDN, tetapi Cloud Storage juga kompatibel dengan CDN pihak ketiga.
Ringkasan
Jika objek Cloud Storage di-cache, salinan objek tersebut disimpan di cache Google atau cache internet, sehingga objek Anda dapat disajikan lebih cepat dalam permintaan mendatang. Meskipun penyimpanan cache dapat meningkatkan performa, Anda juga berisiko menyajikan konten lama jika Anda melakukan pembaruan pada objek tetapi cache tetap menyajikan versi lama objek tersebut.
Cache bawaan untuk Cloud Storage
Cloud Storage berperilaku seperti Jaringan Penayangan Konten (CDN) tanpa memerlukan pekerjaan di pihak Anda karena objek yang dapat dibaca secara publik disimpan dalam cache di jaringan Cloud Storage secara default.
Metadata Cache-Control
untuk sebuah objek menentukan berapa lama cache browser dan internet diizinkan untuk menyimpan cache objek Anda. Jaringan Cloud Storage hanya meng-cache objek yang dapat dibaca publik, tetapi proxy atau browser dapat menyimpan cache objek berdasarkan metadata Cache-Control
, bahkan untuk objek yang tidak dapat dibaca secara publik. Selain itu, jika Anda mencabut akses publik ke suatu objek, objek tersebut tetap dapat disajikan dari cache, bergantung pada kapan objek tersebut terakhir diakses dan setelan Cache-Control
-nya. Misalnya, jika objek Anda disajikan dengan Cache-Control
dari public, max-age=3600
, objek tersebut dapat tetap berada di cache selama satu jam.
Untuk menyetel metadata Cache-Control
, lihat Mengedit metadata objek.
Pertimbangan performa
Performa bisa jauh lebih baik untuk objek yang dapat di-cache secara publik. Jika Anda memiliki objek yang digunakan untuk mengontrol banyak klien dan, oleh karenanya, ingin menonaktifkan penyimpanan cache untuk memberikan data terbaru:
Sebaiknya setel metadata
Cache-Control
objek kepublic
denganmax-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 objek guna menunjukkan bahwa objek tidak boleh di-cache untuk permintaan berikutnya di cache apa pun.
Cloud Storage dengan Cloud CDN
Untuk mendapatkan performa terbaik saat menayangkan konten kepada pengguna, sebaiknya gunakan Cloud Storage dengan Cloud CDN.
Untuk menggunakan Cloud CDN, Anda harus menggunakan Load Balancer Aplikasi eksternal dengan bucket Cloud Storage sebagai backend. Untuk tutorial tentang cara menyiapkan load balancing HTTP(S) dengan bucket Cloud Storage, baca artikel 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.
Saat memilih antara cache bawaan Cloud Storage dan Cloud CDN, pertimbangkan hal berikut:
Fitur | Cloud Storage | Cloud CDN |
---|---|---|
Ukuran maksimum file yang dapat di-cache | 10 MiB | 5 TiB |
Masa berlaku cache default | 1 jam | 1 jam (dapat dikonfigurasi) |
Dukungan untuk domain kustom melalui HTTPS | Tidak | Ya |
Pembatalan validasi cache | Tidak | Ya |
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 Networking yang lebih tinggi jika dibandingkan dengan Cloud CDN, karena objek yang di-cache dan tidak di-cache dikenai biaya traffic keluar yang sama (yang berarti Anda membayar penuh jika cache ditemukan). Namun, Anda hanya membayar untuk penyimpanan data dan biaya penggunaan operasi 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 pengisian cache untuk traffic keluar Cloud Storage dan 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 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.
- Baca selengkapnya tentang metadata
Cache-Control
. - Pelajari perintah
Cache-Control
RFC lebih lanjut.