Memulai

Halaman ini membantu Anda memulai pengoptimalan gambar Cloud CDN, menjelaskan cara mengonfigurasi pengoptimalan gambar dan daftar operasi yang didukung dengan contoh.

Prasyarat

Agar pengoptimalan gambar Cloud CDN berfungsi, pastikan prasyarat berikut terpenuhi:

  • Kebijakan cache Cloud CDN harus diaktifkan di rute URL atau layanan backend atau bucket terkait, dan fitur pengoptimalan gambar harus aktif di rute peta URL tersebut.

  • Pengoptimalan gambar hanya didukung untuk Load Balancer Aplikasi Eksternal Global. Load Balancer Aplikasi klasik tidak didukung.

  • Permintaan klien harus menyertakan header Accept yang menunjukkan bahwa klien dapat menerima konten gambar, seperti image/webp, image/avif, image/*, atau */*.

  • Server asal harus merespons dengan kode status HTTP 200 dan header Content-Type gambar yang didukung.

  • Parameter kueri imop harus disertakan dalam URL dan berisi satu atau beberapa operasi transformasi yang valid.

Mengonfigurasi pengoptimalan gambar

Pengoptimalan gambar memerlukan caching aktif yang diaktifkan. Pastikan Anda mengonfigurasi setidaknya salah satu hal berikut:

  • Caching berbasis backend: pastikan backend memiliki Enable Cloud CDN yang dicentang.

  • Caching tingkat peta URL: pastikan kebijakan cache dikonfigurasi di tingkat peta URL untuk jalur tertentu tempat Anda berencana mengaktifkan pengoptimalan gambar.

gcloud

Anda harus menambahkan konfigurasi ke file YAML dan mengimpornya ke peta URL karena kebijakan pengoptimalan gambar ditentukan di dalam objek routeAction.

Ekspor konfigurasi peta URL yang ada ke file YAML lokal:

gcloud beta compute url-maps export YOUR_URL_MAP_NAME \
    --global \
    --destination my-url-map.yaml

Edit file my-url-map.yaml di editor teks dan tambahkan kolom imageOptimizationPolicy ke bagian routeAction atau defaultRouteAction yang dipilih.

name: image-matcher
routeRules:
  - description: ImageOptimizationService
    matchRules:
      - prefixMatch: /images/
    priority: 1
    routeAction:
      imageOptimizationPolicy:
        queryParameterInterpretation: ENABLED

Mengimpor peta URL yang diperbarui

gcloud beta compute url-maps import YOUR_URL_MAP_NAME \
    --global \
    --source my-url-map.yaml

Konsol

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

    Buka halaman Load balancing

  2. Klik nama Load Balancer Aplikasi eksternal global Anda.
  3. Klik Edit .
  4. Buka tab Backend configuration.
  5. Configure caching: Pengoptimalan gambar memerlukan caching aktif agar berhasil disimpan. Pilih dan konfigurasi salah satu hal berikut, agar pengoptimalan gambar berfungsi.
    • Backend-based: Pastikan Enable Cloud CDN dipilih dalam konfigurasi Backend Service Anda.
    • URL map level:
      1. Buka Routing rules , lalu pilih Advanced host and path rule.
      2. Tentukan kebijakan cache di tingkat peta URL pada rute tempat Anda mengaktifkan pengoptimalan gambar.

Bergantung pada arsitektur perutean Anda, pilih salah satu aturan perutean:

Untuk menggunakan aturan perutean default, lakukan hal berikut:

  1. Di bagian Host and path rules, di bagian Action, pilih Route traffic to a single backend mode, lalu pilih backend dari daftar.
  2. Luaskan Image optimization section (dikecilkan secara default).
  3. Centang kotak Enable Image optimization.

Untuk menggunakan aturan perutean kustom, lakukan hal berikut:

  1. Di bagian Host and path rules, pilih Add host and path rule.
  2. Di Hosts field, masukkan * untuk mencocokkan semua nama host.
  3. Di bagian Path matcher, gunakan editor YAML untuk menentukan konfigurasi Anda.
  4. Klik Code guidance di bawah editor YAML untuk mendapatkan panduan tentang kode.
  5. Salin cuplikan dan tempelkan ke editor YAML.
  6. Perbarui nilai placeholder.

Meninjau konfigurasi

  1. Tinjau konfigurasi Anda.
  2. Klik Done untuk menutup sub-editor.
  3. Klik Update untuk menyimpan konfigurasi Anda.

Format gambar yang didukung

Pengoptimalan gambar Cloud CDN mendukung berbagai format input dari server asal Anda. Meskipun sebagian besar format dapat digunakan untuk pemrosesan dan output, beberapa format hanya berupa Input dan tidak dapat digunakan sebagai format output target.

