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:
- Gunakan Load Balancer Aplikasi eksternal global (Direkomendasikan)
- Gunakan Firebase Hosting
- Menggunakan Pemetaan domain Cloud Run (Ketersediaan terbatas dan Pratinjau)
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 dapat 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.
Anda juga dapat memetakan 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.
Lihat dokumentasi tentang menyiapkan Load Balancer Aplikasi eksternal global dengan Cloud Run.
Petakan domain kustom menggunakan Firebase Hosting
Dengan opsi ini, Anda akan mengonfigurasi Firebase Hosting di depan layanan Cloud Run Anda dan menghubungkan domain 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.
Untuk melakukan pemetaan domain kustom 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 sedang dalam tahap peluncuran pratinjau. Karena masalah latensi, fitur ini tidak siap produksi dan tidak didukung pada 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 memetakan 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.
Jika jendela tampilan Anda terlalu kecil, tombol Tambahkan Pemetaan tidak ditampilkan dan Anda harus mengklik ikon elips vertikal tiga titik di sudut halaman.
Dari menu drop-down, pilih layanan yang domain kustomnya Anda petakan.
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 Anda ingin memetakan
subdomain.example.com
atausubdomain1.subdomain2.example.com
, Anda harus memverifikasi kepemilikanexample.com
. Untuk mengetahui informasi selengkapnya tentang cara melakukan verifikasi kepemilikan domain, baca 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.
gcloud
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 dengan menjalankan perintah berikut:
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 memetakansubdomain.example.com
, Anda harus memverifikasi 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
Setelah memetakan layanan ke domain kustom di Cloud Run, Anda harus memperbarui data DNS di registrar domain. Untuk memudahkan, Cloud Run membuat dan menampilkan data DNS yang harus 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 hal berikut:
Konsol
Buka halaman pemetaan domain Cloud Run:
Halaman pemetaan domainKlik ikon elips vertikal tiga titik di sebelah kanan layanan Anda, lalu klik DATA DNS untuk menampilkan semua data DNS:
gcloud
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, lalu 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 sebelumnya 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, untuk mengonfirmasi bahwa data DNS telah berhasil diupdate.Uji kesuksesan dengan menjelajahi layanan Anda di URL barunya, misalnya,
https://www.example.com
. Diperlukan waktu beberapa menit untuk menerbitkan sertifikat SSL terkelola.
Tambahkan pemilik domain terverifikasi 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 perlu menambahkan pemilik terverifikasi domain Anda ke pengguna atau akun layanan lain, Anda dapat menambahkan izin melalui halaman Search Console:
Buka alamat berikut di browser web Anda:
Di bagian Properties, klik domain yang ingin ditambahkan pengguna atau akun layanan.
Buka daftar Verified owners, klik Add an owner, lalu masukkan alamat email Akun Google atau ID akun layanan.
Untuk melihat daftar akun layanan, buka halaman Akun Layanan di konsol Google Cloud:
Hapus pemetaan domain Cloud Run
Anda dapat menggunakan konsol Google Cloud atau gcloud CLI untuk menghapus pemetaan domain.
Konsol
Buka halaman Pemetaan domain di konsol Google Cloud:
Halaman pemetaan domainDi halaman Pemetaan domain, pilih pemetaan domain yang ingin Anda hapus, lalu klik Hapus.
gcloud
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 dengan Terraform, pelajari contoh kode.