Cette page explique comment configurer et gérer des URL personnalisées. Vous pouvez ainsi obtenir une URL facile à saisir, mémorable et disponible dans le monde entier pour vos services Cloud Run, au lieu de l'URL déterministe par défaut :
- Format de l'URL personnalisée :
https://CUSTOM_URL_DOMAIN.cloud.run - Format d'URL par défaut :
https://SERVICE_NAME-PROJECT_NUMBER.REGION.run.app
En utilisant des URL personnalisées, vous pouvez partager vos services sans configurer de domaines personnalisés, d'enregistrements DNS ni d'équilibreurs de charge externes.
Lorsque vous utilisez des URL personnalisées pour vos services Cloud Run, vous bénéficiez des avantages suivants :
- URL simples : mappez votre service à un format
https://CUSTOM_URL_DOMAIN.cloud.runclair. - Disponibilité mondiale : les URL personnalisées sont accessibles de n'importe où, comme les URL
.run.appstandards. - Cycle de vie flexible : associez, dissociez ou déplacez de manière flexible une URL personnalisée entre les services sans déployer de nouvelle révision.
- Mappages multiples : vous pouvez mapper plusieurs URL personnalisées à un même service.
Avant de commencer
- Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Configurez votre environnement de développement Cloud Run dans votre projet Google Cloud .
- Installez et initialisez la gcloud CLI.
Rôles requis
Pour obtenir les autorisations nécessaires pour gérer les URL personnalisées, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Pour créer, modifier ou supprimer des mappages d'URL personnalisés : Administrateur Cloud Run (
roles/run.admin) sur le projet
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Limites
- Par défaut, vous pouvez mapper jusqu'à 50 domaines par projet.
- Le sous-domaine de l'URL personnalisée doit comporter entre 6 et 63 caractères, respecter les conventions de dénomination DNS standards qui autorisent les caractères alphanumériques et les traits d'union, et ne peut ni commencer ni se terminer par un trait d'union.
- Certains sous-domaines sont soumis à des restrictions.
- Vous ne pouvez pas désactiver temporairement une URL personnalisée comme vous le feriez avec une URL
.run.apppar défaut. Pour arrêter de diffuser du trafic à partir de celui-ci, vous devez supprimer le mappage. - Les services Cloud Run qui restreignent l'entrée au trafic interne ou interne et Cloud Load Balancing ne sont pas compatibles.
- Terraform n'est pas compatible avec les URL personnalisées. Pour éviter tout changement potentiellement destructif, n'utilisez pas la ressource
domain_mappingPreview. - Les URL personnalisées sont totalement indépendantes. Si vous choisissez de désactiver l'URL
.run.apppar défaut pour un service, votre mappage d'URL personnalisé reste entièrement actif et accessible.
Associer ou mapper une URL personnalisée à un service
Vous pouvez associer une URL personnalisée à un nouveau service lorsque vous le déployez, ou mapper une URL personnalisée à un service existant à l'aide de la console Google Cloud ou de gcloud.
Associer des URL personnalisées à un nouveau service
Lorsque vous déployez un service Cloud Run, vous pouvez associer une URL personnalisée à la configuration du déploiement.
Dans la console Google Cloud , accédez à la page Cloud Run > Services.
Cliquez sur Déployer le conteneur.
Renseignez les informations de configuration de base pour votre service.
Dans la section URL personnalisées, cliquez sur Ajouter une URL personnalisée.
Saisissez un domaine d'URL personnalisée valide.
Facultatif. Pour ajouter plusieurs URL personnalisées, cliquez à nouveau sur Ajouter une URL personnalisée.
Cliquez sur Créer.
Mapper des URL personnalisées à un service existant
Vous pouvez mapper une URL personnalisée à un service Cloud Run existant à l'aide de la consoleGoogle Cloud ou de la gcloud CLI.
Console
Dans la console Google Cloud , accédez à la page Mappages de domaine.
Cliquez sur Ajouter une URL personnalisée.
Dans la liste Service, sélectionnez le service vers lequel vous souhaitez mapper.
Saisissez le domaine de votre URL personnalisée.
Cliquez sur Continuer.
Si vous souhaitez ajouter plusieurs URL personnalisées, cliquez à nouveau sur Ajouter une URL personnalisée et suivez les étapes précédentes.
gcloud
Pour créer un mappage de domaine d'URL personnalisé pour un service existant, exécutez la commande suivante :
gcloud beta run domain-mappings create \ --service=SERVICE_NAME \ --domain=CUSTOM_URL_DOMAIN.cloud.run
Remplacez les éléments suivants :
- SERVICE_NAME : nom du service auquel vous mappez l'URL personnalisée.
- CUSTOM_URL_DOMAIN : sous-domaine que vous souhaitez associer.
Facultatif. Pour mapper plusieurs URL personnalisées à l'aide de gcloud CLI, exécutez la commande de création du mappage à plusieurs reprises pour chaque URL personnalisée :
gcloud beta run domain-mappings create \ --service=SERVICE_NAME \ --domain=CUSTOM_URL_DOMAIN_1.cloud.run gcloud beta run domain-mappings create \ --service=SERVICE_NAME \ --domain=CUSTOM_URL_DOMAIN_2.cloud.run
Remplacez les éléments suivants :
- SERVICE_NAME : nom du service que vous déployez.
- CUSTOM_URL_DOMAIN_1 : premier sous-domaine à associer.
- CUSTOM_URL_DOMAIN_2 : deuxième sous-domaine à associer.
Si le sous-domaine demandé est déjà utilisé par un autre utilisateur ou service sur Google Cloud, une erreur s'affiche et vous devez choisir une cible unique.
Lister et afficher les URL personnalisées
Vous pouvez lister toutes les URL personnalisées et afficher les détails de mappage pour votre environnement.
Console
Dans la console Google Cloud , accédez à la page Cloud Run.
Cliquez sur le nom du service.
Accédez à l'onglet Réseau.
Recherchez vos URL associées dans la section Domaines personnalisés sous le libellé Points de terminaison.
gcloud
Pour répertorier toutes les URL personnalisées et tous les mappages de domaine d'un projet, exécutez la commande suivante :
gcloud beta run domain-mappings list
Pour afficher les détails d'un mappage de domaine d'URL personnalisée spécifique, exécutez la commande suivante :
gcloud beta run domain-mappings describe \ --domain=CUSTOM_URL_DOMAIN.cloud.run
Remplacez CUSTOM_URL_DOMAIN par le sous-domaine que vous souhaitez décrire.
Sécuriser avec les audiences personnalisées
Vous pouvez associer une audience personnalisée à votre URL personnalisée pour en limiter l'accès.
gcloud beta run services update SERVICE_NAME \ --add-custom-audiences=CUSTOM_URL_DOMAIN.cloud.run
Remplacez les éléments suivants :
- SERVICE_NAME : nom de votre service.
- CUSTOM_URL_DOMAIN : sous-domaine qui sert d'audience personnalisée.
Supprimer une URL personnalisée
Vous pouvez supprimer un mappage d'URL personnalisée lorsque vous n'en avez plus besoin.
Console
Dans la console Google Cloud , accédez à la page Mappages de domaine.
Cochez la case située à côté de l'URL personnalisée que vous souhaitez supprimer.
Cliquez sur Supprimer.
gcloud
Pour supprimer le mappage de domaine d'URL personnalisée d'un service Cloud Run, exécutez la commande suivante :
gcloud beta run domain-mappings delete \ --domain=CUSTOM_URL_DOMAIN.cloud.run
Remplacez CUSTOM_URL_DOMAIN par le sous-domaine que vous souhaitez supprimer.
Problèmes connus
Latence de propagation : une fois que vous avez créé une URL personnalisée, il peut s'écouler quelques secondes avant qu'elle ne soit entièrement opérationnelle. Si vous accédez à l'URL immédiatement après sa création, une erreur de routage temporaire peut se produire.
Mettre à jour ou déplacer une URL personnalisée : il n'existe pas de commande de mise à jour directe pour les URL personnalisées. Pour déplacer une URL personnalisée associée d'un service à un autre, vous devez suivre une procédure de suppression et de recréation.
Console
Dans la console Google Cloud , accédez à la page Mappages de domaine.
Cochez la case à côté de l'URL personnalisée que vous souhaitez déplacer.
Cliquez sur Supprimer.
Cliquez sur Ajouter une URL personnalisée.
Dans la liste Service, sélectionnez le nouveau service cible.
Saisissez le domaine exact de l'URL personnalisée que vous avez déjà revendiquée.
Cliquez sur Créer pour rediriger le trafic vers le nouveau service.
gcloud
Supprimez le mappage existant de l'ancien service :
gcloud beta run domain-mappings delete \ --domain=CUSTOM_URL_DOMAIN.cloud.run
Remplacez CUSTOM_URL_DOMAIN par le sous-domaine que vous avez revendiqué précédemment.
Récupérez l'URL et mappez-la au nouveau service :
gcloud beta run domain-mappings create \ --service=NEW_SERVICE_NAME \ --domain=CUSTOM_URL_DOMAIN.cloud.run
Remplacez les éléments suivants :
- NEW_SERVICE_NAME : nom du service vers lequel vous déplacez l'URL personnalisée.
- CUSTOM_URL_DOMAIN : sous-domaine que vous souhaitez associer.
Étapes suivantes
- En savoir plus sur le mappage des domaines personnalisés
- Découvrez comment diffuser des éléments statiques avec CDN.