Agar dapat menyiapkan endpoint publik baru untuk layanan Cloud Run, Anda dapat menggunakan Cloud Load Balancing untuk menambahkan Load Balancer Aplikasi eksternal global di depan layanan Cloud Run. Dengan Load Balancer Aplikasi eksternal global, Anda dapat mengontrol penyiapan domain kustom, tetapi memerlukan langkah-langkah penyiapan jika Anda belum memiliki sertifikat TLS atau menggunakan Load Balancer Aplikasi eksternal global.
Dengan menggunakan integrasi Cloud Run (Pratinjau) yang dijelaskan di halaman ini, Anda dapat dengan cepat menyiapkan pemetaan domain kustom baru untuk layanan Cloud Run menggunakan Load Balancer Aplikasi eksternal global. Jika Anda ingin menggunakan Load Balancer Aplikasi eksternal global yang sudah ada, lihat menyiapkan Load Balancer Aplikasi eksternal global dengan Cloud Run.
Sebelum memulai
- Pastikan Anda memiliki akses yang diperlukan guna melakukan perubahan DNS untuk domain yang ingin dipetakan ke layanan Cloud Run.
- Pastikan layanan Cloud Run yang ingin Anda integrasikan sudah di-deploy.
- Tinjau halaman harga Load Balancer Aplikasi eksternal global. Anda akan dikenai biaya untuk setiap resource yang digunakan dalam integrasi.
Peran yang diperlukan
Untuk menggunakan integrasi Cloud Run, Anda atau administrator Anda harus memberikan peran IAM pada dua akun utama yang berbeda.
Klik untuk melihat peran yang diperlukan untuk Akun Google Anda
Untuk mendapatkan izin yang diperlukan untuk menggunakan integrasi Cloud Run, minta administrator Anda untuk memberikan peran IAM berikut pada Akun Google Anda pada project Anda:
- Developer Cloud Run (
roles/run.developer
) - Viewer Compute (
roles/compute.viewer
) - Serverless Integrations Developer (
roles/runapps.developer
) - Serverless Integrations Operator (
roles/runapps.operator
) - Service Account User (
roles/iam.serviceAccountUser
)
Klik untuk melihat peran yang diperlukan untuk akun layanan
Untuk men-deploy layanan Cloud Run, Anda dapat menggunakan akun layanan default Compute Engine yang dibuat otomatis, atau menentukan akun layanan yang dikelola pengguna. Akun layanan harus memiliki peran berikut:
- Developer Cloud Run (
roles/run.developer
) - Penulis Bucket Log (
roles/logging.bucketWriter
) - Service Account User (
roles/iam.serviceAccountUser
) - Storage Admin (
roles/storage.admin
) - Admin Load Balancer Compute (
roles/compute.loadBalancerAdmin
)
Memetakan domain kustom dengan Load Balancer Aplikasi eksternal global
Anda dapat memetakan domain kustom menggunakan konsol atau command line. Perhatikan bahwa mungkin diperlukan waktu hingga satu jam untuk penyediaan sertifikat SSL dan bagi domain Anda untuk mulai merutekan traffic HTTPS ke layanan Cloud Run.
Konsol
Pada konsol Google Cloud, buka halaman Cloud Run.
Klik layanan dalam daftar layanan yang ingin Anda gunakan dalam integrasi ini.
Klik tab Integrations.
Klik Tambahkan integrasi.
Klik Custom Domains - Google Cloud load balancing.
Masukkan domain di kolom Domain.
Masukkan jalur domain yang Anda gunakan di kolom Jalur.
Masukkan nama layanan yang Anda petakan ke domain kustom ini di kolom Service.
Jika Anda memetakan domain lain, klik Add Item dan ulangi langkah-langkah sebelumnya untuk memetakan domain ke layanan sesuai kebutuhan.
Jika diminta untuk mengaktifkan daftar API, klik Enable dan tunggu hingga API diaktifkan.
Di bagian Resource, catat resource baru yang akan dibuat sebagai hasil dari integrasi ini.
Klik Submit dan tunggu hingga integrasi dan resource dibuat:
- Setelah selesai, tabel akan dibuat dengan data DNS yang perlu Anda konfigurasi: gunakan data ini untuk memperbarui data DNS di penyedia DNS.
- Setelah mengupdate DNS di penyedia DNS, diperlukan waktu hingga 45 menit untuk menyediakan sertifikat SSL dan mulai mengarahkan traffic ke layanan Anda.
Command line
Update ke Google Cloud CLI terbaru:
gcloud components update
Buat integrasi:
gcloud beta run integrations create \ --type=custom-domains \ --parameters='set-mapping=DOMAIN:SERVICE' \
Ganti:
- DOMAIN dengan domain kustom Anda, misalnya
example.com
atausubdomain.example.com
- Juga dapat berisi jalur, seperti
example.com/subpath/*
- Juga dapat berisi jalur, seperti
- SERVICE dengan nama layanan Cloud Run Anda.
Secara opsional, sertakan flag
--service-account=SERVICE_ACCOUNT_EMAIL
.Ganti SERVICE_ACCOUNT_EMAIL dengan alamat email akun layanan yang dikelola pengguna (
PROJECT_NUMBER-compute@developer.gserviceaccount.com
) yang digunakan untuk men-deploy layanan. Hapus flag ini jika Anda ingin menggunakan akun layanan komputasi default (SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com
).Untuk terus menggunakan akun layanan yang ditentukan saat men-deploy integrasi Cloud Run, jalankan:
gcloud config set runapps/deployment-service-account
- DOMAIN dengan domain kustom Anda, misalnya
Tunggu sekitar 2 hingga 5 menit, selama waktu tersebut penyeimbang beban yang dikonfigurasi sepenuhnya akan dibuat. Setelah prosesnya selesai, pesan berikut akan ditampilkan:
[custom-domains] integration [custom-domains] has been created successfully. To complete the process, please ensure the following DNS records are configured for the domains: NAME TTL TYPE DATA DOMAIN 3600 A IP_ADDRESS It can take up to an hour for the SSL certificate to be provisioned.
Anda dapat memeriksa statusnya menggunakan
gcloud beta run integrations describe
.Perbarui data DNS di penyedia DNS dengan nilai IP_ADDRESS yang ditampilkan. Setelah Anda mengupdate DNS di penyedia DNS, diperlukan waktu hingga 45 menit untuk menyediakan sertifikat SSL dan mulai mengarahkan traffic ke layanan Anda.
Memperbarui domain kustom dengan integrasi load balancer
Jika integrasi diperbarui, semua resource Google Cloud yang terkait dengan integrasi tersebut juga akan diperbarui. Untuk memperbarui domain kustom dengan integrasi load balancer dari layanan Cloud Run Anda:
Konsol
Pada konsol Google Cloud, buka halaman Cloud Run.
Klik layanan yang ingin Anda update.
Klik tab Integrations.
Temukan domain kustom dengan integrasi load balancer, lalu klik Edit.
Setelah selesai memperbarui kolom, klik Perbarui.
Command line
Gunakan perintah berikut untuk mendapatkan daftar integrasi yang tersedia:
gcloud beta run integrations list
Jalankan perintah untuk memperbarui integrasi:
gcloud beta run integrations update INTEGRATION_NAME
Ganti:
- INTEGRATION_NAME dengan nama domain kustom Anda dengan integrasi load balancer.
Secara opsional, Anda dapat menggunakan opsi tanda berikut:
Opsi Deskripsi --parameters
Domain kustom yang akan ditetapkan untuk layanan. --service-account
Alamat email akun layanan yang dikelola pengguna yang akan ditentukan saat mengupdate layanan. Akun layanan ini mengganti akun layanan sebelumnya yang digunakan saat deployment.
Menampilkan domain kustom dengan integrasi load balancer
Untuk melihat status domain kustom saat ini dengan integrasi load balancer untuk layanan Cloud Run Anda:
Konsol
Pada konsol Google Cloud, buka halaman Cloud Run.
Klik layanan dalam daftar layanan yang ingin Anda gunakan dalam integrasi ini.
Klik tab Integrations.
Temukan domain kustom dengan integrasi load balancer yang Anda inginkan, lalu klik Lihat detail.
Command line
Gunakan perintah berikut untuk mendapatkan daftar integrasi yang tersedia:
gcloud beta run integrations list
Menggunakan nama dari daftar yang ditampilkan, tampilkan detailnya:
gcloud beta run integrations describe INTEGRATION_NAME
Ganti INTEGRATION_NAME dengan nama domain kustom Anda dengan integrasi load balancer.
Menghapus domain kustom dengan integrasi load balancer
Menghapus integrasi juga akan menghapus semua resource Google Cloud yang terkait dengan integrasi tersebut, tetapi tidak akan menghapus layanan Cloud Run Anda.
Untuk menghapus domain kustom dengan integrasi load balancer dari layanan Cloud Run:
Konsol
Pada konsol Google Cloud, buka halaman Cloud Run.
Klik layanan yang integrasinya ingin Anda hapus.
Klik tab Integrations.
Temukan domain kustom dengan integrasi load balancer yang Anda inginkan, lalu klik ikon elipsis di sebelah kanan integrasi, lalu klik Delete.
Command line
Gunakan perintah berikut untuk mendapatkan daftar integrasi yang tersedia:
gcloud beta run integrations list
Dengan menggunakan nama dari daftar yang ditampilkan, hapus integrasi:
gcloud beta run integrations delete INTEGRATION_NAME
Ganti:
- INTEGRATION_NAME dengan nama domain kustom Anda dengan integrasi load balancer.
Secara opsional, Anda dapat menggunakan opsi tanda berikut:
Opsi Deskripsi --service-account
Alamat email akun layanan yang dikelola pengguna untuk melakukan operasi penghapusan.
Batasan
Integrasi Cloud Run hanya didukung di region tertentu. Jika Anda perlu menggunakan region yang tidak didukung oleh integrasi Cloud Run, lihat menyiapkan Load Balancer Aplikasi eksternal global dengan Cloud Run.