Noms de domaine personnalisés pour les API WebSocket dans API Gateway
Les noms de domaine personnalisés sont des URL plus simples et plus intuitives que vous pouvez fournir à vos utilisateurs d’API.
Après avoir déployé votre API, vous (et vos clients) pouvez appeler cette API à l’aide de l’URL de base par défaut au format suivant :
https://
api-id
.execute-api.region
.amazonaws.com/stage
où api-id
est généré par API Gateway, region
est la région AWS et stage
est spécifié par vous lors du déploiement de l’API.
La partie nom d’hôte de l’URL,
, fait référence à un point de terminaison de l’API. Le nom par défaut du point de terminaison de l’API est généré de manière aléatoire, difficile à mémoriser et peu convivial.api-id
.execute-api.region
.amazonaws.com
Avec des noms de domaine personnalisés, vous pouvez configurer le nom d’hôte de votre API et choisir un chemin de base (par exemple, myservice
) pour mapper l’URL alternative à votre API. Par exemple, une URL de base de l’API plus conviviale peut devenir :
https://api.example.com/myservice
Considérations
Les considérations suivantes peuvent avoir une incidence sur votre utilisation d’un nom de domaine personnalisé.
-
Si vous mappez un nom de domaine personnalisé à une API WebSocket, vous ne pouvez pas le mapper à une API REST ou à une API HTTP.
-
Seuls les noms de domaine personnalisés régionaux sont pris en charge.
-
Pour la version TLS minimale, seule la version TLS 1.2 est prise en charge.
-
Vous devez créer ou mettre à jour l’enregistrement de ressource de votre fournisseur DNS pour le mapper au point de terminaison de votre API. Sans ce mappage, les demandes d’API destinées au nom de domaine personnalisé ne peuvent pas atteindre API Gateway.
-
Vous pouvez prendre en charge un nombre presque infini de noms de domaine sans dépasser le quota par défaut en utilisant un certificat générique. Pour de plus amples informations, consultez Noms de domaine personnalisés génériques.
Prérequis
Les conditions suivantes sont requises pour créer un nom de domaine personnalisé.
Enregistrement d’un nom de domaine
Pour pouvoir configurer des noms de domaine personnalisés pour vos API, vous devez avoir enregistré un nom de domaine Internet. Vous pouvez enregistrer votre nom de domaine Internet avec Amazon Route 53 ou utiliser un bureau d’enregistrement de domaine tiers de votre choix. Votre nom de domaine personnalisé peut être le nom d’un sous-domaine ou le domaine racine (également nommé « zone apex ») d’un domaine Internet enregistré.
Votre nom de domaine doit respecter la spécification RFC 1035
Certificats pour les noms de domaine personnalisés
Avant de configurer un nom de domaine personnalisé pour une API, vous devez avoir un certificat SSL/TLS prêt dans ACM. Si ACM n’est pas disponible dans la région AWS où vous créez votre nom de domaine personnalisé, vous devez importer un certificat dans API Gateway dans cette région.
Pour importer un certificat SSL/TLS, vous devez fournir le corps du certificat SSL/TLS au format PEM, sa clé privée, ainsi que la chaîne de certificats du nom de domaine personnalisé.
Chaque certificat stocké dans ACM est identifié par son ARN. Avec les certificats émis par ACM, vous n’avez pas à vous inquiéter d’une éventuelle exposition des informations sensibles du certificat, par exemple sa clé privée. Pour utiliser un certificat géré par AWS pour un nom de domaine, indiquez simplement son ARN.
Si votre application utilise l’épinglage de certificat, parfois appelé épinglage SSL, pour épingler un certificat ACM, l’application ne pourra peut-être pas se connecter à votre domaine une fois qu’AWS aura renouvelé le certificat. Pour plus d’informations, consultez la section Problèmes d’épinglage de certificat dans le Guide de l’utilisateur AWS Certificate Manager.
Noms de domaine personnalisés génériques
Avec les noms de domaine personnalisés génériques, vous pouvez prendre en charge un nombre presque infini de noms de domaine sans dépasser le quota par défaut. Par exemple, vous pouvez donner à chacun de vos clients son propre nom de domaine,
.customername
.api.example.com
Pour créer un nom de domaine personnalisé générique, vous pouvez spécifier un caractère générique (*
) comme premier sous-domaine d’un domaine personnalisé qui représente tous les sous-domaines possibles d’un domaine racine.
Par exemple, le nom de domaine personnalisé générique *.example.com
se traduit par des sous-domaines tels que a.example.com
, b.example.com
et c.example.com
, qui effectuent tous un routage vers le même domaine.
Les noms de domaine personnalisés génériques prennent en charge des configurations distinctes des noms de domaine personnalisés standard d’API Gateway. Par exemple, dans un seul compte AWS, vous pouvez configurer *.example.com
et a.example.com
pour qu’ils se comportent différemment.
Vous pouvez utiliser les variables de contexte $context.domainName
et $context.domainPrefix
pour déterminer le nom de domaine utilisé par un client pour appeler votre API. Pour en savoir plus sur les variables de contexte, consultez Variables pour les transformations de données pour API Gateway.
Pour créer un nom de domaine personnalisé générique, vous devez fournir un certificat émis par ACM qui a été validé à l’aide du DNS ou de la méthode de validation par e-mail.
Note
Vous ne pouvez pas créer un nom de domaine personnalisé générique si un autre compte AWS a créé un nom de domaine personnalisé en conflit avec ce nom. Par exemple, si le compte A a créé a.example.com
, le compte B ne peut pas créer le nom de domaine personnalisé générique *.example.com
.
Si les comptes A et B ont le même propriétaire, vous pouvez contacter le AWSCentre de support
Étapes suivantes pour les noms de domaine personnalisés
Pour configurer un nom de domaine personnalisé pour une API HTTP, utilisez la documentation de la section API REST du Guide du développeur API Gateway.
D’abord, spécifiez un certificat pour votre nom de domaine personnalisé. Pour de plus amples informations, consultez Préparation de certificats dans AWS Certificate Manager. Ensuite, créez un nom de domaine personnalisé régional. Pour de plus amples informations, consultez Configuration d’un nom de domaine personnalisé régional dans API Gateway.