

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

# Integrazioni private per REST APIs in API Gateway
<a name="private-integration"></a>

Utilizza un'integrazione privata per esporre HTTP/HTTPS le tue risorse all'interno di un Amazon VPC per consentire l'accesso da parte di client esterni al VPC. Ciò estende l'accesso alle tue risorse VPC private oltre i confini del VPC. È possibile controllare l'accesso all'API utilizzando uno qualsiasi dei [ metodi di autorizzazione](apigateway-control-access-to-api.md) supportati da API Gateway.

Per creare un'integrazione privata, devi innanzitutto creare un collegamento VPC. API Gateway supporta i collegamenti VPC V2 per REST. APIs I collegamenti VPC V2 consentono di creare integrazioni private che collegano l'API REST agli Application Load Balancer senza utilizzare un Network Load Balancer. L'utilizzo di un Application Load Balancer ti consente di connetterti alle applicazioni ECSs basate su container Amazon e a molti altri backend. I link VPC V1 sono considerati un tipo di integrazione legacy. Sebbene siano supportati da API Gateway, ti consigliamo di non creare nuovi collegamenti VPC V1.

## Considerazioni
<a name="private-integrations-considerations"></a>

Le seguenti considerazioni potrebbero influire sull'utilizzo delle integrazioni private:
+ Tutte le risorse devono essere di proprietà dello stesso. Account AWS Ciò include il sistema di bilanciamento del carico, il collegamento VPC e l'API REST.
+ Per impostazione predefinita, il traffico di integrazione privata utilizza il protocollo HTTP. Per utilizzare HTTPS, specifica un file [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)che contenga un nome di server sicuro, ad esempio. `https://example.com:443/test`
+ In un'integrazione privata, API Gateway include la parte di [fase](set-up-stages.md) dell'endpoint API nella richiesta alle risorse di backend. Ad esempio, se richiedi la `test` fase di un'API, API Gateway include `test/path` nella richiesta alla tua integrazione privata. Per rimuovere il nome della fase dalla richiesta alle risorse di backend, utilizzate la [mappatura dei parametri](rest-api-parameter-mapping.md) per creare un override per la variabile. `$context.requestOverride.path`
+ Le integrazioni private con AWS Cloud Map non sono supportate.

