Untuk layanan Cloud Run, secara default Cloud Run melakukan downgrade permintaan HTTP/2 ke HTTP/1 saat permintaan tersebut dikirim ke container. Jika Anda ingin menyetel layanan Anda secara eksplisit agar menggunakan HTTP/2 end-to-end, tanpa downgrade, Anda dapat mengonfigurasinya untuk HTTP/2. Halaman ini menunjukkan cara melakukan konfigurasi.
Untuk informasi selengkapnya tentang cara memanggil layanan menggunakan HTTP, baca Memanggil dengan Permintaan HTTPS.
Sebelum Anda mengonfigurasi
Layanan Cloud Run Anda harus menangani permintaan dalam format
HTTP/2 cleartext
(h2c
). Infrastruktur penayangan frontend Google
menghentikan TLS, lalu meneruskan traffic h2c
ke Cloud Run
dan ke penampung Anda melalui saluran terenkripsi.
Untuk mengonfirmasi bahwa layanan Anda mendukung permintaan h2c
,
uji layanan secara lokal menggunakan perintah cURL ini:
curl -i --http2-prior-knowledge http://localhost:PORT
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan guna mengonfigurasi dan men-deploy layanan Cloud Run, minta administrator untuk memberi Anda peran IAM berikut:
-
Cloud Run Developer (
roles/run.developer
) di layanan Cloud Run -
Service Account User (
roles/iam.serviceAccountUser
) di identitas layanan
Untuk mengetahui daftar peran dan izin IAM yang terkait dengan Cloud Run, lihat peran IAM Cloud Run dan izin IAM Cloud Run. Jika layanan Cloud Run Anda berinteraksi dengan Google Cloud API, seperti Library Klien Cloud, lihat panduan konfigurasi identitas layanan. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat izin deployment dan mengelola akses.
Menyetel dan mengupdate HTTP/2 end-to-end
Setiap perubahan konfigurasi akan menghasilkan revisi baru. Tiap revisi berikutnya juga akan secara otomatis mengandung perubahan konfigurasi tersebut, kecuali jika Anda membuat update yang eksplisit untuk perubahan secara khusus.
Anda dapat menentukan penggunaan HTTP/2 end-to-end menggunakan konsol Google Cloud, command line gcloud, atau file YAML saat Anda membuat layanan baru atau men-deploy revisi baru:
Konsol
Di konsol Google Cloud, buka Cloud Run:
Klik Deploy container dan pilih Service untuk mengonfigurasi layanan baru. Jika Anda mengonfigurasi layanan yang sudah ada, klik layanan, lalu klik Edit dan deploy revisi baru.
Jika Anda mengonfigurasi layanan baru, isi halaman setelan layanan awal, lalu klik Container, volume, networking, security untuk memperluas halaman konfigurasi layanan.
Klik tab Networking.
- Pilih kotak centang Aktifkan koneksi http/2
Klik Buat atau Deploy.
gcloud
Anda dapat memperbarui layanan yang diberikan untuk menggunakan HTTP/2 dengan mengikuti perintah berikut:
gcloud run services update SERVICE --use-http2
Ganti SERVICE
dengan nama layanan Anda.
Anda juga dapat menyiapkan layanan Anda menggunakan HTTP/2 selama deployment menggunakan perintah:
gcloud run deploy --image IMAGE_URL --use-http2
Ganti IMAGE_URL dengan referensi ke image container, misalnya,
us-docker.pkg.dev/cloudrun/container/hello:latest
. Jika Anda menggunakan Artifact Registry,
maka repositori REPO_NAME harus
sudah dibuat. URL memiliki bentuk LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
YAML
Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang sudah ada, download konfigurasi YAML-nya:
gcloud run services describe SERVICE --format export > service.yaml
Memperbarui
ports
dengan namah2c
dancontainerPort
dengan port pilihan Anda, seperti yang ditunjukkan dalam contoh berikut:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: name: REVISION spec: containers: - image: IMAGE_URL ports: - name: h2c containerPort: 8080
Ganti
- SERVICE dengan nama layanan Cloud Run Anda
- IMAGE_URL dengan referensi ke container image,
contohnya,
us-docker.pkg.dev/cloudrun/container/hello:latest
. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentukLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
- REVISION dengan nama revisi baru atau hapus (jika ada). Jika Anda memberikan nama revisi baru, nama tersebut harus memenuhi kriteria berikut:
- Dimulai dengan
SERVICE-
- Hanya berisi huruf kecil, angka, dan
-
- Tidak diakhiri dengan
-
- Tidak melebihi 63 karakter
- Dimulai dengan
Buat atau perbarui layanan menggunakan perintah berikut:
gcloud run services replace service.yaml
Terraform
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Tambahkan kode google_cloud_run_v2_service
berikut ke resource di konfigurasi Terraform
Anda, pada template.containers
. Jika container Anda memproses
permintaan HTTP di port selain 8080
, ganti 8080
dengan kode port
tersebut.
Lihat setelan http/2
Untuk melihat setelan http/2 untuk layanan Cloud Run Anda saat ini:
Konsol
Di konsol Google Cloud, buka Cloud Run:
Klik layanan yang Anda minati untuk membuka halaman Detail layanan.
Klik tab Revisi.
Di sebelah kanan panel detail, setelan http/2 tercantum di tab Networking.
gcloud
Gunakan perintah berikut:
gcloud run services describe SERVICE
Cari setelan http/2 di konfigurasi yang ditampilkan.