Connecter Cloud Run à Firebase Hosting pour les domaines personnalisés et le CDN

Pour configurer un nouveau point de terminaison public pour votre service Cloud Run, vous pouvez utiliser Firebase Hosting devant votre service Cloud Run. Avec Firebase Hosting, vous avez accès à un CDN mondial et vous pouvez configurer des domaines personnalisés sans frais pour votre service. Firebase Hosting vous permet d'héberger des requêtes directement vers votre service Cloud Run, mais l'intégration peut prendre du temps si vous ne savez pas utiliser Firebase Hosting.

Grâce aux intégrations Cloud Run (preview) décrites sur cette page, vous pouvez rapidement exposer votre service Cloud Run via un nouveau site Firebase Hosting sans avoir à configurer Firebase Hosting. Si vous souhaitez utiliser un site existant, consultez la section Diffuser du contenu dynamique et héberger des microservices avec Cloud Run.

Avant de commencer

  • Assurez-vous que le service Cloud Run avec lequel vous effectuez l'intégration est déjà déployé.
  • Consultez la page des tarifs de Firebase Hosting. Les ressources individuelles utilisées dans l'intégration vous sont facturées.

Rôles requis

Pour utiliser les intégrations Cloud Run, vous ou votre administrateur devez attribuer des rôles IAM sur deux comptes principaux différents.

Cliquez ici pour afficher les rôles requis pour votre compte Google

Pour obtenir les autorisations nécessaires pour utiliser les intégrations Cloud Run, demandez à votre administrateur d'accorder à votre compte Google les rôles IAM suivants sur votre projet :

Cliquez ici pour afficher les rôles requis pour le compte de service

Pour déployer le service Cloud Run, vous pouvez utiliser le compte de service par défaut Compute Engine créé automatiquement ou spécifier un compte de service géré par l'utilisateur. Le compte de service doit disposer des rôles suivants :

Connecter votre service Cloud Run à un site Firebase Hosting

Vous pouvez vous connecter à un site Firebase Hosting à l'aide de la console ou de la ligne de commande.

Console

  1. Dans la console Google Cloud, accédez à la page Cloud Run.

    Accédez à Cloud Run

  2. Dans la liste des services, cliquez sur celui que vous souhaitez utiliser dans cette intégration.

  3. Cliquez sur l'onglet Integrations (Intégrations).

  4. Cliquez sur Ajouter une intégration.

  5. Cliquez sur Firebase Hosting.

    image

  6. Saisissez un ID de site dans le champ Sous-domaine (ID de site). Une fois créé, votre service sera hébergé à l'adresse site_ID.web.app.

  7. Si vous êtes invité à activer une liste d'API, cliquez sur Activer et attendez que l'activation soit effective. Notez que l'API Firebase Hosting est régie par les Conditions d'utilisation de Firebase.

  8. Dans le champ Ressources, prenez note des nouvelles ressources qui seront créées suite à cette intégration.

  9. Cliquez sur Envoyer et attendez que l'intégration et les ressources soient créées.

    • Une fois l'opération terminée, les URL publiques du site s'affichent.
    • Vous pouvez également cliquer sur le lien fourni pour accéder directement à la console Firebase.

gcloud

  1. Installez la dernière version de Google Cloud CLI :

    gcloud components update
  2. Créez l'intégration :

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

    Remplacez :

    • SITE_ID par l'ID du site Firebase Hosting que vous souhaitez créer et utiliser. Il apparaît comme le sous-domaine dans l'URL Firebase "SITE_ID.web.app"
    • SERVICE par le nom du service Cloud Run que vous utilisez.

    Vous pouvez également inclure l'option --service-account=SERVICE_ACCOUNT_EMAIL.

    • Remplacez SERVICE_ACCOUNT_EMAIL par l'adresse e-mail du compte de service géré par l'utilisateur (PROJECT_NUMBER-compute@developer.gserviceaccount.com) utilisé pour déployer le service. Ne renseignez pas cette option si vous souhaitez utiliser le compte de service Compute par défaut (SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com).

      Pour continuer à utiliser le compte de service spécifié lors du déploiement des intégrations Cloud Run, exécutez la commande suivante :

      gcloud config set runapps/deployment-service-account
  3. Attendez environ une à deux minutes pendant la création du site Firebase Hosting. Une fois le processus terminé, le message suivant s'affiche :

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

    Vous pouvez vérifier l'état à l'aide de gcloud beta run integrations describe.

