Menghubungkan Cloud Run ke Firebase Hosting untuk domain kustom dan CDN

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:

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:

Hubungkan layanan Cloud Run ke situs Firebase Hosting

Anda dapat terhubung ke situs Firebase Hosting menggunakan konsol atau command line.

Konsol

  1. Pada konsol Google Cloud, buka halaman Cloud Run.

    Buka Cloud Run

  2. Klik layanan dalam daftar layanan yang ingin Anda gunakan dalam integrasi ini.

  3. Klik tab Integrations.

  4. Klik Tambahkan integrasi.

  5. Klik Firebase Hosting.

    gambar

  6. Masukkan ID situs di kolom Subdomain (Site ID). Layanan Anda akan dihosting di site_ID.web.app setelah pembuatan selesai.

  7. Jika diminta untuk mengaktifkan daftar API, klik Enable dan tunggu hingga API diaktifkan. Perlu diperhatikan bahwa Firebase Hosting API tunduk pada Persyaratan Layanan Firebase.

  8. Di bagian Resource, catat resource baru yang akan dibuat sebagai hasil dari integrasi ini.

  9. 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

  1. Update ke Google Cloud CLI terbaru:

    gcloud components update
    
  2. 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
      
  3. 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

  1. Pada konsol Google Cloud, buka halaman Cloud Run.

    Buka Cloud Run

  2. Klik layanan yang ingin Anda update.

  3. Klik tab Integrations.

  4. Temukan integrasi Firebase Hosting, lalu klik Edit.

  5. Setelah selesai memperbarui kolom, klik Perbarui.

Command line

  1. Gunakan perintah berikut untuk mendapatkan daftar integrasi yang tersedia:

    gcloud beta run integrations list
  2. 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

  1. Pada konsol Google Cloud, buka halaman Cloud Run.

    Buka Cloud Run

  2. Klik layanan dalam daftar layanan yang ingin Anda gunakan dalam integrasi ini.

  3. Klik tab Integrations.

  4. Temukan integrasi Firebase Hosting yang Anda inginkan dan klikLihat Detail.

Command line

  1. Gunakan perintah berikut untuk mendapatkan daftar integrasi yang tersedia:

    gcloud beta run integrations list
  2. 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

  1. Pada konsol Google Cloud, buka halaman Cloud Run.

    Buka Cloud Run

  2. Klik layanan yang integrasinya ingin Anda hapus.

  3. Klik tab Integrations.

  4. Temukan integrasi Firebase Hosting yang Anda inginkan dan klik ikon elipsis di sebelah kanan integrasi, lalu klik Hapus.

Command line

  1. Gunakan perintah berikut untuk mendapatkan daftar integrasi yang tersedia:

    gcloud beta run integrations list
  2. 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.

Batasan

Integrasi Cloud Run hanya didukung di region tertentu. Jika Anda perlu menggunakan region yang tidak didukung oleh integrasi Cloud Run, lihat Menayangkan konten dinamis dan menghosting microservice dengan Cloud Run.