

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Richten Sie eine API-Gateway-API mit privaten Integrationen mithilfe von AWS CLI (Legacy) ein
<a name="set-up-api-with-vpclink-cli"></a>

**Anmerkung**  
Die folgende Implementierung von privaten Integrationen verwendet VPC-Links V1. VPC-Links V1 sind Legacy-Ressourcen. Wir empfehlen die Verwendung von [VPC-Links V2 für REST APIs](apigateway-vpc-links-v2.md).

Das folgende Tutorial zeigt, wie Sie mit AWS CLI dem einen VPC-Link und eine private Integration erstellen. Die folgenden Voraussetzungen gelten:
+ Sie benötigen einen Network Load Balancer, der mit Ihrer VPC-Quelle als Ziel erstellt und konfiguriert wurde. Weitere Informationen finden Sie unter [Einen Network Load Balancer für private API-Gateway-Integrationen einrichten (veraltet)](set-up-nlb-for-vpclink-using-console.md). Dies muss mit Ihrer API AWS-Konto identisch sein. Sie benötigen den Network-Load-Balancer-ARN, um Ihren VPC-Link zu erstellen.
+ Sie benötigen die Berechtigungen zum Erstellen eines `VpcLink` in Ihrer API, um einen `VpcLink` zu erstellen und zu verwalten. Zur Verwendung des `VpcLink` sind die Berechtigungen nicht erforderlich. Weitere Informationen finden Sie unter [Erteilen Sie dem API Gateway Berechtigungen zum Erstellen eines VPC-Links (Legacy)](grant-permissions-to-create-vpclink.md).

**Um eine API mit der privaten Integration einzurichten, verwenden Sie AWS CLI**

1. Verwenden Sie den folgenden [create-vpc-link](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-vpc-link.html)Befehl, um ein `VpcLink` Targeting für den angegebenen Network Load Balancer zu erstellen:

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

   Die Ausgabe dieses Befehls bestätigt den Eingang der Anfrage und zeigt den `PENDING`-Status des soeben erstellten `VpcLink` an.

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

   Es dauert 2-4 Minuten, bis API Gateway die Erstellung des `VpcLink` abgeschlossen hat. Wenn der Vorgang erfolgreich abgeschlossen wird, lautet der `status` `AVAILABLE`. Sie können dies mit dem folgenden [get-vpc-link](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-vpc-link.html)Befehl überprüfen:

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

   Wenn der Vorgang fehlschlägt, erhalten Sie den Status `FAILED` und die `statusMessage` mit der Fehlermeldung. Wenn Sie beispielsweise versuchen, `VpcLink` mit einem Network Load Balancer zu erstellen, der bereits einem VPC-Endpunkt zugewiesen ist, erhalten Sie Folgendes in der Eigenschaft `statusMessage`:

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

   Erst nachdem der `VpcLink` erfolgreich erstellt wurde, können wir die API erstellen und über den `VpcLink` in die VPC-Ressource integrieren. 

   Notieren Sie sich den `id`-Wert der neu erstellten `VpcLink`. In dieser Beispielausgabe ist dies `gim7c3`. Sie benötigen ihn zum Einrichten der privaten Integration.

1. Verwenden Sie den folgenden [create-rest-api](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-rest-api.html)Befehl, um eine [https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html](https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html)API-Gateway-Ressource zu erstellen:

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

   Notieren Sie den `id`-Wert von `RestApi` und den `rootResourceId`-Wert von `RestApi` in den zurückgegebenen Ergebnissen. Sie benötigen diesen Wert später, um weitere Vorgänge in der API, auszuführen. 

   Anschließend erstellen Sie eine API mit nur einer `GET`-Methode in der Root-Ressource (`/`) und integrieren die Methode im `VpcLink`.

1. Verwenden Sie den folgenden [put-method](https://docs.aws.amazon.com/cli/latest/reference/apigateway/put-method.html)-Befehl, um die `GET /`-Methode zu erstellen:

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

   Wenn Sie die Proxy-Integration mit dem `VpcLink` nicht verwenden, müssen Sie außerdem mindestens eine Methodenantwort des `200`-Statuscodes einrichten. Sie verwenden die Proxy-Integration hier.

1. Nachdem Sie die `GET /`-Methode erstellt haben, richten Sie die Integration ein. Bei einer privaten Integration verwenden Sie den `connection-id`-Parameter zur Bereitstellung der `VpcLink`-ID. Sie können entweder eine Stufenvariable verwenden oder die `VpcLink`-ID direkt eingeben. Der Parameter `uri` wird nicht für das Routing von Anforderungen an Ihren Endpunkt verwendet, wohl aber zum Festlegen des `Host`-Headers und für die Zertifikatsvalidierung. 

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

   Führen Sie den [put-integration](https://docs.aws.amazon.com/cli/latest/reference/apigateway/put-integration.html)-Befehl aus, um die `VpcLink`-ID direkt in der Integration zu verwenden:

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

   Führen Sie den [put-integration](https://docs.aws.amazon.com/cli/latest/reference/apigateway/put-integration.html)-Befehl aus, um eine Stufenvariable zu verwenden, die auf die VPC-Link-ID verweist. Wenn Sie Ihre API in einer Stufe bereitstellen, legen Sie die VPC-Link-ID fest.

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

   Stellen Sie sicher, dass Sie den Stufenvariablenausdruck in doppelte Anführungszeichen (`${stageVariables.vpcLinkId}`) setzen und das Zeichen `$` mit einem Escape-Zeichen versehen.

------

   Sie können die Integration auch jederzeit aktualisieren, um die `connection-id` zu ändern. Verwenden Sie den [update-integration](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-integration.html)-Befehl, um Ihre Integration zu aktualisieren:

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

   Verwenden Sie unbedingt eine in Text umgewandelte JSON-Liste als `patch-operations`-Parameterwert.

   Da Sie die private Proxy-Integration verwendet haben, ist Ihre API jetzt für die Bereitstellung und für Testläufe bereit.

1. Wenn Sie die Stufenvariable zur Definition Ihrer `connection-id` verwendet haben, müssen Sie Ihre API bereitstellen, um sie testen zu können. Führen Sie den [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-deployment.html)-Befehl aus, um Ihre API mit einer Stufenvariablen bereitzustellen:

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

   Um die Stufenvariable mit einer anderen `VpcLink`-ID, beispielsweise `asf9d7`, zu aktualisieren, führen Sie den folgenden [update-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-stage.html)-Befehl aus:

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

   Wenn Sie die `connection-id`-Eigenschaft mit dem `VpcLink`-ID-Literal hartcodieren, brauchen Sie Ihre API nicht bereitstellen, um sie testen zu können. Verwenden Sie den [test-invoke-method](https://docs.aws.amazon.com/cli/latest/reference/apigateway/test-invoke-method.html)Befehl, um Ihre API zu testen, bevor sie bereitgestellt wird. 

1. Rufen Sie Ihre API mit dem folgenden Befehl auf:

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

   Alternativ können Sie die invoke-URL Ihrer API in einem Webbrowser eingeben, um das Ergebnis anzuzeigen.