Connetti Cloud Run a Firebase Hosting per domini personalizzati e CDN

Per configurare un nuovo endpoint pubblico per il servizio Cloud Run, puoi utilizzare Firebase Hosting prima del servizio Cloud Run. Con Firebase Hosting, puoi accedere a una rete CDN globale e configurare domini personalizzati gratuiti per il tuo servizio. Firebase Hosting ti consente di indirizzare le richieste di hosting al tuo servizio Cloud Run, ma potrebbe richiedere del tempo per l'onboarding se non hai familiarità con l'utilizzo di Firebase Hosting.

Utilizzando le integrazioni di Cloud Run (anteprima) descritte in questa pagina, puoi esporre rapidamente il tuo servizio Cloud Run tramite un nuovo sito di Firebase Hosting senza dover configurare Firebase Hosting. Se vuoi usare un sito esistente, consulta Pubblicare contenuti dinamici e ospitare microservizi con Cloud Run.

Prima di iniziare

  • Assicurati che sia già stato eseguito il deployment del servizio Cloud Run con cui esegui l'integrazione.
  • Consulta la pagina dei prezzi di Firebase Hosting. Ti viene addebitato il costo per le singole risorse utilizzate nell'integrazione.

Ruoli obbligatori

Per utilizzare le integrazioni di Cloud Run, tu o il tuo amministratore dovete concedere i ruoli IAM su due entità diverse.

Fai clic per visualizzare i ruoli richiesti per il tuo Account Google

Per ottenere le autorizzazioni necessarie per utilizzare le integrazioni di Cloud Run, chiedi all'amministratore di concedere al tuo Account Google i seguenti ruoli IAM sul tuo progetto:

Fai clic per visualizzare i ruoli richiesti per l'account di servizio

Per eseguire il deployment del servizio Cloud Run, puoi utilizzare l'account di servizio predefinito di Compute Engine creato automaticamente o specificare un account di servizio gestito dall'utente. L'account di servizio deve avere i seguenti ruoli:

Connetti il tuo servizio Cloud Run a un sito di Firebase Hosting

Puoi connetterti a un sito di Firebase Hosting utilizzando la console o la riga di comando.

Console

  1. Nella console Google Cloud, vai alla pagina Cloud Run.

    Vai a Cloud Run

  2. Fai clic sul servizio che vuoi utilizzare nell'elenco dei servizi che vuoi utilizzare in questa integrazione.

  3. Fai clic sulla scheda Integrations (Integrazioni).

  4. Fai clic su Add integration (Aggiungi integrazione).

  5. Fai clic su Firebase Hosting.

    immagine

  6. Inserisci un ID sito nel campo Sottodominio (ID sito). Il servizio verrà ospitato all'indirizzo site_ID.web.app dopo la creazione.

  7. Se ti viene richiesto di abilitare un elenco di API, fai clic su Abilita e attendi che le API siano abilitate. Tieni presente che l'API Firebase Hosting è soggetta ai Termini di servizio di Firebase.

  8. In Risorse, nota le nuove risorse che verranno create come risultato di questa integrazione.

  9. Fai clic su Invia e attendi la creazione dell'integrazione e delle risorse.

    • Al termine, verranno visualizzati gli URL pubblici del sito.
    • Puoi anche fare clic sul link fornito per accedere direttamente alla console Firebase.

Riga di comando

  1. Aggiorna l'interfaccia a Google Cloud CLI più recente:

    gcloud components update
  2. Crea l'integrazione:

    gcloud beta run integrations create \
    --type=firebase-hosting \
    --service=SERVICE \
    --parameters='site-id=SITE_ID'

    Sostituisci:

    • SITE_ID con l'ID sito di Firebase Hosting che vuoi creare e utilizzare. Questo viene visualizzato come il sottodominio per l'URL Firebase "SITE_ID.web.app"
    • SERVICE con il nome del servizio Cloud Run in uso.

    Se vuoi, includi il flag --service-account=SERVICE_ACCOUNT_EMAIL.

    • Sostituisci SERVICE_ACCOUNT_EMAIL con l'indirizzo email dell'account di servizio gestito dall'utente (PROJECT_NUMBER-compute@developer.gserviceaccount.com) utilizzato per eseguire il deployment del servizio. Ometti questo flag se vuoi utilizzare l'account di servizio Compute predefinito (SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com).

      Per continuare a utilizzare l'account di servizio specificato durante il deployment delle integrazioni di Cloud Run, esegui:

      gcloud config set runapps/deployment-service-account
  3. Attendi un paio di minuti per la creazione del sito di Firebase Hosting. Al termine del processo, viene visualizzato il seguente messaggio di operazione riuscita:

    [firebase-hosting] integration [firebase-hosting-1] has been created successfully.

    Puoi controllare lo stato utilizzando gcloud beta run integrations describe.

