Memetakan domain kustom

Anda dapat menyiapkan domain kustom bukan alamat default yang disediakan Cloud Run untuk layanan yang di-deploy.

Ada beberapa cara untuk menyiapkan domain kustom pada layanan Cloud Run:

Anda dapat melakukan pemetaan beberapa domain kustom ke layanan Cloud Run yang sama.

Sebelum memulai

Beli domain baru, kecuali Anda sudah memiliki domain yang ingin Anda gunakan. Anda dapat menggunakan registrar nama domain apa pun.

Memetakan domain kustom menggunakan Load Balancer Aplikasi eksternal global

Dengan opsi ini, Anda akan menambahkan Load Balancer Aplikasi eksternal global di depan layanan Cloud Run Anda dan mengonfigurasi domain kustom di tingkat load balancer.

Salah satu keuntungan menggunakan Load Balancer Aplikasi eksternal global adalah Anda memiliki banyak kontrol terkait penyiapan domain kustom Anda. Misalnya, Anda diperbolehkan untuk menggunakan sertifikat TLS Anda sendiri atau menggunakan rute jalur URL tertentu ke layanan Cloud Run. Anda juga dapat mengonfigurasi Cloud CDN untuk menyimpan data ke dalam cache dan Google Cloud Armor untuk keamanan tambahan.

Perhatikan bahwa Anda juga dapat melakukan pemetaan beberapa layanan ke nama host atau jalur dinamis dalam pola URL domain kustom Anda untuk satu load balancer, misalnya, <service>.example.com, menggunakan Masker URL.

Menggunakan integrasi Cloud Run

Jika saat ini Anda tidak sedang menggunakan Load Balancer Aplikasi external global, Anda dapat menggunakan fitur integrasi Cloud Run untuk menyiapkan load balancer untuk layanan Cloud Run Anda dengan cepat. Lihat halaman integrasi untuk domain kustom di Cloud Run menggunakan Load Balancer Aplikasi eksternal global.

Menggunakan Load Balancer Aplikasi eksternal global secara langsung

Jika Anda sudah menggunakan Load Balancer Aplikasi eksternal global, lihat dokumentasi tentang menyiapkan Load Balancer Aplikasi eksternal global dengan Cloud Run. Perlu diperhatikan bahwa menggunakan fitur integrasi dapat menimpa beberapa konfigurasi load balancer yang ada seperti pengaktifan CDN.

Melakukan pemetaan domain kustom menggunakan Firebase Hosting

Dengan opsi ini, Anda akan mengonfigurasi Firebase Hosting di depan layanan Cloud Run Anda dan menghubungkan domain yang dikonfigurasi ke Firebase Hosting.

Menggunakan Firebase Hosting memiliki biaya yang rendah dan secara opsional memungkinkan Anda untuk menghosting dan menyajikan konten statis bersama konten dinamis yang disajikan oleh layanan Cloud Run Anda

Menggunakan integrasi Cloud Run

Cara termudah dan direkomendasikan untuk menggunakan Firebase Hosting untuk memetakan domain kustom adalah dengan menggunakan fitur integrasi Cloud Run untuk Firebase Hosting.

Menggunakan firebase.json

Jika tidak ingin menggunakan fitur integrasi Firebase Hosting, Anda dapat menggunakan pendekatan manual untuk mengonfigurasi Firebase Hosting.

Untuk memetakan domain kustom secara manual menggunakan Firebase Hosting:

  1. Tambahkan Firebase ke project Google Cloud Anda
  2. Menginstal Firebase CLI
  3. Dalam folder yang berbeda dari kode sumber layanan Anda, buat firebase.json dengan isi berikut:

      {
        "hosting": {
          "rewrites": [{
            "source": "**",
            "run": {
              "serviceId": "SERVICE_NAME",
              "region": "REGION"
            }
          }]
        }
      }
    

    Ganti SERVICE_NAME dan REGION dengan nama dan region layanan Cloud Run Anda.

  4. Deploy konfigurasi Firebase Hosting:

    firebase deploy --only hosting --project PROJECT_ID
  5. Menghubungkan domain kustom ke Firebase Hosting

