Praktik terbaik penayangan konten

Halaman ini memberikan praktik terbaik untuk mengoptimalkan dan mempercepat penayangan konten dengan Cloud CDN. Bagian ini dibagi menjadi beberapa area utama.

Cloud CDN menggunakan Load Balancer Aplikasi eksternal sebagai asal untuk konten yang dapat di-cache. Load Balancer Aplikasi eksternal dapat mengirimkan campuran konten statis dan yang dibuat secara dinamis kepada pengguna melalui satu alamat IP global dari jenis backend berikut:

Berkat integrasi yang lancar dengan Google Cloud, Anda memiliki beberapa opsi untuk men-deploy Cloud CDN dan mengelola konten. Gunakan praktik terbaik yang tercantum di sini untuk merencanakan dan mengoptimalkan deployment Anda. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan Cloud CDN.

Mengoptimalkan rasio cache ditemukan

Praktik yang direkomendasikan berikut membantu mengoptimalkan rasio cache ditemukan.

Cache konten statis

Sebagai praktik terbaik untuk meningkatkan performa, saat mengaktifkan Cloud CDN, Anda harus memilih mode cache yang tepat untuk aplikasi.

Metode yang paling fleksibel dan secara umum lebih disukai untuk mengelola aturan cache adalah dengan menggunakan header kontrol cache. Jika saat ini Anda belum terbiasa menggunakan header kontrol cache origin, rekomendasi praktik terbaiknya adalah mengizinkan Cloud CDN untuk otomatis meng-cache konten statis.

Untuk otomatis meng-cache respons statis dari origin, Anda dapat menggunakan setelan --cache-mode=CACHE_ALL_STATIC (default). Setelan ini memungkinkan Cloud CDN meng-cache jenis konten statis umum jika originnya tidak menentukan perintah caching apa pun di header respons. Pastikan konten Anda sesuai dengan kategori yang diuraikan; jika tidak, konten tidak akan disimpan dalam cache.

Jangan menyimpan konten khusus pengguna ke dalam cache

Dalam beberapa kasus, browser dapat menyimpan konten khusus pengguna dalam cache. Jangan gunakan Cloud CDN untuk menyimpan konten khusus pengguna ke dalam cache.

Menggunakan kunci cache khusus untuk meningkatkan rasio cache ditemukan

Demi performa dan skalabilitas, penting untuk mengoptimalkan rasio cache ditemukan. Secara default, Cloud CDN menggunakan URL permintaan lengkap untuk membuat kunci cache. Untuk membantu mengoptimalkan rasio cache ditemukan, Anda dapat menggunakan kunci cache kustom sehingga Cloud CDN tidak perlu melakukan sharding cache.

Penyimpanan nilai kunci Cloud CDN
Penyimpanan nilai kunci Cloud CDN

Kunci cache kustom memungkinkan Anda menyertakan atau menghilangkan kombinasi protokol, host, dan string kueri apa pun. Berikut adalah beberapa contoh kapan Anda dapat menggunakan kunci cache kustom:

  • Anda memiliki dua host yang me-resolve ke alamat IP yang sama dan menuju ke layanan yang sama. Dalam contoh ini, keseluruhan situs pada kedua host akan dianggap sama. Secara default, Cloud CDN menyimpan dua salinan dalam cache karena header Host: yang berbeda dalam permintaan HTTP. Dengan kunci cache kustom, Anda dapat membuat Cloud CDN mengabaikan bagian host permintaan dan membagikan entri cache.

  • Pada contoh yang lebih spesifik, Anda mungkin memiliki dua situs pada domain berbeda yang menggunakan logo yang sama. Konten situs berbeda, tetapi Anda menggunakan logo perusahaan yang sama di kedua domain, dan Anda memiliki layanan backend khusus yang menyimpan konten bersama. Saat Anda mengaktifkan Cloud CDN dan menyesuaikan kunci cache untuk layanan backend yang menyimpan logo, hapus centang pada kotak Host sehingga cache mengabaikan domain, tetapi meng-cache logo.

  • Logo harus di-cache baik ditampilkan melalui HTTP atau HTTPS. Saat menyesuaikan kunci cache untuk layanan backend yang menyimpan logo, hapus centang pada kotak Protocol sehingga permintaan melalui HTTP dan HTTPS dihitung sesuai dengan entri cache logo.

Untuk mempelajari cara menyesuaikan kunci cache, lihat Menggunakan kunci cache.

