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)
- Menggunakan pemetaan domain Cloud Run (Ketersediaan terbatas dan Pratinjau)
- Menggunakan Firebase Hosting
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.
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.
Lihat dokumentasi tentang menyiapkan Load Balancer Aplikasi eksternal global dengan 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 dalam tahap peluncuran pratinjau. Karena masalah latensi, pemetaan domain Cloud Run belum 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-east1asia-northeast1asia-southeast1europe-north1europe-west1europe-west4us-central1us-east1us-east4us-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.comatau 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.
Memetakan domain kustom ke layanan
Anda dapat menggunakan Google Cloud konsol, gcloud CLI, atau Terraform untuk melakukan pemetaan domain kustom ke suatu layanan.
Konsol
Buka halaman pemetaan domain di Google Cloud konsol:
Halaman pemetaan domainKlik Tambahkan Pemetaan.
Jika tampilan jendela Anda terlalu kecil, tombol Tambahkan Pemetaan tidak ditampilkan dan Anda harus mengklik ikon elips vertikal tiga titik di sudut halaman.
Dari daftar drop-down, pilih layanan yang domain kustomnya Anda petakan.
Pilih Pemetaan Domain Cloud Run.
Di formulir Tambahkan pemetaan, pilih Verifikasi domain baru.
Di kolom Domain dasar yang akan diverifikasi, Anda harus memverifikasi kepemilikan domain sebelum dapat menggunakannya, kecuali jika Anda membeli domain Anda dari Google.
Jika Anda ingin melakukan pemetaan
subdomain.example.comatausubdomain1.subdomain2.example.com, Anda harus memverifikasi kepemilikan dariexample.com. Untuk mengetahui informasi selengkapnya tentang cara melakukan verifikasi kepemilikan domain, baca bantuan Search Console.Klik 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 Selesai.
gcloud
Anda harus melakukan verifikasi kepemilikan domain saat pertama kali Anda menggunakan domain tersebut di Google Cloud project, 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-DOMAINmerupakan domain dasar yang ingin Anda verifikasi. Misalnya, jika Anda ingin melakukan pemetaansubdomain.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:
Untuk memetakan domain ke layanan yang ada:
gcloud beta run domain-mappings create --service SERVICE --domain DOMAIN
- Ganti
SERVICEdengan nama layanan Anda. - Ganti
DOMAINdengan domain kustom Anda, misalnya,example.comatausubdomain.example.com
- Ganti
Untuk memetakan domain secara langsung saat men-deploy layanan:
gcloud beta run deploy SERVICE --image IMAGE --domain DOMAIN
- Ganti
SERVICEdengan nama layanan Anda. - Ganti
IMAGEdengan image container Anda. - Ganti
DOMAINdengan domain kustom Anda.
- Ganti
Terraform
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Untuk membuat layanan Cloud Run, tambahkan kode berikut ke file main.tf Anda yang sudah ada:
Ganti:
custom-domaindengan nama layanan Cloud Run Anda.us-docker.pkg.dev/cloudrun/container/hellodengan referensi ke image container Anda. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentukLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
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 melakukan pemetaan 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, misalnya,example.comatausubdomain.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 sebelumnya ke akun di penyedia DNS:
- Pilih jenis yang ditampilkan dalam data DNS di langkah sebelumnya:
A, atauAAAA, atauCNAME. - Gunakan nama
wwwuntuk 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 the Time-To-Live (TTL) of any data DNS sebelumnya untuk domain Anda. Anda dapat menggunakan alat
dig, seperti versi onlinedig, untuk mengonfirmasi bahwa data DNS telah berhasil diupdate.Uji kesuksesan dengan menjelajahi layanan Anda di URL barunya, misalnya,
https://www.example.com. Perlu waktu beberapa menit untuk menerbitkan pengelolaan sertifikat SSL.
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 Anda 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 Properti, klik domain yang ingin ditambahkan pengguna atau akun layanan.
Buka daftar Pemilik terverifikasi, klik Tambahkan pemilik, dan lalu masukkan alamat email Akun Google atau ID akun layanan.
Untuk melihat daftar akun layanan, buka halaman Akun Layanan di Google Cloud konsol:
Hapus pemetaan domain Cloud Run
Anda dapat menggunakan Google Cloud konsol atau gcloud CLI untuk menghapus pemetaan domain.
Konsol
Buka halaman Pemetaan domain di Google Cloud konsol:
Halaman pemetaan domainDi halaman Pemetaan domain, pilih pemetaan domain yang ingin Anda hapus dan klik Hapus.
gcloud
Hapus pemetaan domain:
gcloud beta run domain-mappings delete --domain DOMAIN
- Ganti
DOMAINdengan domain kustom Anda, misalnya,example.comatausubdomain.example.com.
- Ganti
Memetakan 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 Google Cloud project Anda.
- Menginstal Firebase CLI.
Dalam folder yang berbeda dari kode sumber layanan Anda, buat file
firebase.jsondengan 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.
Menggunakan 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 dapat mengonfigurasi audiens kustom sehingga layanan Anda menerima domain kustom Anda sebagai audiens yang valid.
Langkah berikutnya
- Pelajari cara mengamankan layanan Cloud Run Anda.
- Untuk menyiapkan domain kustom untuk Cloud Run menggunakan Load Balancer Aplikasi eksternal global, lihat Menyiapkan Load Balancer Aplikasi eksternal global dengan Cloud Run.