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 :
- Développeur Cloud Run (
roles/run.developer
) - Lecteur Compute (
roles/compute.viewer
) - Développeur d'intégrations sans serveur (
roles/runapps.developer
) - Opérateur d'intégrations sans serveur (
roles/runapps.operator
) - Utilisateur du compte de service (
roles/iam.serviceAccountUser
)
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 :
- Développeur Cloud Run (
roles/run.developer
) - Rédacteur de bucket de journaux (
roles/logging.bucketWriter
) - Utilisateur du compte de service (
roles/iam.serviceAccountUser
) - Administrateur de l'espace de stockage (
roles/storage.admin
) - Administrateur Firebase (
roles/firebase.admin
)
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
Dans la console Google Cloud, accédez à la page Cloud Run.
Dans la liste des services, cliquez sur celui que vous souhaitez utiliser dans cette intégration.
Cliquez sur l'onglet Integrations (Intégrations).
Cliquez sur Ajouter une intégration.
Cliquez sur Firebase Hosting.
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.
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.
Dans le champ Ressources, prenez note des nouvelles ressources qui seront créées suite à cette intégration.
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.
Ligne de commande
Installez la dernière version de Google Cloud CLI :
gcloud components update
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
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
Dans la console Google Cloud, accédez à la page Cloud Run.
Cliquez sur le service que vous souhaitez mettre à jour.
Cliquez sur l'onglet Integrations (Intégrations).
Identifiez l'intégration Firebase Hosting, puis cliquez sur Modifier.
Lorsque vous avez terminé de modifier les champs, cliquez sur Mettre à jour.
Ligne de commande
Exécutez la commande suivante pour obtenir la liste des intégrations disponibles :
gcloud beta run integrations list
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
Dans la console Google Cloud, accédez à la page Cloud Run.
Dans la liste des services, cliquez sur celui que vous souhaitez utiliser dans cette intégration.
Cliquez sur l'onglet Integrations (Intégrations).
Identifiez l'intégration Firebase Hosting qui vous intéresse, puis cliquez sur Afficher les détails.
Ligne de commande
Exécutez la commande suivante pour obtenir la liste des intégrations disponibles :
gcloud beta run integrations list
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
Dans la console Google Cloud, accédez à la page Cloud Run.
Cliquez sur le service pour lequel vous souhaitez supprimer une intégration.
Cliquez sur l'onglet Integrations (Intégrations).
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.
Ligne de commande
Exécutez la commande suivante pour obtenir la liste des intégrations disponibles :
gcloud beta run integrations list
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.