Configuration d’un nom de domaine personnalisé optimisé pour la périphérie dans API Gateway
Lorsque vous créez un nom de domaine personnalisé pour une API optimisée pour la périphérie, API Gateway configure une distribution Amazon CloudFront et un enregistrement DNS pour mapper le nom de domaine API au nom de domaine de distribution CloudFront. Les demandes pour l’API sont ensuite acheminées vers API Gateway via la distribution CloudFront mappée. Ce mappage concerne les demandes d’API qui sont liées au nom de domaine personnalisé à acheminer vers API Gateway via la distribution CloudFront mappée.
Considérations
Voici quelques points à prendre en compte pour votre nom de domaine personnalisé optimisé pour la périphérie :
-
Pour configurer un nom de domaine personnalisé optimisé pour la périphérie ou mettre à jour son certificat, vous devez être autorisé à mettre à jour les distributions CloudFront.
Les autorisations suivantes sont nécessaires pour mettre à jour les distributions CloudFront :
-
Vous devez demander ou importer un certificat pour votre nom de domaine personnalisé optimisé pour la périphérie dans la région
us-east-1
USA Est (Virginie du Nord). -
La distribution CloudFront créée par API Gateway appartient à un compte spécifique à la région affilié à API Gateway. Lorsque vous effectuez des opérations de suivi pour créer et mettre à jour ce type de distribution CloudFront dans CloudTrail, vous devez utiliser cet ID de compte API Gateway. Pour plus d’informations, consultez Consignation de la création du nom de domaine personnalisé dans CloudTrail.
-
API Gateway prend en charge les noms de domaine personnalisés optimisés pour la périphérie pour les API en exploitant Server Name Indication (SNI) sur la distribution CloudFront. Pour plus d’informations sur l’utilisation de noms de domaine personnalisés sur une distribution CloudFront, notamment sur le format de certificat requis et la longueur maximale d’une clé de certificat, consultez Using Alternate Domain Names and HTTPS dans le Guide du développeur Amazon CloudFront.
-
Il faut compter environ 40 minutes pour qu’un nom de domaine personnalisé optimisé pour la périphérie soit prêt.
-
Une fois que vous avez créé votre nom de domaine personnalisé optimisé pour la périphérie, vous devez créer un enregistrement DNS pour mapper le nom de domaine personnalisé au nom de la distribution CloudFront.
Création d’un nom de domaine personnalisé optimisé pour la périphérie
La procédure suivante décrit comment créer un nom de domaine personnalisé optimisé pour la périphérie pour une API.
Il faut compter environ 40 minutes pour qu’un nom de domaine personnalisé optimisé pour la périphérie soit prêt, mais la console affiche immédiatement le nom de domaine de la distribution CloudFront associée sous la forme
, ainsi que l’ARN du certificat. En attendant, vous pouvez créer un mappage du chemin de base ou une règle de routage, puis configurer l’alias de l’enregistrement DNS afin de mapper le nom de domaine personnalisé au nom de domaine de la distribution CloudFront associée.distribution-id
.cloudfront.net
Configuration du mappage de chemin de base d’une API à l’aide d’un nom de domaine personnalisé servant de nom d’hôte
Étant donné que vous avez défini le mode de routage sur API_MAPPING_ONLY
, vous pouvez utiliser un mappage du chemin de base pour utiliser un seul nom de domaine personnalisé comme nom d’hôte de plusieurs API. Le mappage de chemin de base rend une API accessible par la combinaison du nom de domaine personnalisé et du chemin de base associé.
Par exemple, si vous avez créé dans API Gateway une API nommée PetStore
et une autre nommée Dogs
et que vous avez configuré un nom de domaine personnalisé api.example.com
, vous pouvez définir l’URL de l’API PetStore
comme https://api.example.com
.
Cette opération associe l’API PetStore
au chemin de base d’une chaîne vide. Si vous définissez l’URL de l’API PetStore
comme https://api.example.com/PetStore
, l’API PetStore
est associée au chemin de base PetStore
. Vous pouvez affecter un chemin de base MyDogList
pour l’API Dogs
. L’URL de https://api.example.com/MyDogList
est alors l’URL racine de l’API Dogs
.
Pour configurer des mappages d’API à plusieurs niveaux, vous ne pouvez utiliser qu’un nom de domaine personnalisé régional. Les noms de domaine personnalisés optimisés pour la périphérie ne sont pas pris en charge. Pour plus d’informations, consultez Utilisation de mappages d’API pour connecter des étapes d’API REST à un nom de domaine personnalisé.
La procédure suivante configure les mappages d’API pour mapper les chemins de votre nom de domaine personnalisé à vos étapes d’API.
Pour plus de flexibilité dans l’acheminement du trafic vers vos API, vous pouvez remplacer le mode de routage par ROUTING_RULE_ONLY
ou ROUTING_RULE_THEN_API_MAPPING
et créer une règle de routage. Pour plus d’informations, consultez Envoi du trafic à vos API via votre nom de domaine personnalisé dans API Gateway.
Création d’un enregistrement DNS pour votre nom de domaine personnalisé optimisé pour la périphérie
Après avoir créé votre nom de domaine personnalisé optimisé pour la périphérie, configurez l’alias de l’enregistrement DNS.
Nous vous recommandons d’utiliser Route 53 pour créer un alias d’enregistrement A pour votre nom de domaine personnalisé et de spécifier le nom de domaine de la distribution CloudFront en tant que cible de l’alias. Cela signifie que Route 53 peut acheminer votre nom de domaine personnalisé, même s’il s’agit d’une zone apex. Pour plus d’informations, consultez Choix entre des jeux d’enregistrements de ressources avec ou sans alias dans le guide du développeur Amazon Route 53.
Pour obtenir des instructions sur Amazon Route 53, consultez Acheminement du trafic vers Amazon API Gateway à l’aide de votre nom de domaine dans le Manuel du développeur Amazon Route 53.
Consignation de la création du nom de domaine personnalisé dans CloudTrail
Lorsque CloudTrail est activé pour la journalisation des appels API Gateway effectués par votre compte, API Gateway enregistre les mises à jour de distribution CloudFront associées lorsqu’un nom de domaine personnalisé est créé ou mis à jour pour une API. Ces journaux sont disponibles dans us-east-1
. Étant donné que ces distributions CloudFront appartiennent à API Gateway, chacune de ces distributions CloudFront signalées est identifiée par l’un des ID de compte API Gateway spécifiques à la région suivants, au lieu de l’ID de compte du propriétaire de l’API.
Région |
ID de compte |
---|---|
us-east-1 | 392220576650 |
us-east-2 | 718770453195 |
us-west-1 | 968246515281 |
us-west-2 | 109351309407 |
ca-central-1 | 796887884028 |
eu-west-1 | 631144002099 |
eu-west-2 | 544388816663 |
eu-west-3 | 061510835048 |
eu-central-1 | 474240146802 |
eu-central-2 | 166639821150 |
eu-north-1 | 394634713161 |
eu-south-1 | 753362059629 |
eu-south-2 | 359345898052 |
ap-northeast-1 | 969236854626 |
ap-northeast-2 | 020402002396 |
ap-northeast-3 | 360671645888 |
ap-southeast-1 | 195145609632 |
ap-southeast-2 | 798376113853 |
ap-southeast-3 | 652364314486 |
ap-southeast-4 | 849137399833 |
ap-south-1 | 507069717855 |
ap-south-2 | 644042651268 |
ap-east-1 | 174803364771 |
sa-east-1 | 287228555773 |
me-south-1 | 855739686837 |
me-central-1 | 614065512851 |
Rotation d’un certificat importé dans ACM
ACM gère automatiquement le renouvellement des certificats qu’il émet. Vous n’avez pas besoin d’effectuer la rotation des certificats émis par ACM pour vos noms de domaine personnalisés. CloudFront le gère en votre nom.
Toutefois, si vous importez un certificat dans ACM et que vous l’utilisez pour un nom de domaine personnalisé, vous devez effectuer la rotation de ce certificat avant qu’il n’arrive à expiration. Cela implique d’importer un nouveau certificat tiers pour le nom de domaine et d’effectuer la rotation du certificat existant vers le nouveau. Vous devez répéter ce processus lorsque le certificat nouvellement importé arrive à expiration. Sinon, vous pouvez demander à ACM d’émettre un nouveau certificat pour le nom de domaine et d’effectuer la rotation du certificat existant vers le nouveau certificat émis par ACM. Après cela, vous pouvez laisser ACM et CloudFront gérer automatiquement la rotation de certificat. Pour créer ou importer un nouveau certificat ACM, suivez les étapes décrites dans Pour créer ou importer un certificat SSL/TLS dans ACM.
La procédure suivante explique comment effectuer la rotation d’un certificat pour un nom de domaine.
Note
Il faut compter environ 40 minutes pour effectuer la rotation d’un certificat importé dans ACM.
Appel de votre API avec des noms de domaine personnalisés lorsque vous utilisez un mappage de chemin de base
L’appel d’une API avec un nom de domaine personnalisé est identique à l’appel de l’API avec son nom de domaine par défaut, sous réserve que l’URL correcte soit utilisée.
Les exemples suivants comparent et opposent un ensemble d’URL par défaut aux URL personnalisées correspondantes de deux API (udxjef
et qf3duz
) dans une région (us-east-1
) et pour un nom de domaine personnalisé (api.example.com
) donnés.
ID d’API | Étape | URL par défaut | Chemin de base | URL personnalisé |
---|---|---|---|---|
udxjef | prod | https://udxjef.execute-api.us-east-1.amazonaws.com/prod | /petstore | https://api.example.com/petstore |
udxjef | tst | https://udxjef.execute-api.us-east-1.amazonaws.com/tst | /petdepot | https://api.example.com/petdepot |
qf3duz | dev | https://qf3duz.execute-api.us-east-1.amazonaws.com/dev | /bookstore | https://api.example.com/bookstore |
qf3duz | tst | https://qf3duz.execute-api.us-east-1.amazonaws.com/tst | /bookstand | https://api.example.com/bookstand |
Pour plus de flexibilité dans l’acheminement du trafic vers vos API, vous pouvez créer une règle de routage. Pour plus d’informations, consultez Envoi du trafic à vos API via votre nom de domaine personnalisé dans API Gateway.
API Gateway prend en charge les noms de domaine personnalisés pour une API à l’aide de Server Name Indication (SNI)
API Gateway applique SNI sur la distribution CloudFront. Pour plus d’informations sur la manière dont CloudFront utilise les noms de domaine personnalisés, consultez Certificats SSL personnalisés Amazon CloudFront