Untuk menyiapkan endpoint publik baru untuk layanan Cloud Run, Anda dapat menggunakan Firebase Hosting di depan layanan Cloud Run. Dengan Firebase Hosting, Anda bisa mendapatkan akses ke CDN global dan dapat mengonfigurasi domain kustom gratis untuk layanan Anda. Dengan Firebase Hosting, Anda dapat mengarahkan permintaan hosting ke layanan Cloud Run, tetapi mungkin memerlukan waktu untuk melakukan aktivasi jika belum terbiasa menggunakan Firebase Hosting.
Dengan menggunakan integrasi Cloud Run (Pratinjau) yang dijelaskan di halaman ini, Anda dapat dengan cepat mengekspos layanan Cloud Run Anda melalui situs Firebase Hosting baru tanpa harus menyiapkan Firebase Hosting. Jika Anda ingin menggunakan situs yang sudah ada, lihat Menayangkan konten dinamis dan menghosting microservice dengan Cloud Run.
Sebelum memulai
- Pastikan layanan Cloud Run yang ingin Anda integrasikan sudah di-deploy.
- Lihat halaman harga Firebase Hosting. 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 Firebase (
roles/firebase.admin
)
Hubungkan layanan Cloud Run ke situs Firebase Hosting
Anda dapat terhubung ke situs Firebase Hosting menggunakan konsol atau command line.
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 Firebase Hosting.
Masukkan ID situs di kolom Subdomain (Site ID). Layanan Anda akan dihosting di site_ID.web.app setelah pembuatan selesai.
Jika diminta untuk mengaktifkan daftar API, klik Enable dan tunggu hingga API diaktifkan. Perlu diperhatikan bahwa Firebase Hosting API tunduk pada Persyaratan Layanan Firebase.
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, URL publik situs akan ditampilkan.
- Anda juga dapat mengklik link yang diberikan untuk langsung membuka Firebase console.
Command line
Update ke Google Cloud CLI terbaru:
gcloud components update
Buat integrasi:
gcloud beta run integrations create \ --type=firebase-hosting \ --service=SERVICE \ --parameters='site-id=SITE_ID'
Ganti:
- SITE_ID dengan ID situs Firebase Hosting yang ingin Anda buat dan gunakan. Ini akan muncul sebagai subdomain untuk URL Firebase 'SITE_ID.web.app'
- SERVICE dengan nama layanan Cloud Run yang Anda gunakan.
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
Tunggu sekitar 1-2 menit sementara situs Firebase Hosting sedang dibuat. Setelah proses selesai, pesan berhasil berikut akan ditampilkan:
[firebase-hosting] integration [firebase-hosting-1] has been created successfully.
Anda dapat memeriksa statusnya menggunakan
gcloud beta run integrations describe
.
Memperbarui integrasi Firebase Hosting
Jika integrasi diperbarui, semua resource Google Cloud yang terkait dengan integrasi tersebut akan diperbarui. Untuk mengupdate integrasi Firebase Hosting dari layanan Cloud Run Anda:
Konsol
Pada konsol Google Cloud, buka halaman Cloud Run.
Klik layanan yang ingin Anda update.
Klik tab Integrations.
Temukan integrasi Firebase Hosting, 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 integrasi Firebase Hosting Anda.
Secara opsional, Anda dapat menggunakan opsi tanda berikut:
Opsi Deskripsi --parameters
ID situs yang Anda gunakan untuk mengganti layanan Cloud Run. --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.
Melihat integrasi Firebase Hosting
Untuk melihat status integrasi Firebase Hosting saat ini 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 integrasi Firebase Hosting yang Anda inginkan dan klikLihat 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 integrasi Firebase Hosting Anda.
Menghapus integrasi Firebase Hosting
Menghapus integrasi juga akan menghapus semua resource Google Cloud yang terkait dengan integrasi tersebut, tetapi tidak akan menghapus layanan Cloud Run Anda.
Untuk menghapus integrasi Firebase Hosting dari layanan Cloud Run Anda:
Konsol
Pada konsol Google Cloud, buka halaman Cloud Run.
Klik layanan yang integrasinya ingin Anda hapus.
Klik tab Integrations.
Temukan integrasi Firebase Hosting yang Anda inginkan dan klik ikon elipsis di sebelah kanan integrasi, lalu klik Hapus.
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 integrasi Firebase Hosting Anda.
Secara opsional, Anda dapat menggunakan opsi tanda berikut:
Opsi Deskripsi --service-account
Alamat email akun layanan yang dikelola pengguna untuk melakukan operasi penghapusan.