Mapper les domaines personnalisés

Vous pouvez utiliser un domaine personnalisé plutôt que l'adresse par défaut fournie par App Engine pour votre application.

Pour utiliser un domaine personnalisé, mappez le domaine à votre application, puis mettez à jour vos enregistrements DNS. Vous pouvez mapper un domaine nu, tel que example.com, ou un sous-domaine, tel que subdomain.example.com. Vous pouvez également utiliser des caractères génériques pour mapper des sous-domaines.

Par défaut, lorsque vous mappez un domaine à votre application, App Engine émet un certificat SSL géré pour les connexions HTTPS. Pour en savoir plus sur l'utilisation de SSL avec le domaine personnalisé, y compris sur l'emploi de vos propres certificats SSL, consultez la section Sécuriser les domaines personnalisés avec SSL.

Dans certaines régions, l'utilisation de domaines personnalisés peut augmenter de manière perceptible la latence des réponses envoyées par App Engine aux utilisateurs de votre application. Ces régions sont les suivantes :

  • us-west2
  • us-east4
  • northamerica-northeast1
  • southamerica-east1
  • europe-west2
  • europe-west3
  • asia-south1
  • asia-northeast1
  • australia-southeast1

Les domaines personnalisés App Engine utilisent un pool d'adresses IP partagées pour toutes les applications. Si vous souhaitez utiliser une adresse IP qui n'est mappée qu'à votre domaine, vous devez plutôt configurer un équilibreur de charge avec App Engine. Vous pouvez ainsi minimiser le problème de domaine dans lequel une requête envoyée à l'application A dans le certificat SNI peut être acheminée vers l'application B dans l'en-tête de l'hôte HTTP.

Avant de commencer

  • Si vous n'avez pas de domaine, achetez-en un. Vous pouvez utiliser n'importe quel service d'enregistrement de noms de domaine.

  • Pour ajouter ou modifier un mappage de domaine personnalisé, votre compte doit disposer du rôle d'administrateur App Engine (roles/appengine.appAdmin) ou d'un rôle personnalisé contenant l'autorisation appengine.applications.get.

  • Si vous utilisez Cloud Load Balancing et un groupe de points de terminaison du réseau sans serveur (NEG) pour acheminer le trafic vers votre application App Engine, nous vous recommandons de mapper votre domaine personnalisé à l'équilibreur de charge plutôt que directement à votre application, et d'utiliser des certificats SSL créés pour l'équilibreur de charge. Cela dispense d'avoir à gérer des certificats SSL distincts pour chaque application sans serveur. De plus, avec Cloud Load Balancing, vous pouvez définir des règles SSL contrôlant les fonctionnalités SSL que votre équilibreur de charge négocie avec les clients.

    Pour en savoir plus, consultez les pages suivantes :

    Tenez compte de la limitation suivante :

    • Nous vous recommandons d'utiliser des contrôles d'entrée afin que votre application ne reçoive que les requêtes envoyées par l'équilibreur de charge (et par le VPC le cas échéant). Sinon, les utilisateurs peuvent se servir de l'URL App Engine de votre application pour contourner l'équilibreur de charge, les règles de sécurité Google Cloud Armor, les certificats SSL et les clés privées qui sont transmises via l'équilibreur de charge.

