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.
Configurer une intégration privée
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 à 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, spécifiez un code uricontenant un nom de serveur sécurisé, tel quehttps://example.com:443/test. Pour un didacticiel complet sur la création d'une API REST avec une intégration privée, consultezDidacticiel : création d’une API REST avec une intégration privée.
Création d’une intégration privée
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.
- AWS CLI
La commande put-integration suivante crée une intégration 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 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 ($ {StageVariables.VPClinkV2ID}) et d'éviter le caractère $.
- 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 plutôt utilisé pour configurer l'en-tête de la demande d'Hostinté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
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
Connectez-vous à la console API Gateway à l'adresse https://console.aws.amazon.com/apigateway.
Choisissez une API REST avec une intégration privée.
Choisissez la ressource et la méthode qui utilisent une intégration privée.
Dans l’onglet Requête d’intégration, sous Paramètres de requête d’intégration, choisissez Modifier.
-
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.
Choisissez Enregistrer.
-
Redéployez l’API pour que les modifications prennent effet.
- AWS CLI
-
La commande update-integration 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\"}]"