Configura un'integrazione privata - Gateway Amazon API

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configura un'integrazione privata

Per creare un'integrazione privata con un Application Load Balancer o Network Load Balancer, devi creare un'integrazione proxy HTTP, specificare il link VPC V2 da utilizzare e fornire l'ARN di un Network Load Balancer o di un Application Load Balancer. Per impostazione predefinita, il traffico di integrazione privata utilizza il protocollo HTTP. Per utilizzare HTTPS, specificane uno uriche contenga un nome di server sicuro, ad esempio. https://example.com:443/test Per un tutorial completo su come creare un'API REST con un'integrazione privata, consultaTutorial: creazione di una REST API con un'integrazione privata.

Creazione di un'integrazione privata

La procedura seguente mostra come creare un'integrazione privata che si connette a un sistema di bilanciamento del carico utilizzando un collegamento VPC V2.

Console di gestione AWS

Per un tutorial su come creare un'integrazione privata, vedi,. Tutorial: creazione di una REST API con un'integrazione privata

AWS CLI

Il seguente comando put-integration crea un'integrazione privata che si connette a un sistema di bilanciamento del carico utilizzando un collegamento 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

Invece di fornire direttamente l'ID di connessione, puoi utilizzare una variabile di fase. Quando distribuisci l'API su una fase, imposti l'ID VPC link V2. Il seguente comando put-integration crea un'integrazione privata utilizzando una variabile stage per 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}"

Assicurati di inserire due virgolette nell'espressione della variabile stage ($ {stageVariables.vpclinkV2ID}) e di evitare il carattere $.

OpenAPI

È possibile configurare un'API con integrazione privata importando il file OpenAPI dell'API. Le impostazioni sono simili alle definizioni di OpenAPI di un'API con integrazioni HTTP, con le eccezioni seguenti:

  • Devi impostare esplicitamente connectionType su VPC_LINK.

  • Devi impostare esplicitamente connectionId sull'ID di un oggetto VpcLinkV2 o su una variabile di fase che fa riferimento all'ID di un oggetto VpcLinkV2.

  • Il uri parametro nell'integrazione privata punta a un HTTP/HTTPS endpoint nel VPC, ma viene invece utilizzato per configurare l'intestazione della richiesta Host di integrazione.

  • Il parametro uri nell'integrazione privata con un endpoint HTTPS in VPC viene usato per verificare il nome di dominio indicato confrontandolo con quello nel certificato installato nell'endpoint VPC.

Per fare riferimento all'ID di VpcLinkV2, è possibile usare una variabile di fase. In alternativa, è possibile assegnare il valore ID direttamente a connectionId.

Il file OpenAPI dell'API in formato JSON seguente mostra un esempio di un'API con un collegamento VPC in base al riferimento nella variabile di fase (${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" } } }

Aggiorna un'integrazione privata

L'esempio seguente aggiorna il collegamento VPC V2 per un'integrazione privata.

Console di gestione AWS
Per aggiornare un'integrazione privata
  1. Accedi alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway.

  2. Scegli un'API REST con un'integrazione privata.

  3. Scegli la risorsa e il metodo che utilizzano un'integrazione privata.

  4. Nella scheda Richiesta di integrazione scegli Modifica in Impostazioni della richiesta di integrazione.

  5. Puoi modificare l'impostazione della tua integrazione privata. Se attualmente utilizzi un collegamento VPC V1, puoi modificare il tuo collegamento VPC in un collegamento VPC V2.

  6. Scegli Save (Salva).

  7. Implementa nuovamente l'API per rendere effettive le modifiche.

AWS CLI

Il seguente comando update-integration aggiorna un'integrazione privata per utilizzare un collegamento 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\"}]"