Mapper un domaine personnalisé à votre application

  1. Dans Google Cloud Console, accédez à l'onglet Paramètres des applications de la page Paramètres d'App Engine.

    Accéder à la page "Paramètres de l'application"

    Si vous n'avez pas besoin de modifier l'URL de provenance par défaut de l'API Google Accounts, passez à l'étape suivante.

    Si vous devez activer l'authentification Google Workspace pour votre domaine personnalisé, cliquez sur Modifier pour modifier l'URL de provenance de l'API Google Accounts. Dans le menu déroulant Authentification Google, sélectionnez Domaine Google Workspace, puis ajoutez votre domaine, tel que example.com, dans le champ vide.

  2. Dans Google Cloud Console, accédez à l'onglet Domaines personnalisés de la page Paramètres d'App Engine.

    Accéder à l'onglet Domaines personnalisés

  3. Cliquez sur Ajouter un domaine personnalisé.

  4. Si votre domaine est déjà validé, il apparaît dans la section Sélectionner le domaine à utiliser. Sélectionnez le domaine dans le menu déroulant, puis cliquez sur Continuer.

    Si vous n'avez pas encore validé votre domaine, procédez comme suit :

    1. Sélectionnez Valider un nouveau domaine dans le menu déroulant.
    2. Saisissez votre nom de domaine nu (tel que "example.com"), puis cliquez sur Valider.

      Même si vous ne souhaitez mapper qu'un sous-domaine comme "www.subdomain.example.com", saisissez le nom du domaine nu pour en valider la propriété.

      Notez que les noms de domaine doivent être inférieurs à 64 octets.

    3. Saisissez les informations dans la fenêtre Search Console qui s'affiche. Pour obtenir de l'aide sur la Search Console, consultez l'aide de la Search Console.

    4. Après avoir suivi la procédure dans la Search Console, revenez à la page Ajouter un nom de domaine personnalisé dans la console Google Cloud.

  5. Dans la section Faire pointer le domaine vers le projet [ID-projet], spécifiez le domaine et les sous-domaines que vous souhaitez mapper.

    Nous vous recommandons de mapper le domaine nu et le sous-domaine www. Vous pouvez ajouter d'autres sous-domaines si nécessaire.

    Une fois que vous avez ajouté tous les mappages souhaités, cliquez sur Enregistrer les mappages.

  6. Cliquez sur Continuer pour afficher les enregistrements DNS de votre domaine.

    Vous pouvez récupérer ces enregistrements à tout moment dans l'onglet Domaines personnalisés de la page Paramètres d'App Engine.

  7. Connectez-vous au site Web de votre service d'enregistrement de noms de domaine et mettez à jour vos enregistrements DNS avec les enregistrements affichés à l'étape précédente.

Mettre à jour les enregistrements DNS auprès de votre service d'enregistrement de noms de domaine