Mengoptimalkan performa

Praktik yang direkomendasikan berikut membantu mengoptimalkan performa.

Pastikan dukungan protokol HTTP/3 dan QUIC diaktifkan

HTTP/3 adalah protokol internet generasi berikutnya. API ini dibuat di atas QUIC, protokol yang dikembangkan dari protokol asli Google QUIC ) (gQUIC). HTTP/3 didukung antara load balancing HTTP(S) eksternal, Cloud CDN, dan klien.

Untuk meningkatkan performa dengan Cloud CDN, pastikan HTTP/3 diaktifkan.

Gunakan cache negatif

Pembuatan cache negatif memberikan kontrol terperinci atas penyimpanan dalam cache untuk error atau pengalihan umum. Saat menemukan kode respons tertentu, Cloud CDN menyimpan respons tersebut di cache untuk TTL yang ditetapkan. Hal ini dapat mengurangi beban pada origin Anda dan meningkatkan pengalaman pengguna akhir dengan mengurangi latensi respons.

Mengoptimalkan keamanan

Praktik yang direkomendasikan berikut membantu mengoptimalkan keamanan.

Gunakan Google Cloud Armor

Google Cloud Armor terintegrasi dengan Cloud CDN untuk konten yang di-cache dan tidak di-cache atau tidak di-cache. Rekomendasi praktik terbaik adalah menggunakan Google Cloud Armor bersama dengan Cloud CDN jika memungkinkan untuk meningkatkan keamanan aplikasi web.

Menggunakan URL yang ditandatangani

Jika Anda menggunakan URL bertanda tangan, perhatikan hal-hal berikut:

Mengautentikasi origin pribadi

Autentikasi origin menawarkan jaminan kuat bahwa permintaan hanya berasal dari layanan backend yang Anda konfigurasi sendiri. Metode ini juga menawarkan perlindungan data selama pengiriman untuk permintaan dan melindungi dari penggunaan kembali bagian yang ditandatangani dari permintaan.

Sebaiknya gunakan autentikasi asal pribadi untuk bucket Amazon S3 atau penyimpanan objek yang kompatibel. Autentikasi origin pribadi membantu memastikan bahwa hanya koneksi tepercaya yang mengakses konten di asal pribadi Anda dan bahwa pengguna tidak mengaksesnya secara langsung.

Selain itu, jika firewall asal mencegah akses ke asal, gunakan daftar yang diizinkan IP untuk memastikan bahwa permintaan berasal dari Cloud CDN atau Load Balancer Aplikasi eksternal. Namun, hal ini tidak mencegah pelanggan Media CDN lain mencoba mengakses konten Anda dengan menentukan origin Anda dalam konfigurasinya.

Mengoptimalkan cache

Praktik yang direkomendasikan berikut membantu mengoptimalkan cache.

Mengoptimalkan TTL cache

Anda dapat menetapkan atau mengganti TTL untuk menyesuaikan lamanya Cloud CDN menyimpan respons Anda dalam cache dan kapan Cloud CDN memvalidasi ulang respons Anda.

Anda juga dapat menentukan TTL yang berhubungan langsung dengan klien untuk mengoptimalkan cache browser.

Untuk mengetahui informasi selengkapnya, lihat Menggunakan setelan dan penggantian TTL.

Menetapkan batas waktu untuk konten yang sensitif waktu

Setiap bagian konten dalam cache Cloud CDN memiliki waktu habis masa berlaku yang terkait, dan penting untuk menetapkan masa berlaku yang sesuai dengan kasus penggunaan Anda. Karena server origin harus mengirim ulang konten yang habis masa berlakunya di server cache, Anda harus memilih masa berlaku dengan hati-hati.

Salah satu metode untuk memilih masa berlaku adalah mengategorikan konten berdasarkan seberapa sering Anda memperbarui konten tersebut; misalnya:

  • Info terbaru real-time yang mendekati seperti feed live untuk acara olahraga atau lalu lintas
  • Update rutin seperti informasi cuaca mingguan, harian, atau per jam atau gambar berita di halaman depan
  • Update yang tidak sering seperti logo situs atau file CSS atau JavaScript

Berikutnya, pilih masa berlaku menurut kategori konten. Misalnya, masa berlaku 5 detik mungkin sesuai untuk skor olahraga mendekati real-time, dan masa berlaku satu jam dapat digunakan untuk info terbaru cuaca. Untuk konten yang disimpan di Cloud Storage, tetapkan waktu habis masa berlaku menggunakan metadata Cache-Control. Ketika konten disajikan oleh Compute Engine, Anda dapat mengontrol waktu habis masa berlaku dengan mengonfigurasi software server web Anda.

