Pour configurer un nouveau point de terminaison public pour votre service Cloud Run, vous pouvez utiliser Cloud Load Balancing pour ajouter un équilibreur de charge d'application externe global devant votre service Cloud Run. L'équilibreur de charge d'application externe global vous permet de contrôler la configuration de votre domaine personnalisé, mais nécessite des étapes de configuration si vous ne possédez pas encore de certificat TLS ou si vous utilisez un équilibreur de charge d'application externe global.
Grâce aux intégrations Cloud Run (preview) décrites sur cette page, vous pouvez configurer rapidement un nouveau mappage de domaine personnalisé pour votre service Cloud Run utilisant un équilibreur de charge d'application externe global. Si vous souhaitez utiliser un équilibreur de charge d'application externe global existant, consultez la page Configurer un équilibreur de charge d'application externe global avec Cloud Run.
Avant de commencer
- Assurez-vous de disposer des accès requis pour effectuer des modifications DNS pour le domaine que vous souhaitez mapper au service Cloud Run.
- 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 l'équilibreur de charge d'application externe global. 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 de l'équilibreur de charge Compute (
roles/compute.loadBalancerAdmin
)
Mapper un domaine personnalisé avec un équilibreur de charge d'application externe global
Vous pouvez mapper un domaine personnalisé à l'aide de la console ou de la ligne de commande. Notez que le provisionnement du certificat SSL et le routage du trafic HTTPS de votre domaine vers votre service Cloud Run peuvent prendre jusqu'à une heure.
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 Domaines personnalisés – Google Cloud Load Balancing.
Saisissez le domaine dans le champ Domaine.
Saisissez le chemin d'accès au domaine que vous utilisez dans le champ Chemin.
Saisissez le nom du service que vous mappez sur ce domaine personnalisé dans le champ Service.
Si vous mappez d'autres domaines, cliquez sur Ajouter un élément et répétez les étapes précédentes pour mapper si nécessaire le domaine au service.
Si vous êtes invité à activer une liste d'API, cliquez sur Activer et attendez que l'activation soit effective.
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, une table est créée avec les enregistrements DNS que vous devez configurer. Utilisez-la pour mettre à jour les enregistrements DNS de votre fournisseur DNS.
- Après la mise à jour du DNS auprès de votre fournisseur DNS, le provisionnement du certificat SSL et le routage du trafic vers votre service peuvent prendre jusqu'à 45 minutes.
gcloud
Installez la dernière version de Google Cloud CLI :
gcloud components update
Créez l'intégration :
gcloud beta run integrations create \ --type=custom-domains \ --parameters='set-mapping=DOMAIN:SERVICE' \
Remplacez :
- DOMAIN par votre domaine personnalisé, par exemple
example.com
ousubdomain.example.com
.- DOMAIN peut également contenir un chemin d'accès, par exemple
example.com/subpath/*
.
- DOMAIN peut également contenir un chemin d'accès, par exemple
- SERVICE par le nom de votre service Cloud Run.
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
- DOMAIN par votre domaine personnalisé, par exemple
Attendez environ deux à cinq minutes, soit le délai nécessaire à la création d'un équilibreur de charge entièrement configuré. Une fois le processus terminé, le message suivant s'affiche :
[custom-domains] integration [custom-domains] has been created successfully. To complete the process, please ensure the following DNS records are configured for the domains: NAME TTL TYPE DATA DOMAIN 3600 A IP_ADDRESS It can take up to an hour for the SSL certificate to be provisioned.
Vous pouvez vérifier l'état à l'aide de
gcloud beta run integrations describe
.Mettez à jour vos enregistrements DNS auprès de votre fournisseur DNS avec la valeur IP_ADDRESS affichée. Après la mise à jour du DNS auprès de votre fournisseur DNS, le provisionnement du certificat SSL et le routage du trafic vers votre service peuvent prendre jusqu'à 45 minutes.
Mettre à jour des domaines personnalisés intégrant un équilibreur de charge
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 des domaines personnalisés intégrant un équilibreur de charge 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 les domaines personnalisés intégrant un équilibreur de charge, puis cliquez sur Modifier.
Lorsque vous avez terminé de modifier les champs, cliquez sur Mettre à jour.
gcloud
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 vos domaines personnalisés intégrant un équilibreur de charge.
Vous pouvez également utiliser les options suivantes :
Option Description --parameters
Domaine personnalisé à définir pour le service. --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 domaines personnalisés intégrant un équilibreur de charge
Pour afficher l'état actuel des domaines personnalisés intégrant un équilibreur de charge pour votre service Cloud Run, pour procéder 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 les domaines personnalisés intégrant un équilibreur de charge qui vous intéressent, puis cliquez sur Afficher les détails.
gcloud
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 vos domaines personnalisés intégrant un équilibreur de charge.
Supprimer des domaines personnalisés intégrant un équilibreur de charge
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.
Procédez comme suit pour supprimer de votre service Cloud Run des domaines personnalisés intégrant un équilibreur de charge :
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 les domaines personnalisés intégrant un équilibreur de charge qui vous intéressent, cliquez sur l'icône représentant des points de suspension à droite de l'intégration, puis cliquez sur Supprimer.
gcloud
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 vos domaines personnalisés intégrant un équilibreur de charge.
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 Configurer un équilibreur de charge d'application externe global avec Cloud Run.