

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.

# Intégrations privées pour REST APIs dans API Gateway
<a name="private-integration"></a>

Utilisez une intégration privée pour exposer vos HTTP/HTTPS ressources au sein d'un Amazon VPC afin que des clients extérieurs au VPC puissent y accéder. Cela étend l'accès à vos ressources VPC privées au-delà des limites du VPC. Vous pouvez contrôler l’accès à votre API à l’aide de n’importe quelle [méthode d’autorisation](apigateway-control-access-to-api.md) prise en charge par API Gateway.

Pour créer une intégration privée, vous devez d’abord créer un lien VPC. API Gateway prend en charge les liens VPC V2 pour REST. APIs Les liens VPC V2 vous permettent de créer des intégrations privées qui connectent votre API REST aux équilibreurs de charge d'application sans utiliser de Network Load Balancer. L'utilisation d'un Application Load Balancer vous permet de vous connecter à des applications ECSs basées sur des conteneurs Amazon et à de nombreux autres backends. Les liens VPC V1 sont considérés comme un type d'intégration traditionnel. Bien qu'ils soient pris en charge par API Gateway, nous vous recommandons de ne pas créer de nouveaux liens VPC V1.

## Considérations
<a name="private-integrations-considerations"></a>

Les considérations suivantes peuvent avoir un impact sur votre utilisation des intégrations privées :
+ Toutes les ressources doivent être détenues par la même personne Compte AWS. Cela inclut l'équilibreur de charge, le lien VPC et l'API REST.
+ Par défaut, le trafic d’intégration privée utilise le protocole HTTP. Pour utiliser le protocole HTTPS, [https://docs.aws.amazon.com/apigateway/latest/api/API_PutIntegration.html#apigw-PutIntegration-request-uri](https://docs.aws.amazon.com/apigateway/latest/api/API_PutIntegration.html#apigw-PutIntegration-request-uri)spécifiez un nom de serveur sécurisé, tel que`https://example.com:443/test`.
+ Dans le cas d'une intégration privée, API Gateway inclut la partie [étape](set-up-stages.md) du point de terminaison de l'API dans la demande adressée à vos ressources principales. Par exemple, si vous demandez l'`test`étape d'une API, API Gateway inclut `test/path` dans la demande votre intégration privée. Pour supprimer le nom de l'étape de la demande adressée à vos ressources principales, utilisez le [mappage des paramètres](rest-api-parameter-mapping.md) pour créer une substitution pour la `$context.requestOverride.path` variable.
+ Les intégrations privées avec AWS Cloud Map ne sont pas prises en charge.

**Topics**
+ [Considérations](#private-integrations-considerations)
+ [Configuration des liens VPC V2 dans API Gateway](apigateway-vpc-links-v2.md)
+ [Configurez une intégration privée](set-up-private-integration.md)
+ [Intégration privée à l'aide de liaisons VPC V1 (ancienne version)](vpc-links-v1.md)

# Configuration des liens VPC V2 dans API Gateway
<a name="apigateway-vpc-links-v2"></a>

Les liens VPC vous permettent de créer des intégrations privées qui connectent vos routes d'API aux ressources privées d'un VPC, telles que les équilibreurs de charge d'application ou les applications basées sur des conteneurs Amazon ECS. Une intégration privée utilise un lien VPC V2 pour encapsuler les connexions entre API Gateway et les ressources VPC ciblées. Vous pouvez réutiliser les liens VPC entre différentes ressources et. APIs

Lorsque vous créez un lien VPC, API Gateway crée et gère des [interfaces réseau élastiques](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) pour le lien VPC V2 de votre compte. Ce processus peut prendre quelques minutes. Lorsqu'une liaison VPC V2 est prête à être utilisée, son état passe de `PENDING` à. `AVAILABLE` 

**Note**  
Si aucun trafic n’est envoyé sur le lien VPC pendant 60 jours, il devient `INACTIVE`. Lorsqu’un lien VPC atteint l’état `INACTIVE`, API Gateway supprime toutes les interfaces réseau du lien VPC. Cela provoque l’échec des demandes d’API qui dépendent du lien VPC. Si les demandes d’API reprennent, API Gateway provisionne à nouveau les interfaces réseau. La création des interfaces réseau et la réactivation du lien VPC peut prendre quelques minutes. Vous pouvez utiliser l’état du lien VPC pour surveiller l’état de votre lien VPC.

## Créez un lien VPC V2 à l'aide du AWS CLI
<a name="apigateway-vpc-links-v2-create"></a>

Pour créer un lien VPC V2, toutes les ressources impliquées doivent appartenir au même AWS compte. La [create-vpc-link](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/create-vpc-link.html)commande suivante crée un lien VPC :

```
aws apigatewayv2 create-vpc-link --name MyVpcLink \
    --subnet-ids subnet-aaaa subnet-bbbb \
    --security-group-ids sg1234 sg5678
```

**Note**  
Les liens VPC V2 sont immuables. Après avoir créé un lien VPC V2, vous ne pouvez pas modifier ses sous-réseaux ou ses groupes de sécurité.

## Supprimez un lien VPC V2 à l'aide du AWS CLI
<a name="apigateway-vpc-links-v2-delete"></a>

La [delete-vpc-link](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/delete-vpc-link.html)commande suivante supprime un lien VPC.

```
aws apigatewayv2 delete-vpc-link --vpc-link-id abcd123
```

## Disponibilité par région
<a name="apigateway-vpc-links-v2-availability"></a>

Les liaisons VPC V2 sont prises en charge dans les régions et zones de disponibilité suivantes :

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/apigateway/latest/developerguide/apigateway-vpc-links-v2.html)

# Configurez une intégration privée
<a name="set-up-private-integration"></a>

Pour créer une intégration privée avec un Application Load Balancer ou un Network Load Balancer, vous devez créer une intégration de proxy HTTP, spécifier le [lien VPC V2](apigateway-vpc-links-v2.md) à utiliser et fournir l'ARN d'un Network Load Balancer ou d'un Application Load Balancer. Par défaut, le trafic d’intégration privée utilise le protocole HTTP. Pour utiliser le protocole HTTPS, [https://docs.aws.amazon.com/apigateway/latest/api/API_PutIntegration.html#apigw-PutIntegration-request-uri](https://docs.aws.amazon.com/apigateway/latest/api/API_PutIntegration.html#apigw-PutIntegration-request-uri)spécifiez un nom de serveur sécurisé, tel que`https://example.com:443/test`. Pour un didacticiel complet sur la création d'une API REST avec une intégration privée, consultez[Didacticiel : création d’une API REST avec une intégration privée](getting-started-with-private-integration.md).

## Création d’une intégration privée
<a name="set-up-private-integration-create"></a>

La procédure suivante montre comment créer une intégration privée qui se connecte à un équilibreur de charge à l'aide d'un lien VPC V2.

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

Pour un didacticiel sur la création d'une intégration privée, voir,[Didacticiel : création d’une API REST avec une intégration privée](getting-started-with-private-integration.md).

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

La commande [put-integration suivante crée une intégration](https://docs.aws.amazon.com/cli/latest/reference/latest/api/API_PutIntegration.html) privée qui se connecte à un équilibreur de charge à l'aide d'un lien VPC V2 :

```
aws apigateway put-integration \
    --rest-api-id abcdef123 \
    --resource-id aaa000 \
    --integration-target 'arn:aws:elasticloadbalancing:us-east-2:111122223333:loadbalancer/app/myLoadBalancerName/1234567891011' \
    --uri 'https://example.com:443/path' \
    --http-method GET \
    --type HTTP_PROXY \
    --integration-http-method GET \
    --connection-type VPC_LINK \
    --connection-id bbb111
```

Au lieu de fournir directement l'ID de connexion, vous pouvez utiliser une variable d'étape à la place. Lorsque vous déployez votre API sur une étape, vous définissez l'ID VPC link V2. La commande [put-integration suivante crée une intégration](https://docs.aws.amazon.com/cli/latest/reference/latest/api/API_PutIntegration.html) privée à l'aide d'une variable d'étape pour l'ID VPC link V2 :

```
aws apigateway put-integration \
    --rest-api-id abcdef123 \
    --resource-id aaa000 \
    --integration-target 'arn:aws:elasticloadbalancing:us-east-2:111122223333:loadbalancer/app/myLoadBalancerName/1234567891011' \
    --uri 'https://example.com:443/path' \
    --http-method GET \
    --type HTTP_PROXY \
    --integration-http-method GET \
    --connection-type VPC_LINK \
    --connection-id "\${stageVariables.vpcLinkV2Id}"
```

Assurez-vous de mettre entre guillemets l'expression de la variable d'étape (\$1 \$1StageVariables.VPClinkV2ID\$1) et d'éviter le caractère \$1.

------
#### [ OpenAPI ]

Vous pouvez configurer une API avec l’intégration privée via l’importation de fichier d’API OpenAPI. Les paramètres sont similaires aux définitions OpenAPI d’une API avec des intégrations HTTP, à l’exception des points suivants : 
+ Vous devez explicitement définir `connectionType` sur `VPC_LINK`.
+ Vous devez définir explicitement `connectionId` sur l’ID d’un `VpcLinkV2` ou d’une variable d’étape renvoyant à l’ID d’un `VpcLinkV2`.
+ Le `uri` paramètre de l'intégration privée pointe vers un HTTP/HTTPS point de terminaison dans le VPC, mais il est utilisé à la place pour configurer l'en-tête de la demande d'`Host`intégration.
+ Le paramètre `uri` de l’intégration privée avec un point de terminaison HTTPS dans le VPC est utilisé pour vérifier le nom de domaine par rapport à celui indiqué dans le certificat installé sur le point de terminaison du VPC.

 Vous pouvez utiliser une variable d’étape pour référencer l’ID du `VpcLinkV2`. Vous pouvez également attribuer la valeur d’ID directement à `connectionId`. 

Le fichier d’API OpenAPI au format JSON suivant montre un exemple de fichier de lien VPC référencé par une variable d’étape (`${stageVariables.vpcLinkIdV2}`) :

```
{
  "swagger": "2.0",
  "info": {
    "version": "2017-11-17T04:40:23Z",
    "title": "MyApiWithVpcLinkV2"
  },
  "host": "abcdef123.execute-api.us-west-2.amazonaws.com",
  "basePath": "/test",
  "schemes": [
    "https"
  ],
  "paths": {
    "/": {
      "get": {
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "schema": {
              "$ref": "#/definitions/Empty"
            }
          }
        },
        "x-amazon-apigateway-integration": {
          "responses": {
            "default": {
              "statusCode": "200"
            }
          },
          "uri": "https://example.com:443/path",
          "passthroughBehavior": "when_no_match",
          "connectionType": "VPC_LINK",
          "connectionId": "${stageVariables.vpcLinkV2Id}",
          "integration-target": "arn:aws:elasticloadbalancing:us-east-2:111122223333:loadbalancer/app/myLoadBalancerName/1234567891011",
          "httpMethod": "GET",
          "type": "http_proxy"
        }
      }
    }
  },
  "definitions": {
    "Empty": {
      "type": "object",
      "title": "Empty Schema"
    }
  }
}
```

------

## Mettre à jour une intégration privée
<a name="set-up-private-integration-update"></a>

L'exemple suivant met à jour le lien VPC V2 pour une intégration privée.

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

**Pour mettre à jour une intégration privée**

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

1. Choisissez une API REST avec une intégration privée.

1. Choisissez la ressource et la méthode qui utilisent une intégration privée.

1. Dans l’onglet **Requête d’intégration**, sous **Paramètres de requête d’intégration**, choisissez **Modifier**.

1. Vous pouvez modifier les paramètres de votre intégration privée. Si vous utilisez actuellement un lien VPC V1, vous pouvez remplacer votre lien VPC par un lien VPC V2.

1. Choisissez **Enregistrer**.

1. Redéployez l’API pour que les modifications prennent effet.

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

La commande [update-integration](https://docs.aws.amazon.com/cli/latest/reference/latest/api/API_PutIntegration.html) suivante met à jour une intégration privée pour utiliser un lien VPC V2 :

```
aws apigateway update-integration \
    --rest-api-id a1b2c3d4e5 \
    --resource-id a1b2c3 \
    --http-method GET \
    --patch-operations "[{\"op\":\"replace\",\"path\":\"/connectionId\",\"value\":\"pk0000\"}, {\"op\":\"replace\",\"path\":\"/uri\",\"value\":\"http://example.com\"}, {\"op\":\"replace\",\"path\":\"/integrationTarget\",\"value\":\"arn:aws:elasticloadbalancing:us-east-2:111122223333:loadbalancer/app/myLoadBalancerName/1234567891011\"}]"
```

------

# Intégration privée à l'aide de liaisons VPC V1 (ancienne version)
<a name="vpc-links-v1"></a>

**Note**  
L'implémentation suivante des intégrations privées utilise les liaisons VPC V1. Les liens VPC V1 sont des ressources héritées. Nous vous recommandons d'utiliser les [liens VPC V2 pour REST](apigateway-vpc-links-v2.md). APIs

Pour créer une intégration privée, vous devez d’abord créer un Network Load Balancer. Votre Network Load Balancer doit disposer d’un [écouteur](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-listeners.html) qui achemine les demandes vers les ressources de votre VPC. Afin d’améliorer la disponibilité de votre API, assurez-vous que votre Network Load Balancer achemine le trafic vers des ressources dans plusieurs zones de disponibilité dans le Région AWS. Ensuite, vous créez un lien VPC que vous utilisez pour connecter votre API et votre Network Load Balancer. Après avoir créé une liaison VPC, vous créez des intégrations privées pour acheminer le trafic de votre API vers les ressources de votre VPC via votre liaison VPC et votre Network Load Balancer. Le Network Load Balancer et l'API doivent appartenir à la même entité. Compte AWS

**Topics**
+ [Configuration d'un Network Load Balancer pour les intégrations privées d'API Gateway (ancienne version)](set-up-nlb-for-vpclink-using-console.md)
+ [Accorder des autorisations à API Gateway pour créer un lien VPC (ancien)](grant-permissions-to-create-vpclink.md)
+ [Configurez une API API Gateway avec des intégrations privées à l'aide de l' AWS CLI (ancienne)](set-up-api-with-vpclink-cli.md)
+ [Comptes API Gateway utilisés pour les intégrations privées (anciens)](set-up-api-with-vpclink-accounts.md)

# Configuration d'un Network Load Balancer pour les intégrations privées d'API Gateway (ancienne version)
<a name="set-up-nlb-for-vpclink-using-console"></a>

**Note**  
L'implémentation suivante des intégrations privées utilise les liaisons VPC V1. Les liens VPC V1 sont des ressources héritées. Nous vous recommandons d'utiliser les [liens VPC V2 pour REST](apigateway-vpc-links-v2.md). APIs

 La procédure suivante décrit les étapes de configuration d’un équilibreur Network Load Balancer (NLB) pour les intégrations privées API Gateway à l’aide de la console Amazon EC2, et fournit des références renvoyant à des instructions détaillées pour chaque étape. 

Pour chaque VPC dans lequel vous avez des ressources, il vous suffit de configurer un NLB et un autre. VPCLink L’équilibreur NLB prend en charge plusieurs [écouteurs](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-listeners.html) et [groupes cibles](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html) par équilibreur NLB. Vous pouvez configurer chaque service en tant qu'écouteur spécifique sur le NLB et utiliser un seul VPCLink pour vous connecter au NLB. Lors de la création de l’intégration privée dans API Gateway, vous définissez chaque service à l’aide du port spécifique qui a été attribué à chaque service. Pour de plus amples informations, veuillez consulter [Didacticiel : création d’une API REST avec une intégration privée](getting-started-with-private-integration.md). Le Network Load Balancer et l'API doivent appartenir à la même entité. Compte AWS

**Pour créer un Network Load Balancer pour une intégration privée à l’aide de la console API Gateway**

1. Connectez-vous à la console Amazon EC2 AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Configurez un serveur web sur une instance Amazon EC2. Pour voir un exemple de configuration, consultez [Installing a LAMP Web Server on Amazon Linux 2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-lamp-amazon-linux-2.html) (Installation d’un serveur web LAMP sur Amazon Linux 2). 

1. Créez un équilibreur Network Load Balancer, enregistrez l’instance EC2 auprès d’un groupe cible et ajoutez le groupe cible à un écouteur de l’équilibreur Network Load Balancer. Pour plus d’informations, suivez les instructions fournies dans la section [Premiers pas avec les équilibreurs Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancer-getting-started.html). 

1. Une fois que l’équilibreur Network Load Balancer est créé, procédez de la façon suivante :

   1.  Notez l’ARN de l’équilibreur Network Load Balancer. Vous en aurez besoin pour créer un lien VPC dans API Gateway pour intégrer l’API aux ressources VPC derrière l’équilibreur Network Load Balancer.

   1.  Désactiver l'évaluation des groupes de sécurité pour PrivateLink.
      + Pour désactiver l'évaluation des groupes de sécurité pour le PrivateLink trafic à l'aide de la console, vous pouvez choisir l'onglet **Sécurité**, puis **Modifier**. Dans les **paramètres de sécurité**, décochez **Appliquer les règles de trafic entrant au PrivateLink trafic**.
      + Utilisez la [set-security-groups](https://docs.aws.amazon.com/cli/latest/reference/elbv2/set-security-groups.html)commande suivante pour désactiver l'évaluation des groupes de sécurité pour PrivateLink le trafic :

        ```
        aws elbv2 set-security-groups --load-balancer-arn arn:aws:elasticloadbalancing:us-east-2:111122223333:loadbalancer/net/my-loadbalancer/abc12345 \
          --security-groups sg-123345a --enforce-security-group-inbound-rules-on-private-link-traffic off
        ```

**Note**  
N'ajoutez aucune dépendance à API Gateway CIDRs car elles sont susceptibles de changer sans préavis.

# Accorder des autorisations à API Gateway pour créer un lien VPC (ancien)
<a name="grant-permissions-to-create-vpclink"></a>

**Note**  
L'implémentation suivante des intégrations privées utilise les liaisons VPC V1. Les liens VPC V1 sont des ressources héritées. Nous vous recommandons d'utiliser les [liens VPC V2 pour REST](apigateway-vpc-links-v2.md). APIs

Pour que vous ou un utilisateur de votre compte puissiez créer et gérer un lien VPC, vous devez disposer des autorisations requises pour créer, supprimer et afficher les configurations de service du point de terminaison du VPC, modifier ses autorisations de service et examiner les équilibreurs de charge. Pour accorder ces autorisations, suivez la procédure ci-dessous. 

**Pour accorder des autorisations afin de créer, mettre à jour et supprimer un lien VPC**

1. Créez une politique IAM semblable à celle-ci :

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "apigateway:POST",
                   "apigateway:GET",
                   "apigateway:PATCH",
                   "apigateway:DELETE"
               ],
               "Resource": [
                   "arn:aws:apigateway:us-east-1::/vpclinks",
                   "arn:aws:apigateway:us-east-1::/vpclinks/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "elasticloadbalancing:DescribeLoadBalancers"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:CreateVpcEndpointServiceConfiguration",
                   "ec2:DeleteVpcEndpointServiceConfigurations",
                   "ec2:DescribeVpcEndpointServiceConfigurations",
                   "ec2:ModifyVpcEndpointServicePermissions"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

   Si vous souhaitez activer le balisage pour votre lien VPC, veillez à autoriser les opérations de balisage. Pour de plus amples informations, veuillez consulter [Autoriser les opérations de balisage](apigateway-tagging-iam-policy.md#allow-tagging).

1. Créez ou choisissez un rôle IAM et attachez-y la politique précédente.

1. Attribuez le rôle IAM à vous-même ou à un utilisateur de votre compte qui crée des liens VPC.

# Configurez une API API Gateway avec des intégrations privées à l'aide de l' AWS CLI (ancienne)
<a name="set-up-api-with-vpclink-cli"></a>

**Note**  
L'implémentation suivante des intégrations privées utilise les liaisons VPC V1. Les liens VPC V1 sont des ressources héritées. Nous vous recommandons d'utiliser les [liens VPC V2 pour REST](apigateway-vpc-links-v2.md). APIs

Le didacticiel suivant montre comment utiliser le AWS CLI pour créer un lien VPC et une intégration privée. Les conditions préalables suivantes sont requises :
+ Vous avez besoin d’un équilibreur Network Load Balancer créé et configuré avec votre VPC source comme cible. Pour de plus amples informations, veuillez consulter [Configuration d'un Network Load Balancer pour les intégrations privées d'API Gateway (ancienne version)](set-up-nlb-for-vpclink-using-console.md). Il doit se trouver dans le même Compte AWS emplacement que votre API. Vous avez besoin de l’ARN de votre équilibreur Network Load Balancer pour créer votre lien VPC.
+ Pour créer et gérer un `VpcLink`, vous devez disposer des autorisations pour créer un `VpcLink` dans votre API. Vous n’avez pas besoin d’autorisations pour utiliser le `VpcLink`. Pour de plus amples informations, veuillez consulter [Accorder des autorisations à API Gateway pour créer un lien VPC (ancien)](grant-permissions-to-create-vpclink.md).

**Pour configurer une API avec l'intégration privée à l'aide de AWS CLI**

1. Utilisez la [create-vpc-link](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-vpc-link.html)commande suivante pour créer un `VpcLink` ciblage du Network Load Balancer spécifié :

   ```
   aws apigateway create-vpc-link \
       --name my-test-vpc-link \
       --target-arns arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/net/my-vpclink-test-nlb/1234567890abcdef
   ```

   La sortie de cette commande accuse réception de la requête et indique l’état `PENDING` de la création de `VpcLink`.

   ```
   {
       "status": "PENDING", 
       "targetArns": [
           "arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/net/my-vpclink-test-nlb/1234567890abcdef"
       ], 
       "id": "gim7c3", 
       "name": "my-test-vpc-link"
   }
   ```

   La création du `VpcLink` par API Gateway prend entre 2 et 4 minutes. Lorsque l’opération se termine correctement, l’attribut `status` indique `AVAILABLE`. Vous pouvez le vérifier à l'aide de la [get-vpc-link](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-vpc-link.html)commande suivante :

   ```
   aws apigateway get-vpc-link --vpc-link-id gim7c3
   ```

   Si l’opération échoue, vous obtenez le statut `FAILED` et un message d’erreur sous `statusMessage`. Par exemple, si vous tentez de créer un `VpcLink` avec un équilibreur Network Load Balancer qui est déjà associé au point de terminaison du VPC, vous obtenez le message suivant au niveau de la propriété `statusMessage` :

   ```
   "NLB is already associated with another VPC Endpoint Service"
   ```

   Une fois la création du `VpcLink` réussie, vous pouvez créer une API et l’intégrer avec la ressource VPC par le biais du `VpcLink`. 

   Notez la valeur `id` du `VpcLink` que vous venez de créer. Dans cet exemple de sortie, il s’agit de `gim7c3`. Vous en aurez besoin pour configurer l’intégration privée.

1. Utilisez la [create-rest-api](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-rest-api.html)commande suivante pour créer une [https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html](https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html)ressource API Gateway :

   ```
   aws apigateway create-rest-api --name 'My VPC Link Test'
   ```

   Notez la valeur `id` de `RestApi` et la valeur `rootResourceId` de `RestApi` dans le résultat renvoyé. Vous avez besoin de cette valeur pour effectuer d’autres opérations sur l’API. 

   Ensuite, vous allez créer une API avec seulement une méthode `GET` sur la ressource racine (`/`) et intégrer la méthode avec le `VpcLink`.

1. Utilisez la commande [put-method](https://docs.aws.amazon.com/cli/latest/reference/apigateway/put-method.html) suivante pour créer la méthode `GET /` :

   ```
   aws apigateway put-method \
          --rest-api-id  abcdef123 \
          --resource-id skpp60rab7 \
          --http-method GET \
          --authorization-type "NONE"
   ```

   Si vous n’utilisez pas l’intégration proxy avec le `VpcLink`, vous devez également configurer au moins une réponse de méthode avec le code de statut `200`. Vous allez utiliser l’intégration proxy ici.

1. Après avoir créé la méthode `GET /`, vous devez configurer l’intégration. Pour une intégration privée, vous devez utiliser le paramètre `connection-id` pour fournir l’ID `VpcLink`. Vous pouvez utiliser une variable d’étape ou saisir directement l’ID du `VpcLink`. Le paramètre `uri` n’est pas utilisé pour l’acheminement des demandes au point de terminaison, mais pour définir l’en-tête `Host` et pour la validation de certificat. 

------
#### [ Use the VPC link ID ]

   Utilisez la commande [put-integration](https://docs.aws.amazon.com/cli/latest/reference/apigateway/put-integration.html) suivante pour utiliser l’ID `VpcLink` directement dans l’intégration :

   ```
   aws apigateway put-integration \
       --rest-api-id abcdef123 \
       --resource-id skpp60rab7 \
       --uri 'http://my-vpclink-test-nlb-1234567890abcdef.us-east-2.amazonaws.com' \
       --http-method GET \
       --type HTTP_PROXY \
       --integration-http-method GET \
       --connection-type VPC_LINK \
       --connection-id gim7c3
   ```

------
#### [ Use a stage variable ]

   Utilisez la commande [put-integration](https://docs.aws.amazon.com/cli/latest/reference/apigateway/put-integration.html) suivante afin d’utiliser une variable d’étape pour référencer l’ID du lien VPC. Lorsque vous déployez votre API dans une étape, vous devez définir l’ID du lien VPC.

   ```
   aws apigateway put-integration \
       --rest-api-id abcdef123 \
       --resource-id skpp60rab7 \
       --uri 'http://my-vpclink-test-nlb-1234567890abcdef.us-east-2.amazonaws.com' \
       --http-method GET \
       --type HTTP_PROXY \
       --integration-http-method GET \
       --connection-type VPC_LINK \
       --connection-id "\${stageVariables.vpcLinkId}"
   ```

   Assurez-vous de délimiter l’expression de la variable d’étape avec des guillemets droits (`${stageVariables.vpcLinkId}`) et d’y ajouter le caractère d’échappement `$`.

------

   À tout moment, vous pouvez également mettre à jour l’intégration pour modifier `connection-id`. Utilisez la commande [update-integration](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-integration.html) suivante pour mettre à jour votre intégration :

   ```
    aws apigateway update-integration \
       --rest-api-id abcdef123 \
       --resource-id skpp60rab7 \
       --http-method GET \
       --patch-operations '[{"op":"replace","path":"/connectionId","value":"${stageVariables.vpcLinkId}"}]'
   ```

   Assurez-vous d’utiliser une liste JSON obtenue à l’aide de stringify comme valeur du paramètre `patch-operations`.

   Comme vous avez utilisé l’intégration proxy privée, votre API peut maintenant être déployée et testée.

1. Si vous avez utilisé la variable d’étape pour définir `connection-id`, vous devez déployer votre API pour la tester. Utilisez la commande [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-deployment.html) suivante pour déployer votre API avec une variable d’étape :

   ```
   aws apigateway create-deployment \
       --rest-api-id abcdef123 \
       --stage-name test \
       --variables vpcLinkId=gim7c3
   ```

   Pour mettre à jour la variable d’étape avec un autre ID `VpcLink` (par exemple, `asf9d7`), utilisez la commande [update-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-stage.html) suivante :

   ```
   aws apigateway update-stage \
       --rest-api-id abcdef123 \
       --stage-name test \
       --patch-operations op=replace,path='/variables/vpcLinkId',value='asf9d7'
   ```

   Lorsque vous codez en dur la propriété `connection-id` avec l’ID littéral `VpcLink`, vous n’avez pas besoin de déployer votre API pour la tester. Utilisez la [test-invoke-method](https://docs.aws.amazon.com/cli/latest/reference/apigateway/test-invoke-method.html)commande pour tester votre API avant son déploiement. 

1. Utilisez la commande suivante pour appeler votre API :

   ```
   curl -X GET https://abcdef123.execute-api.us-east-2.amazonaws.com/test
   ```

   Vous pouvez également saisir l’URL d’invocation de votre API dans un navigateur web pour afficher le résultat.

# Comptes API Gateway utilisés pour les intégrations privées (anciens)
<a name="set-up-api-with-vpclink-accounts"></a>

Les comptes API Gateway spécifiques à la région suivants IDs sont automatiquement ajoutés à votre service de point de terminaison VPC `AllowedPrincipals` lorsque vous créez un. `VpcLink`


| **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 us-east-1 | 174803364771 | 
| sa-east-1 | 287228555773 | 
| me-south-1 | 855739686837 | 
| me-central-1 | 614065512851 | 