

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.

# Utilisateur d’API : association de votre point de terminaison de VPC à un nom de domaine personnalisé privé partagé avec vous
<a name="apigateway-private-custom-domains-consumer-create"></a>

La procédure suivante montre comment utiliser un nom de domaine privé dans un autre Compte AWS. En fonction de votre relation de confiance avec le fournisseur d'API, vous AWS RAM pouvez effectuer certaines tâches pour vous.

Lorsque vous utilisez un nom de domaine personnalisé Compte AWS différent d'un nom de domaine personnalisé privé, vous pouvez uniquement associer votre point de terminaison VPC à un nom de domaine personnalisé privé et l'invoquer. Vous ne pouvez pas voir la politique `policy` ni aucun autre paramètre du nom de domaine personnalisé privé.

## Conditions préalables
<a name="apigateway-private-custom-domains-consumer-prerequisites"></a>

Les conditions préalables suivantes sont requises pour utiliser un nom de domaine personnalisé privé dans un autre Compte AWS :
+ Un VPC et un point de terminaison de VPC pour le service `execute-api`. Les valeurs `enableDnsHostnames` et `enableDnsSupport` de votre VPC doivent être définies sur `true`.
+ Nous vous recommandons de configurer au moins deux zones de disponibilité par point de terminaison de VPC.

## (Facultatif) Acceptez le partage de ressources du domaine personnalisé privé
<a name="apigateway-private-custom-domains-consumer-accept-resource-share"></a>

Si votre fournisseur d'API avait AWS RAM l'habitude de créer un partage de ressources, vous avez **12 heures** pour l'accepter. Si vous travaillez dans la même organisation AWS Organizations que le fournisseur d'API, le partage est automatiquement accepté. Si vous faites partie d’une organisation qui a activé le partage automatique de ressources, celles-ci sont automatiquement partagées avec vous.

------
#### [ AWS Management Console ]

Pour l'utiliser AWS Management Console, voir [Accepter et rejeter des invitations à partager des ressources](https://docs.aws.amazon.com/ram/latest/userguide/working-with-shared-invitations.html) dans le *Guide de l'AWS RAM utilisateur*. 

------
#### [ AWS CLI ]

