Création d'URL personnalisées

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.run clair.
  • Disponibilité mondiale : les URL personnalisées sont accessibles de n'importe où, comme les URL .run.app standards.
  • 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

  1. 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.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Configurez votre environnement de développement Cloud Run dans votre projet Google Cloud .
  7. 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.app par 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_mapping Preview.
  • Les URL personnalisées sont totalement indépendantes. Si vous choisissez de désactiver l'URL .run.app par 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.

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

    Accédez à Cloud Run

  2. Cliquez sur Déployer le conteneur.

  3. Renseignez les informations de configuration de base pour votre service.

  4. Dans la section URL personnalisées, cliquez sur Ajouter une URL personnalisée.

  5. Saisissez un domaine d'URL personnalisée valide.

  6. Facultatif. Pour ajouter plusieurs URL personnalisées, cliquez à nouveau sur Ajouter une URL personnalisée.

  7. 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

  1. Dans la console Google Cloud , accédez à la page Mappages de domaine.

    Accéder aux mappages de domaines

  2. Cliquez sur Ajouter une URL personnalisée.

  3. Dans la liste Service, sélectionnez le service vers lequel vous souhaitez mapper.

  4. Saisissez le domaine de votre URL personnalisée.

  5. 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

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

    Accédez à Cloud Run

  2. Cliquez sur le nom du service.

  3. Accédez à l'onglet Réseau.

  4. 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

  1. Dans la console Google Cloud , accédez à la page Mappages de domaine.

    Accéder aux mappages de domaines

  2. Cochez la case située à côté de l'URL personnalisée que vous souhaitez supprimer.

  3. 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

    1. Dans la console Google Cloud , accédez à la page Mappages de domaine.

      Accéder aux mappages de domaines

    2. Cochez la case à côté de l'URL personnalisée que vous souhaitez déplacer.

    3. Cliquez sur Supprimer.

    4. Cliquez sur Ajouter une URL personnalisée.

    5. Dans la liste Service, sélectionnez le nouveau service cible.

    6. Saisissez le domaine exact de l'URL personnalisée que vous avez déjà revendiquée.

    7. Cliquez sur Créer pour rediriger le trafic vers le nouveau service.

    gcloud

    1. 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.

    2. 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