Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Configurez une API API Gateway avec des intégrations privées à l'aide du AWS CLI

Mode de mise au point
Configurez une API API Gateway avec des intégrations privées à l'aide du AWS CLI - 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.

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.

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 :

Pour configurer une API avec l'intégration privée à l'aide de AWS CLI
  1. Utilisez la create-vpc-linkcommande 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-linkcommande 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.

  2. Utilisez la create-rest-apicommande suivante pour créer une RestApiressource 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 créez une API avec uniquement une GET méthode sur la ressource racine (/) et vous intégrez la méthode àVpcLink.

  3. Utilisez la commande put-method suivante pour créer la GET / méthode :

    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 utilisez ici l'intégration du proxy.

  4. 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 suivante pour utiliser l'VpcLinkID 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 suivante pour 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 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 du proxy privé, votre API est désormais prête pour le déploiement et les tests.

  5. 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 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 VpcLink identifiant différent, par exempleasf9d7, utilisez la commande update-stage 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-methodcommande pour tester votre API avant son déploiement.

  6. 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.

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.