Pour trouver toutes les ressources partagées avec vous, utilisez la [get-resource-share-invitations](https://docs.aws.amazon.com/cli/latest/reference/ram/get-resource-share-invitations.html)commande suivante :

```
aws ram get-resource-share-invitations \
    --region us-west-2
```

Utilisez l’ARN de partage de ressources obtenu pour accepter l’invitation de partage de ressources. La [accept-resource-share-invitation](https://docs.aws.amazon.com/cli/latest/reference/ram/accept-resource-share-invitation.html)commande suivante accepte le partage de ressources.

```
aws ram accept-resource-share-invitation \
    --resource-share-invitation-arn arn:aws:ram:us-west-2:123456789012:resource-share-invitation/1e3477be-4a95-46b4-bbe0-c4001EXAMPLE \
    --region us-west-2
```

------

## Association de votre point de terminaison de VPC à un nom de domaine personnalisé privé partagé
<a name="apigateway-private-custom-domains-consumer-associate"></a>

Comme les noms de domaine personnalisés privés ne sont pas uniques, vous devez associer votre point de terminaison de VPC à l’ARN unique du nom de domaine personnalisé. Après avoir créé votre association d’accès au nom de domaine, il peut s’écouler jusqu’à 15 minutes avant que votre point de terminaison de VPC n’invoque avec succès votre nom de domaine personnalisé privé. Si vous utilisez un point de terminaison de VPC pour accéder à un nom de domaine personnalisé public, ne l’utilisez pas pour créer une association d’accès à un nom de domaine. 

------
#### [ AWS Management Console ]

**Pour associer votre point de terminaison de VPC à un nom de domaine personnalisé privé partagé**

1. Connectez-vous à la console API Gateway à l'adresse [https://console.aws.amazon.com/apigateway.](https://console.aws.amazon.com/apigateway)

1. Dans le panneau de navigation principal, sélectionnez **Associations d’accès aux noms de domaine**.

1. Choisissez **Créer une association d’accès au nom de domaine**.

1. Pour **ARN du nom de domaine**, sélectionnez l’ARN du nom de domaine que le fournisseur d’API a partagé avec vous.

   L’ARN du nom de domaine peut ne pas apparaître dans la liste déroulante. Vous pouvez utiliser la AWS RAM console pour afficher les noms de domaine partagés avec vous, puis copier l'ARN du nom de domaine et le saisir dans ce champ.

1. Pour **ID de point de terminaison de VPC**, sélectionnez l’ID de point de terminaison de VPC avec lequel vous souhaitez former l’association d’accès au nom de domaine.

1. Choisissez **Créer une association d’accès au nom de domaine**.

------
#### [ AWS CLI ]

Comme les noms de domaine personnalisés privés ne sont pas uniques, vous devez associer votre point de terminaison de VPC à l’ARN unique du nom de domaine personnalisé. Pour rechercher l’ARN du nom de domaine, utilisez l’une des commandes suivantes.

1.   
**AWS RAM**  
La commande [list-resources](https://docs.aws.amazon.com/cli/latest/reference/ram/list-resources.html) suivante recense les ressources partagées avec vous. Le fournisseur d'API doit AWS RAM avoir partagé son domaine personnalisé privé avec vous pour utiliser cette commande.  

   ```
   aws ram list-resources \
       --resource-owner OTHER-ACCOUNTS \
       --region us-west-2
       --resource-type apigateway:Domainnames
   ```  
**API Gateway**  
La `get-domain-names` commande suivante répertorie tous les noms de domaine personnalisés privés appartenant à d'autres personnes avec Comptes AWS lesquels vous pouvez former des associations d'accès aux noms de domaine.  

   ```
   aws apigateway get-domain-names \
       --resource-owner OTHER_ACCOUNTS \
       --region us-west-2
   ```

1.  Après avoir récupéré l’ARN, utilisez API Gateway pour créer l’association d’accès au nom de domaine entre votre point de terminaison de VPC et un nom de domaine personnalisé privé partagé. Utilisez la commande `create-domain-name-access-association` suivante :

   ```
   aws apigateway create-domain-name-access-association \
       --access-association-source-type VPCE \
       --access-association-source 'vpce-1a2b3c4d5e6f1a2b3' \
       --domain-name-arn arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234"
   ```

   Le résultat se présente comme suit :

   ```
   {
       "domainNameAccessAssociationARN": "arn:aws:apigateway:us-west-2:444455556666:/domainnameaccessassociations/domainname/private.example.com+abcd1234/vpcesource/vpce-abcd1234efg", 
       "accessAssociationSource": "vpce-1a2b3c4d5e6f1a2b3",
       "accessAssociationSourceType": "VPCE",
       "domainNameARN" : "arn:aws:apigateway:us-west-1:111122223333:/domainnames/private.example.com+a1b2c3"
   }
   ```

------

Après avoir associé votre point de terminaison de VPC au nom de domaine personnalisé privé, vérifiez que votre fournisseur d’API a mis à jour la politique de son nom de domaine personnalisé privé de manière à autoriser le point de terminaison de votre VPC à invoquer son nom de domaine. Pour de plus amples informations, veuillez consulter [Autorisation d’autres comptes à invoquer votre nom de domaine personnalisé privé](apigateway-private-custom-domains-provider-share.md#apigateway-private-custom-domains-provider-policy-update).

## Création d’une zone hébergée Route 53
<a name="apigateway-private-custom-domains-consumer-create-route-53-private-hosted-zone"></a>

Pour résoudre le nom de domaine personnalisé privé, vous devez créer une zone hébergée privée Route 53. Une zone hébergée est un conteneur qui contient des informations sur la manière dont vous souhaitez acheminer le trafic pour un domaine au sein d'un ou de plusieurs domaines VPCs sans exposer vos ressources à Internet. Pour plus d'informations, veuillez onsulter [Utilisation des zones hébergées privées](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-private.html).

------
#### [ AWS Management Console ]

Pour l'utiliser AWS Management Console, consultez la section [Création d'une zone hébergée privée](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-creating.html) dans le *guide du développeur Amazon Route 53*.

Pour **Nom**, utilisez le nom du nom de domaine personnalisé privé. Pour **ID du VPC**, utilisez le VPC contenant le point de terminaison de VPC que vous avez utilisé pour votre association d’accès au nom de domaine.

------
#### [ AWS CLI ]

La [create-hosted-zone](https://docs.aws.amazon.com/cli/latest/reference/route53/create-hosted-zone.html)commande suivante crée une zone hébergée privée :

```
aws route53 create-hosted-zone --name private.example.com \
    --caller-reference 2014-04-01-18:47 \
    --hosted-zone-config Comment="command-line version",PrivateZone=true \
    --vpc VPCRegion=us-west-2,VPCId=vpc-abcd1234
```

La sortie contient l’ID de la zone hébergée. Vous allez l’utiliser lors des étapes suivantes.

------

## Création d’un enregistrement DNS Route 53
<a name="apigateway-private-custom-domains-consumer-create-route-53-record"></a>

Après avoir créé la zone hébergée, vous devez créer un enregistrement pour résoudre le domaine personnalisé privé. Dans cet exemple, vous allez créer un type d’enregistrement A. Si vous utilisez IPv6 pour votre point de terminaison VPC, créez un type d'enregistrement AAAA. Si vous utilisez une double pile pour votre point de terminaison de VPC, créez un enregistrement de type AAAA et un type d’enregistrement A.

------
#### [ AWS Management Console ]

Pour l'utiliser AWS Management Console, consultez [Routage du trafic vers une API Amazon API Gateway en utilisant votre nom de domaine](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-api-gateway.html).

Utilisez **Création rapide** et activez **Alias**. Pour le point de terminaison, utilisez le nom DNS du point de terminaison du VPC.

------
#### [ AWS CLI ]

Pour configurer vos enregistrements DNS de manière à ce qu’ils mappent le nom de domaine personnalisé privé au nom d’hôte de l’ID de la zone hébergée, commencez par créer un fichier JSON qui contient la configuration pour créer un enregistrement DNS pour le nom de domaine privé.

L’enregistrement `setup-dns-record.json` suivant montre comment créer un enregistrement DNS `A` pour mapper un nom de domaine personnalisé privé à son nom d’hôte privé. Vous allez fournir le nom `DNSName` de l’ID DNS de votre VPC et l’ID de la zone hébergée que vous avez créée à l’étape précédente.

```
{
  "Changes": [
    {
      "Action": "UPSERT",
      "ResourceRecordSet": {
        "Name": "private.example.com",
        "Type": "A",
        "AliasTarget": {
          "DNSName": "vpce-abcd1234.execute-api.us-west-2.vpce.amazonaws.com",
          "HostedZoneId": "Z2OJLYMUO9EFXC",
          "EvaluateTargetHealth": false
        }
      }
    }
  ]
}
```

La [change-resource-record-sets](https://docs.aws.amazon.com/cli/latest/reference/route53/change-resource-record-sets.html)commande suivante crée un enregistrement DNS pour le nom de domaine personnalisé privé :

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

Remplacez `hosted-zone-id` par l’ID de la zone hébergée Route 53 du jeu d’enregistrements DNS de votre compte. La valeur du paramètre `change-batch` pointe vers un fichier JSON.

------

## Prochaines étapes pour un utilisateur d’API
<a name="apigateway-private-custom-domains-consumer-next-steps"></a>

Vous pouvez désormais invoquer l’API privée dans votre propre Compte AWS. Dans votre VPC, vous pouvez utiliser la commande curl suivante pour accéder à votre nom de domaine personnalisé privé.

```
curl https://private.example.com/v1
```

Pour découvrir d’autres façons d’invoquer votre API privée, consultez [Invocation d’une API privée à l’aide d’un nom de domaine personnalisé](apigateway-private-api-test-invoke-url.md#apigateway-private-custom-domains-provider-invoke).