Aggiorna le integrazioni di Firebase Hosting

L'aggiornamento di un'integrazione aggiorna tutte le risorse Google Cloud associate all'integrazione stessa. Per aggiornare un'integrazione di Firebase Hosting dal servizio Cloud Run:

Console

  1. Nella console Google Cloud, vai alla pagina Cloud Run.

    Vai a Cloud Run

  2. Fai clic sul servizio che vuoi aggiornare.

  3. Fai clic sulla scheda Integrations (Integrazioni).

  4. Individua l'integrazione di Firebase Hosting e fai clic su Edit (Modifica).

  5. Al termine dell'aggiornamento dei campi, fai clic su Aggiorna.

Riga di comando

  1. Utilizza il comando seguente per visualizzare un elenco delle integrazioni disponibili:

    gcloud beta run integrations list
  2. Esegui il comando per aggiornare l'integrazione:

    gcloud beta run integrations update INTEGRATION_NAME

    Sostituisci:

    • INTEGRATION_NAME con il nome della tua integrazione di Firebase Hosting.

    Facoltativamente, puoi utilizzare le seguenti opzioni di segnalazione:

    Opzione Descrizione
    --parameters L'ID del sito con cui stai sostituendo il servizio Cloud Run.
    --service-account L'indirizzo email dell'account di servizio gestito dall'utente da specificare durante l'aggiornamento del servizio. Questo account di servizio sostituisce l'account di servizio precedente utilizzato al momento del deployment.

Visualizza le integrazioni di Firebase Hosting

Per visualizzare lo stato attuale delle integrazioni di Firebase Hosting per il servizio Cloud Run:

Console

  1. Nella console Google Cloud, vai alla pagina Cloud Run.

    Vai a Cloud Run

  2. Fai clic sul servizio che vuoi utilizzare nell'elenco dei servizi che vuoi utilizzare in questa integrazione.

  3. Fai clic sulla scheda Integrations (Integrazioni).

  4. Individua l'integrazione di Firebase Hosting che ti interessa e fai clic su Visualizza dettagli.

Riga di comando

  1. Utilizza il comando seguente per visualizzare un elenco delle integrazioni disponibili:

    gcloud beta run integrations list
  2. Utilizzando un nome dall'elenco restituito, visualizza i relativi dettagli:

    gcloud beta run integrations describe INTEGRATION_NAME

    Sostituisci INTEGRATION_NAME con il nome della tua integrazione di Firebase Hosting.

Elimina le integrazioni di Firebase Hosting

L'eliminazione di un'integrazione comporta anche l'eliminazione di tutte le risorse Google Cloud associate all'integrazione, ma non elimina il servizio Cloud Run.

Per eliminare un'integrazione di Firebase Hosting dal servizio Cloud Run:

Console

  1. Nella console Google Cloud, vai alla pagina Cloud Run.

    Vai a Cloud Run

  2. Fai clic sul servizio da cui vuoi eliminare un'integrazione.

  3. Fai clic sulla scheda Integrations (Integrazioni).

  4. Individua l'integrazione di Firebase Hosting che ti interessa, fai clic sull'icona con i puntini di sospensione a destra dell'integrazione e poi fai clic su Elimina.

Riga di comando

  1. Utilizza il comando seguente per visualizzare un elenco delle integrazioni disponibili:

    gcloud beta run integrations list
  2. Utilizzando un nome dall'elenco restituito, elimina l'integrazione:

    gcloud beta run integrations delete INTEGRATION_NAME

    Sostituisci:

    • INTEGRATION_NAME con il nome della tua integrazione di Firebase Hosting.

    Facoltativamente, puoi utilizzare le seguenti opzioni di segnalazione:

    Opzione Descrizione
    --service-account L'indirizzo email dell'account di servizio gestito dall'utente per eseguire l'operazione di eliminazione.

Limitazioni

Le integrazioni di Cloud Run sono supportate solo in determinate regioni. Se devi utilizzare una regione non supportata dalle integrazioni di Cloud Run, consulta l'articolo Gestire contenuti dinamici e ospitare microservizi con Cloud Run.