Connetti Cloud Run a Firebase Hosting per domini personalizzati e CDN

Per configurare un nuovo endpoint pubblico per il tuo servizio Cloud Run, puoi utilizzare Firebase Hosting davanti al tuo servizio Cloud Run. Con Firebase Hosting, puoi accedere a un una CDN globale e può configurare domini personalizzati gratuiti per completamente gestito di Google Cloud. Firebase Hosting ti consente di indirizzare le richieste di hosting al tuo Cloud Run, ma l'onboarding potrebbe richiedere del tempo in caso contrario con cui hai familiarità con Firebase Hosting.

Utilizzando i comandi Integrazioni di Cloud Run (anteprima) descritto in questa pagina, puoi esporre rapidamente tramite un nuovo sito di Firebase Hosting senza dover configurare Firebase. Hosting. Se vuoi utilizzare un sito esistente, consulta Gestisci contenuti dinamici e ospita microservizi con Cloud Run.

Prima di iniziare

  • Assicurati che il servizio Cloud Run con cui stai eseguendo l'integrazione sia è già stato eseguito il deployment.
  • Consulta la pagina dei prezzi di Firebase Hosting. Ti viene addebitata una fattura per singole di risorse utilizzate nell'integrazione.

Ruoli obbligatori

Per utilizzare le integrazioni di Cloud Run, tu o l'amministratore dovete concedere 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 Cloud Run integrazioni, chiedi all'amministratore di concederti 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 il cluster creato automaticamente l'account di servizio predefinito di Compute Engine o specifica account di servizio gestito dall'utente. L'account di servizio deve avere i ruoli seguenti:

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

Puoi collegarti a un sito di Firebase Hosting utilizzando la console o il comando dalla riga di comando.

Console

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

    Vai a Cloud Run

  2. Nell'elenco dei servizi, fai clic sul servizio che vuoi utilizzare e integrazione.

  3. Fai clic sulla scheda Integrations (Integrazioni).

  4. Fai clic su Aggiungi integrazione.

  5. Fai clic su Firebase Hosting.

    immagine

  6. Inserisci un ID sito nel campo Sottodominio (ID sito). Il tuo servizio Essere ospitata 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 API da abilitare. Tieni presente che l'API Firebase Hosting si trova sotto la Termini di servizio di Firebase.

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

  9. Fai clic su Invia e attendi che l'integrazione e le risorse vengano completate è stato creato.

    • Al termine, vengono visualizzati gli URL pubblici del sito.
    • Puoi anche fare clic sul link fornito per accedere direttamente a Firebase Google Cloud.

gcloud

  1. Esegui l'aggiornamento all'ultima versione di Google Cloud CLI:

    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 usare. Viene visualizzato come sottodominio per l'URL di Firebase "SITE_ID.web.app"
    • SERVICE con il nome del servizio Cloud Run che stai utilizzando.

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

    • Sostituisci SERVICE_ACCOUNT_EMAIL con il servizio gestito dall'utente indirizzo email dell'account (PROJECT_NUMBER-compute@developer.gserviceaccount.com) usato per il deployment del servizio. Ometti questo flag se vuoi utilizzare 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 le integrazioni di Cloud Run, esegui:

      gcloud config set runapps/deployment-service-account
      
  3. Attendi circa 1-2 minuti durante la creazione del sito di Firebase Hosting. Quando Se il processo è completato, 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 grazie a questa integrazione. Per aggiornare un'integrazione di Firebase Hosting dal tuo 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 Modifica.

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

gcloud

  1. Utilizza il seguente comando 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 del tuo Integrazione di Firebase Hosting.

    Facoltativamente, puoi utilizzare le seguenti opzioni di flag:

    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 quando si aggiorna il servizio. Questo account di servizio esegue l'override dell'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 per il tuo servizio Cloud Run:

Console

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

    Vai a Cloud Run

  2. Nell'elenco dei servizi, fai clic sul servizio che vuoi utilizzare e integrazione.

  3. Fai clic sulla scheda Integrations (Integrazioni).

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

gcloud

  1. Utilizza il seguente comando 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 del tuo 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 associati all'integrazione, ma non eliminerà i tuoi dal servizio Cloud Run.

Per eliminare un'integrazione di Firebase Hosting dal tuo 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 e fai clic sull'icona dei puntini di sospensione a destra dell'integrazione, quindi fai clic su Elimina.

gcloud

  1. Utilizza il seguente comando 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 del tuo Integrazione di Firebase Hosting.

    Facoltativamente, puoi utilizzare le seguenti opzioni di flag:

    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 supportato solo in determinate regioni. Se utilizza una regione non supportata da Cloud Run integrazioni, consulta Gestire contenuti dinamici e ospitare microservizi con Cloud Run.