Une fois que vous avez mappé votre service à un domaine personnalisé dans App Engine, vous devez mettre à jour les enregistrements DNS auprès de votre service d'enregistrement de noms de domaine. Pour plus de commodité, App Engine génère et affiche les enregistrements DNS que vous devez saisir.

  1. Récupérez les informations d'enregistrement DNS correspondant à vos mappages de domaine en procédant comme suit :

    Dans Google Cloud Console, accédez à l'onglet Domaines personnalisés de la page Paramètres d'App Engine. La page répertorie les enregistrements DNS de tous les domaines que vous avez mappés à votre application.

  2. Connectez-vous au compte que vous avez créé auprès du service d'enregistrement de noms de domaine, puis ouvrez la page de configuration DNS.

  3. Recherchez la section des enregistrements d'hôtes sur la page de configuration de votre domaine, puis ajoutez chacun des enregistrements DNS que vous avez récupérés lorsque vous avez mappé votre domaine à votre application.

    Saisissez les informations suivantes dans les champs d'enregistrement :

    • Type d'enregistrement : saisissez le type d'enregistrement qui figure dans l'enregistrement DNS créé par Google (A, AAAA ou CNAME).
    • Nom de l'enregistrement :

      • Dans les enregistrements A ou AAAA, saisissez @.
      • Dans les enregistrements CNAME, saisissez un nom de domaine de troisième niveau. Par exemple, saisissez www pour mapper le sous-domaine www.example.com.
    • Notez que si vous utilisez Cloud DNS, il n'est pas nécessaire d'ajouter un symbole @ lors de la création d'un enregistrement A pour votre domaine personnalisé parent (example.com). Toutefois, vous devrez peut-être spécifier le symbole @ pour les autres fournisseurs DNS, tels que GoDaddy.

    • TTL : spécifiez une valeur TTL correspondant à vos besoins.

    • Données : saisissez les données d'enregistrement (rrdata) visibles dans l'enregistrement DNS créé par Google.

      • Dans les enregistrements A ou AAAA, les données d'enregistrement sont une adresse IP.
      • Dans les enregistrements CNAME, les données d'enregistrement sont un nom de domaine.
  4. Enregistrez les modifications dans la page de configuration DNS du compte du domaine. Dans la plupart des cas, ces modifications prennent effet en quelques minutes seulement, mais dans certains cas, cela peut prendre plusieurs heures. Tout dépend du bureau d'enregistrement et de la valeur TTL (Time To Live) des enregistrements DNS précédents pour votre domaine. Vous pouvez utiliser un outil dig, tel que la version en ligne de dig, pour vérifier que les enregistrements DNS ont bien été mis à jour.

  5. Vérifiez si la procédure a été exécutée correctement en accédant à votre service via sa nouvelle URL (par exemple, https://www.example.com). Notez que l'émission du certificat SSL automatique peut prendre plusieurs minutes.

Déléguer la propriété à d'autres utilisateurs ou à des comptes de service Google Cloud

Si vous devez déléguer la propriété de votre domaine à d'autres utilisateurs ou comptes de service, vous pouvez ajouter une autorisation via la page du Search Console en procédant comme indiqué ci-dessous :

  1. Ouvrez la page Validation Search Console.

  2. Sous Propriétés, cliquez sur le domaine pour lequel vous souhaitez ajouter un utilisateur ou un compte de service.

  3. À la fin de la liste Propriétaires validés, cliquez sur Ajouter un propriétaire, puis saisissez l'adresse e-mail du compte Google ou l'ID du compte de service.

    Pour afficher la liste de vos comptes de service, ouvrez la page "Comptes de service" dans la console Google Cloud :

    Accéder à la page "Comptes de service"

Utiliser des sous-domaines

Si vous configurez un mappage générique de sous-domaine pour votre domaine personnalisé, votre application diffuse les requêtes de tout sous-domaine correspondant.

  • Si l'utilisateur parcourt un domaine qui correspond à un nom de version d'application ou à un nom de service, l'application diffuse cette version.
  • Si l'utilisateur parcourt un domaine qui correspond à un nom de service, l'application diffuse ce service.
  • Il existe une limite de 20 certificats SSL gérés par semaine pour chaque domaine de base. Si vous atteignez cette limite, App Engine continue d'essayer de délivrer des certificats gérés jusqu'à ce que toutes les requêtes soient traitées.

Mappages génériques

Vous pouvez utiliser des caractères génériques pour mapper des sous-domaines à n'importe quel niveau, en commençant par les sous-domaines de troisième niveau. Par exemple, si votre domaine est example.com et que vous saisissez du texte dans le champ d'adresse Web :

  • La saisie de *.example.com mappe tous les sous-domaines de example.com avec votre application.
  • La saisie de *.private.example.com mappe tous les sous-domaines de private.example.com avec votre application.
  • La saisie de *.nichol.sharks.nhl.example.com mappe tous les sous-domaines de nichol.sharks.nhl.example.com avec votre application.
  • La saisie de *.excogitate.system.example.com mappe tous les sous-domaines de excogitate.system.example.com avec votre application.

Vous pouvez utiliser les mappages génériques avec des services dans App Engine pour définir le routage des requêtes vers des services spécifiques à l'aide du fichier dispatch.yaml.

Si vous utilisez Google Workspace avec d'autres sous-domaines du domaine, tels que sites et mail, ces mappages ont une priorité supérieure et sont mis en correspondance en premier, avant tout mappage générique. En outre, si d'autres applications App Engine sont mappées à d'autres sous-domaines, ces mappages ont également une priorité plus élevée que n'importe quel mappage générique.

Certains fournisseurs DNS peuvent ne pas accepter le mappage générique de sous-domaine. En particulier, un fournisseur DNS doit autoriser les caractères génériques dans les entrées d'hôte CNAME.

Les règles de routage générique s'appliquent aux URL contenant des composants pour les services, les versions et les instances, conformément aux règles de routage de services pour App Engine.

Supprimer des domaines personnalisés de votre application

Pour supprimer un mappage de domaine personnalisé de votre application, votre compte doit disposer du rôle d'administrateur App Engine (roles/appengine.appAdmin) ou d'un rôle personnalisé contenant l'autorisation appengine.applications.update.

Dans Google Cloud Console, procédez comme suit :

  1. Accédez à l'onglet Domaines personnalisés de la page Paramètres d'App Engine.

    Accéder à l'onglet Domaines personnalisés

  2. Sélectionnez le nom de domaine personnalisé, puis cliquez sur Supprimer.

Vous pouvez également utiliser les commandes gcloud ou l'API Admin pour supprimer des domaines personnalisés.

Dépannage

Si votre application affiche des erreurs d'authentification après avoir configuré votre domaine personnalisé avec l'authentification de domaine Google Workspace, supprimez le mappage de domaine personnalisé et reprenez la procédure permettant de mapper un domaine personnalisé à votre application. Veillez à configurer l'authentification de votre domaine Google Workspace avant de configurer votre mappage de domaine personnalisé dans App Engine.

Étapes suivantes