Baca selengkapnya tentang Firebase Hosting dan Cloud Run.

Memetakan domain kustom menggunakan pemetaan domain Cloud Run (Ketersediaan terbatas dan Pratinjau)

Batasan pemetaan domain Cloud Run

Pertimbangan berikut berlaku pada pemetaan domain Cloud Run:

  • Pemetaan domain Cloud Run berada di tahap peluncuran pratinjau. Karena masalah latensi, model ini belum siap produksi dan tidak didukung di Ketersediaan Umum. Saat ini, opsi ini tidak direkomendasikan untuk layanan produksi.
  • Sertifikat yang dikelola oleh Google untuk koneksi HTTPS secara otomatis diterbitkan dan diperpanjang saat Anda melakukan pemetaan layanan ke domain kustom.
  • Penyediaan sertifikat SSL biasanya memakan waktu sekitar 15 menit tapi dapat juga lebih dari 24 jam.
  • Anda tidak dapat menonaktifkan TLS 1.0 dan 1.1. Jika hal tersebut terjadi, Anda dapat menggunakan Firebase Hosting atau Cloud Load Balancing untuk mengaktifkan lalu lintas TLS 1.2 saja.
  • Anda tidak dapat mengupload dan menggunakan sertifikat Anda sendiri (dikelola sendiri).
  • Pemetaan domain Cloud Run dibatasi hingga 64 karakter.
  • Pemetaan domain tersedia di region berikut:
    • asia-east1
    • asia-northeast1
    • asia-southeast1
    • europe-north1
    • europe-west1
    • europe-west4
    • us-central1
    • us-east1
    • us-east4
    • us-west1
  • Untuk melakukan pemetaan domain kustom di region lain, Anda harus menggunakan salah satu opsi pemetaan lainnya.
  • Saat Anda menggunakan pemetaan domain Cloud Run, Anda melakukan pemetaan domain kustom pada layanan Anda, kemudian memperbarui data DNS Anda.
  • Anda dapat melakukan pemetaan domain, seperti example.com atau subdomain, seperti subdomain.example.com.
  • Anda hanya dapat melakukan pemetaan domain ke /, bukan ke jalur URL tertentu seperti /users.
  • Anda tidak dapat menggunakan sertifikat karakter pengganti dengan fitur ini.

Melakukan pemetaan domain kustom ke suatu layanan

Anda dapat menggunakan konsol Google Cloud, gcloud CLI, atau Terraform untuk melakukan pemetaan domain kustom ke suatu layanan.

Konsol

  1. Buka halaman pemetaan domain di konsol Google Cloud:
    Halaman pemetaan domain

  2. Klik Tambahkan Pemetaan.

    Perhatikan bahwa jika jendela tampilan terlalu kecil, tombol Tambahkan Pemetaan tidak akan ditampilkan dan Anda harus mengklik ikon elips vertikal 3 titik di sudut kanan halaman.

  3. Dari menu drop-down, pilih layanan yang menjadi tujuan pemetaan domain kustom Anda.

  4. Bergantung pada region yang disetel untuk layanan yang dipilih, formulir menampilkan opsi yang tersedia untuk menambahkan domain kustom:

    • Firebase Hosting menggunakan integrasi Cloud Run
    • Domain kustom - Google Cloud Load Balancing menggunakan integrasi Cloud Run
    • Pemetaan Domain Cloud Run

    Pilih Cloud Run Domain Mappings.

  5. Di formulir Tambahkan pemetaan, pilih Verifikasi domain baru.

  6. Di kolom Base domain to Verify, Anda harus memverifikasi kepemilikan domain sebelum dapat menggunakannya, kecuali jika Anda membeli domain dari Google.

    Jika ingin memetakan subdomain.example.com atau subdomain1.subdomain2.example.com, Anda harus memverifikasi kepemilikan example.com. Untuk informasi selengkapnya tentang cara memverifikasi kepemilikan domain, lihat bantuan Search Console

  7. Klik Lanjutkan.

  8. Setelah verifikasi domain selesai, klik Lanjutkan verifikasi dan tutup.

  9. Perbarui data DNS di situs registrar domain Anda menggunakan data DNS yang ditampilkan pada langkah terakhir. Anda dapat menampilkan data kapan saja dengan mengklik Data DNS pada "..." menu tindakan untuk pemetaan domain.

  10. Klik Done.