Waktu habis masa berlaku ditentukan oleh nilai max-age dan s-maxage di header Cache-Control. Header ini ditentukan oleh spesifikasi HTTP. Misalnya, header Cache-Control berikut membuat konten terkait dapat dibaca oleh publik dan dapat di-cache dengan masa berlaku cache selama 72 jam (259.200 detik):

  Cache-Control: public, max-age=259200

Untuk memaksimalkan penyimpanan cache, ikuti panduan dalam Ringkasan caching. Perlu diingat bahwa nilai max-age dan s-maxage di kolom metadata Cache-Control bekerja sama dengan cara berikut:

  • Nilai max-age dan s-maxage diukur dalam detik.
  • Nilai s-maxage hanya berlaku untuk cache bersama, bukan cache browser.
  • Nilai max-age berlaku untuk semua cache kecuali jika s-maxage menggantinya.

Untuk konten yang jarang berubah atau yang harus berubah bersama dengan konten terkait, sebaiknya gunakan waktu habis masa berlaku yang panjang bersama dengan URL berversi.

Menggunakan URL berversi untuk memperbarui konten

Konten pembuatan versi menyajikan konten yang sama dengan versi lain, dan menghapusnya secara efektif dengan menampilkan konten baru kepada pengguna sebelum masa berlaku entri cache berakhir. Karena pembuatan versi gratis dan mudah digunakan, sebaiknya gunakan pembuatan versi sebagai pendekatan default untuk mengupdate konten yang dapat di-cache.

Untuk membuat versi konten, tambahkan parameter ke URL, seperti nomor versi. Ada berbagai cara untuk menyertakan parameter di URL, seperti:

  • Tambahkan string kueri: file.ext?v=100.

    Untuk bucket backend, string kueri apa pun yang digunakan untuk pembuatan versi harus ditentukan dalam konfigurasi untuk bucket backend. Untuk mengetahui informasi selengkapnya, baca artikel Daftar yang menyertakan string kueri untuk kunci cache Cloud Storage.

  • Ubah nama file: file.1.0.0.ext atau file_v100.ext.

  • Ubah jalur file: /v100/file.ext.

Saat menambahkan parameter, Anda akan mengubah nama file dan URL. Perubahan ini memaksa cache untuk mengabaikan entri cache yang ada.

Gunakan pembatalan validasi seperlunya untuk menghapus konten

Validasi menghapus konten dari server cache terdistribusi Cloud CDN sebelum entri cache berakhir. Pembatalan validasi pada akhirnya konsisten.

Sebaiknya gunakan pembatalan seperlunya dan hanya sebagai opsi terakhir. Misalnya, pembatalan validasi berguna jika Anda harus menghapus konten karena alasan hukum atau karena upload yang tidak disengaja. Jika tidak, sebaiknya gunakan pembuatan versi jika memungkinkan atau tunggu hingga masa berlaku konten berakhir secara normal. Server cache Cloud CDN secara rutin mengeluarkan konten yang jarang diakses untuk memberi ruang bagi konten baru. Konten yang tidak diakses selama 30 hari akan dihapus tanpa syarat.

Pembatalan validasi cache memiliki batas kapasitas.

Untuk mempelajari lebih lanjut pembatalan validasi, lihat Ringkasan pembatalan validasi cache.

Pemantauan dan Logging Optimize

Praktik yang direkomendasikan berikut membantu mengoptimalkan Monitoring dan Logging.

Pastikan logging diaktifkan untuk Cloud CDN

Praktik terbaik untuk mengelola Cloud CDN adalah memastikan logging diaktifkan untuk semua backend yang mengaktifkan Cloud CDN.

Menggunakan dasbor pemantauan kustom untuk Cloud CDN

Untuk memastikan keandalan dan performa yang lebih baik, praktik terbaiknya adalah meninjau secara rutin metrik pemantauan yang terkait dengan Cloud CDN. Tempat yang tepat untuk memulai adalah dengan dasbor pemantauan kustom Cloud CDN.

Meninjau pengujian performa pihak ketiga

Tinjau laporan dari penyedia pihak ketiga, seperti laporan ketersediaan, latensi, dan throughput yang disediakan oleh Citrix Radar.