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 ein, indem Sie den AWS CLI
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 Network Load Balancer für private API Gateway-Integrationen einrichten. 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 einenVpcLink
zu erstellen und zu verwalten. Zur Verwendung desVpcLink
sind die Berechtigungen nicht erforderlich. Weitere Informationen finden Sie unter Erteilen von Berechtigungen für API Gateway zum Erstellen eines VPC-Links.
Um eine API mit der privaten Integration einzurichten, verwenden Sie AWS CLI
-
Verwenden Sie den folgenden create-vpc-linkBefehl, 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 erstelltenVpcLink
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 derstatus
AVAILABLE
. Sie können dies mit dem folgenden get-vpc-linkBefehl überprüfen:aws apigateway get-vpc-link --vpc-link-id
gim7c3
Wenn der Vorgang fehlschlägt, erhalten Sie den Status
FAILED
und diestatusMessage
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 EigenschaftstatusMessage
:"NLB is already associated with another VPC Endpoint Service"
Erst nachdem der
VpcLink
erfolgreich erstellt wurde, können wir die API erstellen und über denVpcLink
in die VPC-Ressource integrieren.Notieren Sie sich den
id
-Wert der neu erstelltenVpcLink
. In dieser Beispielausgabe ist diesgim7c3
. Sie benötigen ihn zum Einrichten der privaten Integration. -
Verwenden Sie den folgenden create-rest-apiBefehl, um eine
RestApi
API-Gateway-Ressource zu erstellen:aws apigateway create-rest-api --name 'My VPC Link Test'
Notieren Sie den
id
-Wert vonRestApi
und denrootResourceId
-Wert vonRestApi
in den zurückgegebenen Ergebnissen. Sie benötigen diesen Wert später, um weitere Vorgänge in der API, auszuführen.Als Nächstes erstellen Sie eine API mit nur einer
GET
Methode auf der Root-Ressource (/
) und integrieren die Methode in dieVpcLink
. -
Verwenden Sie den folgenden Befehl put-method, um die
GET /
Methode zu erstellen:aws apigateway put-method \ --rest-api-id
abcdef123
\ --resource-idskpp60rab7
\ --http-method GET \ --authorization-type "NONE"Wenn Sie die Proxy-Integration mit dem
VpcLink
nicht verwenden, müssen Sie außerdem mindestens eine Methodenantwort des200
-Statuscodes einrichten. Sie verwenden hier die Proxy-Integration. -
Nachdem Sie die
GET /
-Methode erstellt haben, richten Sie die Integration ein. Bei einer privaten Integration verwenden Sie denconnection-id
-Parameter zur Bereitstellung derVpcLink
-ID. Sie können entweder eine Stufenvariable verwenden oder dieVpcLink
-ID direkt eingeben. Der Parameteruri
wird nicht für das Routing von Anforderungen an Ihren Endpunkt verwendet, wohl aber zum Festlegen desHost
-Headers und für die Zertifikatsvalidierung.Sie können die Integration auch jederzeit aktualisieren, um die
connection-id
zu ändern. Verwenden Sie den folgenden Befehl update-integration, um Ihre Integration zu aktualisieren:aws apigateway update-integration \ --rest-api-id
abcdef123
\ --resource-idskpp60rab7
\ --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 bereit für die Bereitstellung und für Testläufe.
-
Wenn Sie die Stufenvariable zur Definition Ihrer
connection-id
verwendet haben, müssen Sie Ihre API bereitstellen, um sie testen zu können. Verwenden Sie den folgenden Befehl create-deployment, um Ihre API mit einer Stage-Variablen bereitzustellen:aws apigateway create-deployment \ --rest-api-id
abcdef123
\ --stage-name test \ --variables vpcLinkId=gim7c3
Um die Stage-Variable mit einer anderen
VpcLink
ID zu aktualisieren
, verwenden Sie beispielsweise den folgenden Befehl update-stage:asf9d7
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 demVpcLink
-ID-Literal hartcodieren, brauchen Sie Ihre API nicht bereitstellen, um sie testen zu können. Verwenden Sie den test-invoke-methodBefehl, um Ihre API zu testen, bevor sie bereitgestellt wird. -
Rufen Sie Ihre API mit dem folgenden Befehl auf:
curl -X GET https://
abcdef123
.execute-api.us-east-2.amazonaws.com/testAlternativ können Sie die invoke-URL Ihrer API in einem Webbrowser eingeben, um das Ergebnis anzuzeigen.