Command line

  1. Anda harus melakukan verifikasi domain kepemilikan saat pertama kali Anda menggunakan domain tersebut di project Google Cloud, kecuali Anda membeli domain kustom Anda dari Google. Anda dapat menentukan apakah domain kustom yang ingin Anda gunakan sudah diverifikasi menggunakan perintah

    gcloud domains list-user-verified

    Jika kepemilikan domain Anda perlu diverifikasi, buka halaman verifikasi Search Console:

    gcloud domains verify BASE-DOMAIN

    tempat BASE-DOMAIN merupakan domain dasar yang ingin Anda verifikasi. Misalnya, jika Anda ingin melakukan pemetaan subdomain.example.com, Anda harus melakukan verifikasi kepemilikan example.com.

    Di Search Console, selesaikan verifikasi kepemilikan domain. Untuk mengetahui informasi selengkapnya, baca bantuan Search Console.

  2. Lakukan pemetaan layanan Anda ke domain kustom:

    gcloud beta run domain-mappings create --service SERVICE --domain DOMAIN
    • Ganti SERVICE dengan nama layanan Anda.
    • Ganti DOMAIN dengan domain kustom Anda, misalnya, example.com atau subdomain.example.com

Terraform

Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.

Untuk membuat layanan Cloud Run, tambahkan kode berikut ke file Andamain.tf yang sudah ada:

resource "google_cloud_run_v2_service" "default" {
  name     = "cloud-run-srv"
  location = "us-central1"
  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"
    }
  }
}

Ganti nilai untuk name dengan nama layanan Anda sendiri.

Lakukan pemetakan layanan Cloud Run ke domain kustom:

data "google_project" "project" {}

resource "google_cloud_run_domain_mapping" "default" {
  name     = "verified-domain.com"
  location = google_cloud_run_v2_service.default.location
  metadata {
    namespace = data.google_project.project.project_id
  }
  spec {
    route_name = google_cloud_run_v2_service.default.name
  }
}

Ganti verified-domain.com dengan domain kustom yang sudah diverifikasi, misalnya, example.com atau subdomain.example.com

Tambahkan data DNS di registrar domain Anda

Setelah melakukan pemetakan layanan ke domain di Cloud Run, Anda harus memperbarui data DNS di registrar domain. Untuk memudahkan, Cloud Run membuat dan menampikan data DNS yang Anda perlu Anda masukkan. Anda harus menambahkan data ini yang mengarah ke layanan Cloud Run di registrar domain agar pemetaan dapat dilakukan.

