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:
- Menggunakan Load Balancer Aplikasi eksternal global (Direkomendasikan)
- Gunakan fitur integrasi Cloud Run untuk Firebase Hosting (cara termudah untuk menggunakan Firebase Hosting)
- Menggunakan Firebase Hosting dengan konfigurasi manual (jika Anda tidak ingin menggunakan fitur integrasi)
- Gunakan Pemetaan domain Cloud Run (Ketersediaan dan Pratinjau terbatas)
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:
- Tambahkan Firebase ke project Google Cloud Anda
- Menginstal Firebase CLI
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.
Deploy konfigurasi Firebase Hosting:
firebase deploy --only hosting --project PROJECT_ID
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, sepertisubdomain.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
Buka halaman pemetaan domain di konsol Google Cloud:
Halaman pemetaan domainKlik 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.
Dari menu drop-down, pilih layanan yang menjadi tujuan pemetaan domain kustom Anda.
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.
Di formulir Tambahkan pemetaan, pilih Verifikasi domain baru.
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
atausubdomain1.subdomain2.example.com
, Anda harus memverifikasi kepemilikanexample.com
. Untuk informasi selengkapnya tentang cara memverifikasi kepemilikan domain, lihat bantuan Search ConsoleKlik Lanjutkan.
Setelah verifikasi domain selesai, klik Lanjutkan verifikasi dan tutup.
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.
Klik Done.
Command line
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 pemetaansubdomain.example.com
, Anda harus melakukan verifikasi kepemilikanexample.com
.Di Search Console, selesaikan verifikasi kepemilikan domain. Untuk mengetahui informasi selengkapnya, baca bantuan Search Console.
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
atausubdomain.example.com
- Ganti
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:
Ganti nilai untuk name
dengan nama layanan Anda sendiri.
Lakukan pemetakan layanan Cloud Run ke domain kustom:
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.
Ambil informasi data DNS untuk pemetaan domain menggunakan:
Konsol
Buka halaman pemetaan domain Cloud Run:
Halaman pemetaan domainKlik ikon elips vertikal titik 3 di sebelah kanan layanan Anda, lalu klik DATA DNS untuk menampilkan semua data DNS:
Command line
gcloud beta run domain-mappings describe --domain [DOMAIN]
Ganti
[DOMAIN]
dengan domain kustom Anda, contohnya,example.com
atausubdomain.example.com
.Anda memerlukan semua data yang ditampilkan di bawah judul
resourceRecords
.Login ke akun Anda di registrar domain, dan kemudian buka halaman konfigurasi DNS.
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.
Saat Anda menambahkan setiap data DNS diatas ke akun di penyedia DNS:
- Pilih jenis yang ditampilkan dalam data DNS di langkah sebelumnya:
A
, atauAAAA
, atauCNAME
. - Gunakan nama
www
untuk pemetaan kewww.example.com
. - Gunakan nama
@
untuk memetakanexample.com
.
- Pilih jenis yang ditampilkan dalam data DNS di langkah sebelumnya:
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 versidig
online ini, untuk mengonfirmasi bahwa data DNS telah berhasil diupdate.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 :
Buka alamat ini di browser web Anda:
Di bagian Properti, klik domain yang ingin ditambahkan pengguna atau akun layanan.
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:
Menghapus pemetaan domain Cloud Run
Anda dapat menggunakan konsol Google Cloud atau gcloud
atau alat command line untuk menghapus
pemetaan domain.
Konsol
Buka halaman pemetaan domain di konsol Google Cloud:
Halaman pemetaan domainDi halaman Domain Mappings, pilih pemetaan domain yang ingin dihapus, lalu klik Delete.
Command line
Hapus pemetaan domain:
gcloud beta run domain-mappings delete --domain DOMAIN
- Ganti
DOMAIN
dengan domain kustom Anda, misalnya,example.com
atausubdomain.example.com
- Ganti
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.