Configuration d'un nom de domaine personnalisé régional dans API Gateway - Amazon API Gateway

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration d'un nom de domaine personnalisé régional dans API Gateway

Vous pouvez créer un nom de domaine personnalisé pour un point de terminaison d'API régional (pour une AWS région). Pour créer un nom de domaine personnalisé, vous devez fournir un certificat ACM spécifique à la région. Pour plus d'informations sur la création ou le chargement d'un certificat de nom de domaine personnalisé, consultez Préparation des certificats dans AWS Certificate Manager.

Important

Pour un nom de domaine personnalisé régional API Gateway, vous devez demander ou importer le certificat dans la même région que votre API.

Lorsque vous créez un nom de domaine personnalisé régional (ou que vous en migrez un) avec un certificat ACM, API Gateway crée un rôle lié à un service dans votre compte, si ce rôle n'existe pas déjà. Le rôle lié à un service est requis pour attacher votre certificat ACM à votre point de terminaison régional. Le rôle est nommé AWSServiceRoleForAPIGatewayet sera associé à la politique GatewayServiceRolePolicy gérée par l'API. Pour de plus amples informations sur l'utilisation du rôle lié à un service, veuillez consulter Utilisation des rôles liés à un service.

Important

Vous devez créer un enregistrement DNS pour pointer le nom de domaine personnalisé vers le nom de domaine régional. Cela permet au trafic lié au nom de domaine personnalisé d'être acheminé vers le nom d'hôte régional de l'API. L'enregistrement DNS peut être de type CNAME ou « A ».

Configuration d'un nom de domaine personnalisé régional avec certificat ACM à l'aide de la console API Gateway

Pour utiliser la console API Gateway afin de configurer un nom de domaine personnalisé régional, procédez comme suit.

Pour configurer un nom de domaine personnalisé régional à l'aide de la console API Gateway
  1. Connectez-vous à la console API Gateway à l'adresse https://console.aws.amazon.com/apigateway.

  2. Sélectionnez Noms de domaine personnalisés dans le volet de navigation principal.

  3. Choisissez Créer.

  4. Pour Nom de domaine, entrez un nom de domaine.

  5. Sous Configuration, choisissez Régional.

  6. Choisissez une version TLS minimale.

  7. Suppression d'un certificat ACM Le certificat doit se trouver dans la même région que l'API.

  8. Choisissez Créer.

  9. Suivez la documentation Route 53 sur la configuration de Route 53 pour acheminer le trafic vers API Gateway.

La procédure suivante configure les mappages d'API pour mapper les chemins de votre nom de domaine personnalisé à vos étapes d'API.

Pour créer des mappages d'API à l'aide de la console API Gateway
  1. Connectez-vous à la console API Gateway à l'adresse https://console.aws.amazon.com/apigateway.

  2. Choisissez un nom de domaine personnalisé.

  3. Choisissez Configurer les mappages d'API.

  4. Choisissez Ajouter un nouveau mappage.

  5. Spécifiez l'API, l'Étape et le Chemin du mappage.

  6. Choisissez Enregistrer.

Pour de plus amples informations sur la définition des mappages de chemin de base pour le domaine personnalisé, veuillez consulter Configuration du mappage de chemin de base d'une API à l'aide d'un nom de domaine personnalisé servant de nom d'hôte.

Configurez un nom de domaine personnalisé régional avec un certificat ACM à l'aide de AWS CLI

Pour utiliser le AWS CLI afin de configurer un nom de domaine personnalisé pour une API régionale, suivez la procédure suivante.

  1. Appelez create-domain-name, en spécifiant un nom de domaine personnalisé et l'ARN d'un certificat régional.

    aws apigatewayv2 create-domain-name \ --domain-name 'regional.example.com' \ --domain-name-configurations CertificateArn=arn:aws:acm:us-west-2:123456789012:certificate/123456789012-1234-1234-1234-12345678

    Notez que le certificat spécifié provient de la région us-west-2 et que pour cet exemple, nous supposons que l'API sous-jacente est de la même région.

    S'il aboutit, cet appel renvoie un résultat similaire à ce qui suit :

    { "ApiMappingSelectionExpression": "$request.basepath", "DomainName": "regional.example.com", "DomainNameConfigurations": [ { "ApiGatewayDomainName": "d-id.execute-api.us-west-2.amazonaws.com", "CertificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/id", "DomainNameStatus": "AVAILABLE", "EndpointType": "REGIONAL", "HostedZoneId": "id", "SecurityPolicy": "TLS_1_2" } ] }

    La valeur de la propriété DomainNameConfigurations renvoie le nom d'hôte de l'API régionale. Vous devez créer un enregistrement DNS pour pointer votre nom de domaine personnalisé vers ce nom de domaine régional. Cela permet au trafic lié au nom de domaine personnalisé d'être acheminé vers le nom d'hôte de cette API régionale.

  2. Créez un enregistrement DNS pour associer le nom de domaine personnalisé et le nom de domaine régional. Cela permet aux demandes liées au nom de domaine personnalisé d'être acheminées vers le nom d'hôte régional de l'API.

  3. Ajoutez un mappage du chemin de base afin d'exposer les API spécifiées (par exemple, 0qzs2sy7bh) dans une étape de déploiement (par exemple, test) sous le nom de domaine personnalisé spécifié (par exemple, regional.example.com).

    aws apigatewayv2 create-api-mapping \ --domain-name 'regional.example.com' \ --api-mapping-key 'myApi' \ --api-id 0qzs2sy7bh \ --stage 'test'

    En conséquence, l'URL de base utilisant le nom de domaine personnalisé pour l'API déployée pendant l'étape devient https://regional.example.com/myAPI.

  4. Configurez vos enregistrements DNS pour mapper le nom de domaine personnalisé régional à son nom d'hôte de l'ID de la zone hébergée donné. Commencez par créer un fichier JSON qui contient la configuration permettant de paramétrer un enregistrement DNS pour le nom de domaine régional. L'exemple suivant décrit comment créer un enregistrement A DNS afin de mapper un nom de domaine personnalisé régional (regional.example.com) à son nom d'hôte régional (d-numh1z56v6.execute-api.us-west-2.amazonaws.com) mis en service lors de la création du nom de domaine personnalisé. Les propriétés DNSName et HostedZoneId d'AliasTarget peuvent prendre respectivement les valeurs regionalDomainName et regionalHostedZoneId du nom de domaine personnalisé. Vous pouvez également obtenir les ID de la zone hébergée Route 53 régionale dans Points de terminaison et quotas Amazon API Gateway.

    { "Changes": [ { "Action": "CREATE", "ResourceRecordSet": { "Name": "regional.example.com", "Type": "A", "AliasTarget": { "DNSName": "d-numh1z56v6.execute-api.us-west-2.amazonaws.com", "HostedZoneId": "Z2OJLYMUO9EFXC", "EvaluateTargetHealth": false } } } ] }
  5. Exécutez la commande CLI suivante :

    aws route53 change-resource-record-sets \ --hosted-zone-id {your-hosted-zone-id} \ --change-batch file://path/to/your/setup-dns-record.json

    {your-hosted-zone-id} est l'ID de zone hébergée Route 53 de l'enregistrement DNS défini dans votre compte. La valeur du change-batch paramètre pointe vers un fichier JSON (setup-dns-record.json) dans un dossier (path/to/your).