Jika Anda menggunakan Cloud DNS sebagai penyedia DNS, lihat Penambahan data.

  1. Ambil informasi data DNS untuk pemetaan domain menggunakan:

    Konsol

    1. Buka halaman pemetaan domain Cloud Run:
      Halaman pemetaan domain

    2. Klik ikon elips vertikal titik 3 di sebelah kanan layanan Anda, lalu klik DATA DNS untuk menampilkan semua data DNS:

    pilih data DNS

    Command line

    gcloud beta run domain-mappings describe --domain [DOMAIN]

    Ganti [DOMAIN] dengan domain kustom Anda, contohnya, example.com atau subdomain.example.com.

    Anda memerlukan semua data yang ditampilkan di bawah judul resourceRecords.

  2. Login ke akun Anda di registrar domain, dan kemudian buka halaman konfigurasi DNS.

  3. Cari bagian data host di halaman konfigurasi domain Anda, dan kemudian tambahkan setiap data resource yang Anda terima saat Anda melakukan pemetaan domain ke layanan Cloud Run Anda.

  4. Saat Anda menambahkan setiap data DNS diatas ke akun di penyedia DNS:

    • Pilih jenis yang ditampilkan dalam data DNS di langkah sebelumnya: A, atau AAAA, atau CNAME.
    • Gunakan nama www untuk pemetaan ke www.example.com.
    • Gunakan nama @ untuk memetakan example.com.
  5. Dalam data , data dari kumpulan data berupa nama domain Umumnya, diperlukan waktu beberapa menit agar perubahan ini diterapkan, tetapi dalam beberapa kasus, diperlukan waktu hingga beberapa jam, bergantung pada registrar dan Time-To-Live (TTL) dari data DNS sebelumnya untuk domain Anda. Anda dapat menggunakan alat dig, seperti versi dig online ini, untuk mengonfirmasi bahwa data DNS telah berhasil diupdate.

  6. Uji kesuksesan dengan menjelajahi layanan Anda di URL barunya, misalnya https://www.example.com. Perhatikan bahwa perlu waktu beberapa menit untuk menerbitkan pengelolaan sertifikat SSL.

Menambahkan verifikasi domain pemilik ke pengguna atau akun layanan lain

Saat pengguna memverifikasi domain, domain tersebut hanya diverifikasi ke akun pengguna tersebut. Hal ini berarti bahwa hanya pengguna tersebut yang dapat menambahkan lebih banyak pemetaan domain yang menggunakan domain tersebut. Jadi, untuk memungkinkan pengguna lain untuk menambahkan pemetaan yang menggunakan domain tersebut, Anda harus menambahkan mereka sebagai pemilik verifikasi.

Jika Anda perlu untuk menambahkan pemilik verifikasi domain Anda ke pengguna, atau akun layanan lain, Anda dapat menambahkan perizinan melalui halaman Search Console :

  1. Buka alamat ini di browser web Anda:

    https://search.google.com/search-console/welcome

  2. Di bagian Properti, klik domain yang ingin ditambahkan pengguna atau akun layanan.

  3. Scroll ke bagian daftar Verified owners, klik Add an owner, dan kemudian masukkan alamat email Akun Google atau ID akun layanan.

    Untuk melihat daftar akun layanan, buka halaman Akun Layanan di konsol Google Cloud:

    Buka halaman Service Accounts

Menghapus pemetaan domain Cloud Run

Anda dapat menggunakan konsol Google Cloud atau gcloud atau alat command line untuk menghapus pemetaan domain.

Konsol

  1. Buka halaman pemetaan domain di konsol Google Cloud:
    Halaman pemetaan domain

  2. Di halaman Domain Mappings, pilih pemetaan domain yang ingin dihapus, lalu klik Delete.

Command line

  1. Hapus pemetaan domain:

    gcloud beta run domain-mappings delete --domain DOMAIN
    • Ganti DOMAIN dengan domain kustom Anda, misalnya, example.com atau subdomain.example.com

Gunakan domain kustom dengan layanan yang terautentikasi

Layanan terautentikasi dilindungi oleh IAM. Layanan Cloud Run tersebut memerlukan autentikasi klien yang mendeklarasikan penerima permintaan yang dituju pada waktu pembuatan kredensial (audiens).

Audiens biasanya merupakan URL lengkap layanan target, yang secara default bagi layanan Cloud Run adalah URL yang dihasilkan dengan akhiran run.app. Namun, jika Anda menggunakan domain kustom, Anda harus menghindari penggunaan URL run.app yang dibuat otomatis tersebut sebagai audiens. Sebagai gantinya, konfigurasi layanan untuk audiens kustom sehingga audiens tersebut akan menerima domain kustom sebagai audiens autentikasi yang valid.

Langkah selanjutnya

  • Untuk menyiapkan domain kustom pada Cloud Run menggunakan Load Balancer Aplikasi external global denganTerraform, pelajari contoh kode ini.