Mettre à jour des intégrations Firebase Hosting

La mise à jour d'une intégration entraîne la mise à jour de toutes les ressources Google Cloud qui y sont associées. Pour mettre à jour une intégration Firebase Hosting de votre service Cloud Run, procédez comme suit :

Console

  1. Dans la console Google Cloud, accédez à la page Cloud Run.

    Accédez à Cloud Run

  2. Cliquez sur le service que vous souhaitez mettre à jour.

  3. Cliquez sur l'onglet Integrations (Intégrations).

  4. Identifiez l'intégration Firebase Hosting, puis cliquez sur Modifier.

  5. Lorsque vous avez terminé de modifier les champs, cliquez sur Mettre à jour.

gcloud

  1. Exécutez la commande suivante pour obtenir la liste des intégrations disponibles :

    gcloud beta run integrations list
  2. Utilisez la commande suivante pour mettre à jour l'intégration :

    gcloud beta run integrations update INTEGRATION_NAME

    Remplacez :

    • INTEGRATION_NAME par le nom de votre intégration Firebase Hosting.

    Vous pouvez également utiliser les options suivantes :

    Option Description
    --parameters ID du site par lequel vous remplacez le service Cloud Run.
    --service-account Adresse e-mail du compte de service géré par l'utilisateur à spécifier lors de la mise à jour du service. Ce compte de service remplace le compte de service précédent utilisé lors du déploiement.

Afficher les intégrations Firebase Hosting

Pour afficher l'état actuel des intégrations Firebase Hosting pour votre service Cloud Run, procédez comme suit :

Console

  1. Dans la console Google Cloud, accédez à la page Cloud Run.

    Accédez à Cloud Run

  2. Dans la liste des services, cliquez sur celui que vous souhaitez utiliser dans cette intégration.

  3. Cliquez sur l'onglet Integrations (Intégrations).

  4. Identifiez l'intégration Firebase Hosting qui vous intéresse, puis cliquez sur Afficher les détails.

gcloud

  1. Exécutez la commande suivante pour obtenir la liste des intégrations disponibles :

    gcloud beta run integrations list
  2. Choisissez un nom dans cette liste, et exécutez la commande suivante pour en afficher les détails :

    gcloud beta run integrations describe INTEGRATION_NAME

    Remplacez INTEGRATION_NAME par le nom de votre intégration Firebase Hosting.

Supprimer les intégrations Firebase Hosting

La suppression d'une intégration entraîne également la suppression de toutes les ressources Google Cloud qui y sont associées, mais pas votre service Cloud Run.

Pour supprimer une intégration Firebase Hosting de votre service Cloud Run, procédez comme suit :

Console

  1. Dans la console Google Cloud, accédez à la page Cloud Run.

    Accédez à Cloud Run

  2. Cliquez sur le service pour lequel vous souhaitez supprimer une intégration.

  3. Cliquez sur l'onglet Integrations (Intégrations).

  4. Identifiez l'intégration Firebase Hosting qui vous intéresse, cliquez sur l'icône représentant des points de suspension à droite de l'intégration, puis cliquez sur Supprimer.

gcloud

  1. Exécutez la commande suivante pour obtenir la liste des intégrations disponibles :

    gcloud beta run integrations list
  2. Choisissez un nom dans cette liste, et exécutez la commande suivante pour supprimer cette intégration :

    gcloud beta run integrations delete INTEGRATION_NAME

    Remplacez :

    • INTEGRATION_NAME par le nom de votre intégration Firebase Hosting.

    Vous pouvez également utiliser les options suivantes :

    Option Description
    --service-account Adresse e-mail du compte de service géré par l'utilisateur utilisé pour effectuer l'opération de suppression.

Limites

Les intégrations Cloud Run ne sont disponibles que dans certaines régions. Si vous devez utiliser une région non compatible avec les intégrations Cloud Run, consultez la page Diffuser du contenu dynamique et héberger des microservices avec Cloud Run.