Format gambar berikut didukung dari server asal Anda:

Format Header Content-Type Input/output Skenario kasus penggunaan
gif image/gif Input dan output Format animasi/statis standar. Frame animasi dapat diekstrak menggunakan operasi Freeze.
png image/png Input dan output Format lossless, ideal untuk transparansi, logo, dan seni digital.
webp image/webp Input dan output Format modern yang dioptimalkan untuk web dengan kompresi lossy dan lossless.
jpeg image/jpeg Input dan output Format fotografi standar.
brunsli image/x-j Input dan output Format pengemasan ulang JPEG lossless berefisiensi tinggi.
tiff image/tiff Input dan output Format raster berbasis tag berkualitas tinggi.
avif image/avif Input dan output Format gambar generasi berikutnya yang berefisiensi tinggi.
bmp image/bmp Hanya input Tidak dapat ditentukan sebagai format output. Konversi ke WEBP atau JPEG menggunakan ?imop=Convert,format=webp.
ico text/ico, image/ico, image/icon, application/ico, image/x-icon, image/vnd.microsoft.icon Hanya input Format container ikon. Tidak dapat diekspor; konversi ke format output yang didukung untuk penayangan.
jp2k image/jp2 Hanya input Format JPEG 2000. Harus dikonversi secara eksplisit menggunakan a Convert operasi.
heif image/heif Hanya input Format Gambar Efisiensi Tinggi. Harus dikonversi sebelum penayangan edge.

URL transformasi gambar

Untuk melakukan transformasi gambar dinamis, tambahkan parameter kueri imop ke URL gambar Anda. Parameter ini menyimpan string transformasi, yang terdiri dari satu atau beberapa operasi yang diterapkan secara berurutan.

String transformasi menggunakan aturan format berikut:

  • Gunakan titik koma (;) untuk memisahkan setiap operasi.
  • Gunakan koma (,) untuk memisahkan parameter internal dalam setiap operasi.
  • Hanya satu operasi dari jenis tertentu yang dapat disertakan dalam satu string kueri.

Sintaksis dasar menggunakan struktur berikut:

?imop=[OPERATION_1];[OPERATION_2];...[OPERATION_N]

Untuk melakukan beberapa tindakan pada gambar secara bersamaan, tambahkan string parameter berantai ke URL gambar. Misalnya, untuk mengubah ukuran gambar menjadi lebar 800 piksel , tetapkan kualitas kompresi ke 85, dan konversi format ke WebP, tambahkan string parameter.

Misalnya,

https://www.example.com/image.jpg?imop=Resize,width=800;Compress,quality=85;Convert,format=webp;

Struktur kebijakan

Kebijakan pengoptimalan gambar bertindak sebagai wrapper konfigurasi inti yang berisi setiap properti yang relevan dengan fungsi fitur pengoptimalan gambar.

Nama

Deskripsi

Konfigurasi

queryParameterInterpretation

Nilai enum yang menentukan apakah parameter kueri untuk pengoptimalan gambar akan ditafsirkan di data plane.

Wajib diisi. Jika disetel ke DISABLED, parameter kueri untuk transformasi akan diabaikan oleh kebijakan, sehingga menonaktifkan fitur ini. Jika disetel ke ENABLED, fitur ini akan diaktifkan.

Dependensi dan validasi kebijakan

Kebijakan pengoptimalan gambar memiliki dependensi pada caching Cloud CDN. Agar fitur ini berfungsi, Kebijakan Cache harus ditetapkan secara eksplisit di salah satu dari dua lokasi:

  • Rute peta URL yang sama tempat kebijakan Pengoptimalan gambar dikonfigurasi.

  • Layanan backend atau bucket backend yang terkait dengan rute tersebut.

Kebijakan pengoptimalan gambar diterapkan secara ketat bersama dengan Kebijakan Cache yang mendasarinya dan aktif.

Aturan pengurutan pengoptimalan gambar

Operasi yang tercantum dalam parameter kueri imop diproses dari kiri ke kanan, dengan pengecualian penggantian sistem absolut berikut:

  • Operasi metadata dan scale selalu dijalankan terlebih dahulu.
  • Operasi canvas selalu dijalankan terakhir.

Semua aset input menjalani normalisasi otomatis sebelum transformasi ini dijalankan. Penanda orientasi EXIF dan profil warna ICC diterapkan langsung ke piksel gambar sebelum metadata dihapus, sehingga memastikan integritas koordinat tetap akurat untuk tindakan struktural berikutnya.

Langkah berikutnya