**Topics**
+ [Considerazioni](#private-integrations-considerations)
+ [Configura i collegamenti VPC V2 in API Gateway](apigateway-vpc-links-v2.md)
+ [Configura un'integrazione privata](set-up-private-integration.md)
+ [Integrazione privata tramite collegamenti VPC V1 (legacy)](vpc-links-v1.md)

# Configura i collegamenti VPC V2 in API Gateway
<a name="apigateway-vpc-links-v2"></a>

I link VPC ti consentono di creare integrazioni private che collegano i tuoi percorsi API a risorse private in un VPC, come Application Load Balancers o applicazioni basate su container Amazon ECS. Un'integrazione privata utilizza un collegamento VPC V2 per incapsulare le connessioni tra API Gateway e risorse VPC mirate. Puoi riutilizzare i link VPC su diverse risorse e. APIs

Quando crei un collegamento VPC, API Gateway crea e gestisce [interfacce di rete elastiche](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) per il collegamento VPC V2 nel tuo account. Questo processo può richiedere alcuni minuti. Quando un collegamento VPC V2 è pronto per l'uso, il suo stato passa da a. `PENDING` `AVAILABLE` 

**Nota**  
Se non viene inviato alcun traffico tramite il collegamento VPC per 60 giorni, lo stato cambia in `INACTIVE`. Quando lo stato di un collegamento VPC è `INACTIVE`, API Gateway elimina tutte le interfacce di rete del collegamento VPC. In questo caso, le richieste API che dipendono dal collegamento VPC non vanno a buon fine. Se le richieste API riprendono, API Gateway effettua nuovamente il provisioning delle interfacce di rete. Potrebbero essere necessari alcuni minuti per creare le interfacce di rete e riattivare il collegamento VPC. Puoi utilizzare lo stato del collegamento VPC per monitorare lo stato del tuo collegamento VPC.

## Creare un collegamento VPC V2 utilizzando AWS CLI
<a name="apigateway-vpc-links-v2-create"></a>

Per creare un collegamento VPC V2, tutte le risorse coinvolte devono essere di proprietà dello stesso account. AWS Il [create-vpc-link](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/create-vpc-link.html)comando seguente crea un collegamento VPC:

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

**Nota**  
I link VPC V2 sono immutabili. Dopo aver creato un collegamento VPC V2, non puoi modificarne le sottoreti o i gruppi di sicurezza.

## Eliminare un collegamento VPC V2 utilizzando il AWS CLI
<a name="apigateway-vpc-links-v2-delete"></a>

Il [delete-vpc-link](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/delete-vpc-link.html)comando seguente elimina un collegamento VPC.

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

## Disponibilità in base alla Regione
<a name="apigateway-vpc-links-v2-availability"></a>

I collegamenti VPC V2 sono supportati nelle seguenti regioni e zone di disponibilità:

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

# Configura un'integrazione privata
<a name="set-up-private-integration"></a>

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](apigateway-vpc-links-v2.md) 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 [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)che 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, consulta[Tutorial: creazione di una REST API con un'integrazione privata](getting-started-with-private-integration.md).

## Creazione di un'integrazione privata
<a name="set-up-private-integration-create"></a>

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](getting-started-with-private-integration.md)

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

Il seguente comando [put-integration](https://docs.aws.amazon.com/cli/latest/reference/latest/api/API_PutIntegration.html) 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](https://docs.aws.amazon.com/cli/latest/reference/latest/api/API_PutIntegration.html) 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 (\$1 \$1stageVariables.vpclinkV2ID\$1) e di evitare il carattere \$1.

------
#### [ 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
<a name="set-up-private-integration-update"></a>

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.](https://console.aws.amazon.com/apigateway)

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

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

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

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

1. Scegli **Save** (Salva).

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

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

Il seguente comando [update-integration](https://docs.aws.amazon.com/cli/latest/reference/latest/api/API_PutIntegration.html) 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\"}]"
```

------

# Integrazione privata tramite collegamenti VPC V1 (legacy)
<a name="vpc-links-v1"></a>

**Nota**  
La seguente implementazione di integrazioni private utilizza i collegamenti VPC V1. I link VPC V1 sono risorse legacy. Ti consigliamo di utilizzare i [collegamenti VPC V2](apigateway-vpc-links-v2.md) per REST. APIs

Per creare un'integrazione privata, è necessario innanzitutto creare un collegamento Network Load Balancer. Il Network Load Balancer deve disporre di un [listener](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-listeners.html) che instrada le richieste alle risorse del VPC. Per migliorare la disponibilità della tua API, assicurati che il sistema di Network Load Balancer stia indirizzando il traffico alle risorse in più zone di disponibilità nella Regione AWS. Quindi, si crea un collegamento VPC che viene utilizzato per connettere l'API e il Network Load Balancer. Dopo avere creato un collegamento VPC, è possibile creare integrazioni private per instradare il traffico dall'API alle risorse del VPC tramite il collegamento VPC e il Network Load Balancer. Il Network Load Balancer e l'API devono essere di proprietà dello stesso. Account AWS

**Topics**
+ [Configurazione di un Network Load Balancer per le integrazioni private di API Gateway (legacy)](set-up-nlb-for-vpclink-using-console.md)
+ [Concedi le autorizzazioni per API Gateway per creare un collegamento VPC (legacy)](grant-permissions-to-create-vpclink.md)
+ [Configura un'API API Gateway con integrazioni private utilizzando AWS CLI (legacy)](set-up-api-with-vpclink-cli.md)
+ [Account API Gateway utilizzati per integrazioni private (legacy)](set-up-api-with-vpclink-accounts.md)

# Configurazione di un Network Load Balancer per le integrazioni private di API Gateway (legacy)
<a name="set-up-nlb-for-vpclink-using-console"></a>

**Nota**  
La seguente implementazione di integrazioni private utilizza i collegamenti VPC V1. I link VPC V1 sono risorse legacy. Ti consigliamo di utilizzare i [collegamenti VPC V2](apigateway-vpc-links-v2.md) per REST. APIs

 Nella procedura seguente vengono illustrate le fasi necessarie per configurare un sistema Network Load Balancer (NLB) per le integrazioni private di API Gateway usando la console Amazon EC2 e vengono forniti i riferimenti a istruzioni dettagliate per ogni fase. 

Per ogni VPC in cui sono presenti risorse, è sufficiente configurare un NLB e uno. VPCLink Il NLB supporta più [listener](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-listeners.html) e [gruppi target](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html) per NLB. È possibile configurare ogni servizio come listener specifico sull'NLB e utilizzarne uno per connettersi all'NLB. VPCLink Al momento della creazione dell'integrazione privata in API Gateway è possibile quindi definire ciascun servizio utilizzando la porta specifica assegnata per il servizio. Per ulteriori informazioni, consulta [Tutorial: creazione di una REST API con un'integrazione privata](getting-started-with-private-integration.md). Il Network Load Balancer e l'API devono essere di proprietà dello stesso. Account AWS

**Per creare un sistema Network Load Balancer per l'integrazione privata tramite la console API Gateway**

1. Accedi Console di gestione AWS e apri la console Amazon EC2 all'indirizzo. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Configura un server Web in un'istanza di Amazon EC2. Per una configurazione di esempio, consulta [Installazione di un server Web LAMP su Amazon Linux 2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-lamp-amazon-linux-2.html). 

1. Crea un sistema Network Load Balancer, registra l'istanza EC2 con un gruppo target e aggiungi il gruppo target a un listener del sistema Network Load Balancer. Per ulteriori informazioni, segui le istruzioni contenute in [Nozioni di base sui sistemi Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancer-getting-started.html). 

1. Dopo la creazione del Network Load Balancer, procedi come segue:

   1.  Prendi nota dell'ARN del Network Load Balancer. Sarà necessario per creare un collegamento VPC in API Gateway per l'integrazione dell'API con le risorse VPC nel sistema Network Load Balancer.

   1.  Disattiva la valutazione dei gruppi di sicurezza per PrivateLink.
      + Per disattivare la valutazione dei gruppi di sicurezza per il PrivateLink traffico che utilizza la console, puoi scegliere la scheda **Sicurezza**, quindi **Modifica**. Nelle **impostazioni di sicurezza**, deseleziona **Applica le regole in entrata al PrivateLink traffico**.
      + Usa il seguente [set-security-groups](https://docs.aws.amazon.com/cli/latest/reference/elbv2/set-security-groups.html)comando per disattivare la valutazione dei gruppi di sicurezza per il PrivateLink traffico:

        ```
        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
        ```

**Nota**  
Non aggiungete alcuna dipendenza ad API Gateway CIDRs poiché sono destinate a cambiare senza preavviso.

# Concedi le autorizzazioni per API Gateway per creare un collegamento VPC (legacy)
<a name="grant-permissions-to-create-vpclink"></a>

**Nota**  
La seguente implementazione di integrazioni private utilizza i collegamenti VPC V1. I link VPC V1 sono risorse legacy. Ti consigliamo di utilizzare i [collegamenti VPC V2](apigateway-vpc-links-v2.md) per REST. APIs

Per poter creare e gestire un collegamento VPC, è necessario disporre delle autorizzazioni per creare, eliminare e visualizzare le configurazioni del servizio endpoint VPC, modificare le autorizzazioni del servizio endpoint VPC ed esaminare i sistemi di bilanciamento del carico. Per concedere tali autorizzazioni, esegui la procedura illustrata di seguito. 

**Per concedere le autorizzazioni per creare, aggiornare o eliminare un link VPC**

1. Crea una policy IAM simile alla seguente:

------
#### [ 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": "*"
           }
       ]
   }
   ```

------

   Se desideri abilitare il tagging per il collegamento VPC, assicurati di consentire le operazioni di tagging. Per ulteriori informazioni, consulta [Consentire operazioni di assegnazione di tag](apigateway-tagging-iam-policy.md#allow-tagging).

1. Crea o scegli un ruolo IAM e collega la policy precedente al ruolo.

1. Assegna il ruolo IAM a te stesso o a un utente nell'account che sta creando collegamenti VPC.

# Configura un'API API Gateway con integrazioni private utilizzando AWS CLI (legacy)
<a name="set-up-api-with-vpclink-cli"></a>

**Nota**  
La seguente implementazione di integrazioni private utilizza i collegamenti VPC V1. I link VPC V1 sono risorse legacy. Ti consigliamo di utilizzare i [collegamenti VPC V2](apigateway-vpc-links-v2.md) per REST. APIs

Il seguente tutorial mostra come utilizzare per AWS CLI creare un collegamento VPC e un'integrazione privata. Devono essere soddisfatti i seguenti prerequisiti:
+ È necessario creare e configurare un Network Load Balancer con l'origine VPC come destinazione. Per ulteriori informazioni, consulta [Configurazione di un Network Load Balancer per le integrazioni private di API Gateway (legacy)](set-up-nlb-for-vpclink-using-console.md). Deve essere Account AWS uguale alla tua API. È necessario l'ARN del Network Load Balancer per creare il collegamento VPC.
+ Per creare e gestire un `VpcLink`, sono necessarie le autorizzazioni per creare un `VpcLink` nell'API. Non sono necessarie autorizzazioni per utilizzare il `VpcLink`. Per ulteriori informazioni, consulta [Concedi le autorizzazioni per API Gateway per creare un collegamento VPC (legacy)](grant-permissions-to-create-vpclink.md).

**Per configurare un'API con l'integrazione privata utilizzando AWS CLI**

1. Usa il [create-vpc-link](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-vpc-link.html)comando seguente per creare un `VpcLink` target per il Network Load Balancer specificato:

   ```
   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
   ```

   L'output di questo comando riconosce la ricezione della richiesta e mostra lo stato `PENDING` per il `VpcLink` in fase di creazione.

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

   Per la creazione dell'oggetto `VpcLink` in API Gateway sono necessari da 2 a 4 minuti. Dopo il completamento dell'operazione, il valore di `status` è `AVAILABLE`. È possibile verificarlo utilizzando il seguente comando: [get-vpc-link](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-vpc-link.html)

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

   Se l'operazione non riesce, lo stato è `FAILED` e `statusMessage` contiene il messaggio di errore. Se, ad esempio, tenti di creare un oggetto `VpcLink` con un sistema Network Load Balancer già associato a un endpoint VPC, la proprietà `statusMessage` contiene quanto segue:

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

   Dopo la corretta creazione di `VpcLink` è possibile creare un'API e integrarla con la risorsa VPC tramite la `VpcLink`. 

   Prendi nota del valore `id` del `VpcLink` appena creato. In questo output di esempio, è `gim7c3`. Questo valore è necessario per configurare l'integrazione privata.

1. Utilizzate il seguente [create-rest-api](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-rest-api.html)comando per creare una [https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html](https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html)risorsa API Gateway:

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

   Prendi nota del valore `id` di `RestApi` e del valore `rootResourceId` di `RestApi` nel risultato restituito. Questo valore è necessario per eseguire ulteriori operazioni sull'API. 

   Quindi, crea un’API con solo un metodo `GET` nella risorsa root (`/`) e integra il metodo con `VpcLink`.

1. Utilizza il comando [put-method](https://docs.aws.amazon.com/cli/latest/reference/apigateway/put-method.html) seguente per creare il metodo `GET /`:

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

   Se non usi l'integrazione proxy con il `VpcLink`, devi configurare anche almeno una risposta del metodo per il codice di stato `200`. In questo caso si usa l’integrazione proxy.

1. Dopo aver creato il metodo `GET /`, viene configurata l'integrazione. Per un'integrazione privata, si utilizza il parametro `connection-id` per fornire l'ID del `VpcLink`. Puoi utilizzare una variabile di fase o inserire direttamente l'ID del `VpcLink`. Il parametro `uri` non viene usato per il routing delle richieste all'endpoint, ma viene usato per impostare l'intestazione `Host` per la convalida del certificato. 

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

   Utilizza il comando [put-integration](https://docs.aws.amazon.com/cli/latest/reference/apigateway/put-integration.html) seguente per usare l’ID del `VpcLink` direttamente nell’integrazione:

   ```
   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 ]

   Utilizza il comando [put-integration](https://docs.aws.amazon.com/cli/latest/reference/apigateway/put-integration.html) seguente per usare una variabile di fase per fare riferimento all’ID del collegamento VPC. Quando implementi l'API in una fase, viene impostato l'ID del collegamento 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}"
   ```

   Assicurati di racchiudere tra virgolette doppie l'espressione della variabile di fase (`${stageVariables.vpcLinkId}`) e di aggiungere il carattere di escape davanti a `$`.

------

   In qualsiasi momento, puoi anche aggiornare l'integrazione per modificare il valore `connection-id`. Utilizza il comando [update-integration](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-integration.html) seguente per aggiornare l’integrazione:

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

   Assicurati di usare un elenco JSON in formato stringa come valore del parametro `patch-operations`.

   Poiché è stata utilizzata l’integrazione proxy privata, l’API è ora pronta per l’implementazione e i test.

1. Se hai utilizzato la variabile di fase per definire il valore `connection-id`, devi implementare l'API per testarla. Utilizza il comando [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-deployment.html) seguente per implementare l’API con una variabile di fase:

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

   Per aggiornare la variabile di fase con un ID del `VpcLink` diverso, ad esempio `asf9d7`, utilizza il comando [update-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-stage.html) seguente:

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

   Quando imposti come hardcoded la proprietà `connection-id` con il valore letterale ID di `VpcLink`, non è necessario implementare l'API per testarla. Usa il [test-invoke-method](https://docs.aws.amazon.com/cli/latest/reference/apigateway/test-invoke-method.html)comando per testare l'API prima che venga distribuita. 

1. Utilizza il seguente comando per invocare l'API:

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

   In alternativa, puoi inserire l'URL di invocazione dell'API in un browser web per visualizzare il risultato.

# Account API Gateway utilizzati per integrazioni private (legacy)
<a name="set-up-api-with-vpclink-accounts"></a>

Il seguente account API Gateway specifico della regione IDs viene aggiunto automaticamente al tuo servizio endpoint VPC come quando `AllowedPrincipals` crei un. `VpcLink`


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