Menggunakan HTTPS/2 (layanan)

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), karena TLS masih dihentikan secara otomatis oleh Cloud Run.

Untuk mengonfirmasi bahwa layanan Anda mendukung permintaan h2c, uji layanan secara lokal menggunakan perintah cURL ini:

curl -i --http2-prior-knowledge http://localhost:PORT

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

  1. Di konsol Google Cloud, buka Cloud Run:

    Buka Cloud Run

  2. Klik Buat Layanan jika Anda mengonfigurasi layanan baru yang akan di-deploy. Jika Anda mengonfigurasi layanan yang ada, klik layanan, lalu klik Edit and deploy new revision.

  3. Jika Anda mengonfigurasi layanan baru, isi halaman setelan layanan awal sesuai keinginan, kemudian klik Container, vo;ume, jejaring, sekuritas untuk memperluas halaman konfigurasi layanan.

  4. Klik tab Networking.

    gambar

    • Pilih kotak centang Aktifkan koneksi http/2
  5. Klik Create atau Deploy.

Command line

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 REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG

YAML

Anda dapat mendownload dan melihat konfigurasi layanan yang ada menggunakan perintah gcloud run services describe --format export, yang memberikan hasil yang telah diolah dalam format YAML. Kemudian, Anda dapat mengubah kolom yang dijelaskan di bawah ini dan mengunggah YAML yang telah dimodifikasi menggunakan perintah gcloud run services replace. Pastikan Anda hanya mengubah kolom seperti yang didokumentasikan.

  1. Untuk melihat dan mengunduh konfigurasi:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Update ports dengan nama h2c dan containerPort 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 bentuk REGION-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 denganSERVICE-
      • Hanya berisi huruf kecil, angka, dan -
      • Tidak diakhiri dengan -
      • Tidak melebihi 63 karakter
  3. Ganti layanan dengan konfigurasi barunya 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.

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-service-h2c"
  location = "us-central1"

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"
      # Enable HTTP/2
      ports {
        name           = "h2c"
        container_port = 8080
      }
    }
  }
}

Lihat setelan http/2

Untuk melihat setelan http/2 untuk layanan Cloud Run Anda saat ini:

Konsol

  1. Di konsol Google Cloud, buka Cloud Run:

    Buka Cloud Run

  2. Klik layanan yang Anda minati untuk membuka halaman Detail layanan.

  3. Klik tab Revisi.

  4. Di sebelah kanan panel detail, setelan http/2 tercantum di tab Networking.

Command line

  1. Gunakan perintah berikut:

    gcloud run services describe SERVICE
  2. Cari setelan http/2 di konfigurasi yang ditampilkan.