Aufrufen einer privaten API - Amazon API Gateway

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.

Aufrufen einer privaten API

Private APIs können nur innerhalb Ihrer VPCs aufgerufen werden, und die Ressourcenrichtlinien müssen den Zugriff von den VPCs und VPC-Endpunkten erlauben, die Sie konfiguriert haben. Die Art des Zugriffs auf Ihre private API hängt davon ab, ob Sie den privaten DNS auf dem VPC-Endpunkt aktiviert haben. Wenn Sie beispielsweise über AWS Direct Connect von einem On-Premises-Netzwerk aus auf die private API zugreifen, ist privates DNS auf dem VPC-Endpunkt aktiviert. Befolgen Sie in einem solchen Fall die Schritte unter Aufrufen Ihrer privaten API mit endpunktspezifischen öffentlichen DNS-Hostnamen.

Sobald Sie eine private API bereitgestellt haben, können Sie sie über das private DNS (sofern die Benennung eines privaten DNS aktiviert ist) und das öffentliche DNS aufrufen.

Um die DNS-Namen für Ihre private API anzufordern, verfahren Sie wie folgt:

  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon-VPC-Konsole unter https://console.aws.amazon.com/vpc/.

  2. Wählen Sie im linken Navigationsbereich Endpoints (Endpunkte) aus und wählen Sie dann Ihren Schnittstellen-VPC-Endpunkt für API Gateway aus.

  3. Im Bereich Details werden fünf Werte im Feld DNS names (DNS-Namen) angezeigt. Die ersten drei sind die öffentlichen DNS-Namen für Ihre API. Die anderen zwei sind die privaten DNS-Namen für sie.

Aufrufen Ihrer privaten API mit privaten DNS-Namen

Warnung

Wenn Sie beim Erstellen eines Schnittstellen-VPC-Endpunkts für das API-Gateway die Option „Enable Private DNS Name (Privaten DNS-Namen aktivieren)“ auswählen, kann die VPC, in der sich der VPC-Endpunkt befindet, nicht auf öffentliche (Edge-optimierte und regionale) APIs zugreifen. Weitere Informationen finden Sie unter Warum kann ich von einem API Gateway-VPC-Endpunkt keine Verbindung zu meiner öffentlichen API herstellen?.

Wenn das private DNS aktiviert ist, können Sie unter Verwendung der privaten DNS-Namen wie folgt auf Ihre private API zugreifen:

{restapi-id}.execute-api.{region}.amazonaws.com

Die Basis-URL zum Aufrufen der API besitzt das folgende Format:

https://{restapi-id}.execute-api.{region}.amazonaws.com/{stage}

Angenommen, Sie richten z. B. die Methoden GET /pets und GET /pets/{petId} in diesem Beispiel ein und Ihre REST-API-ID war 01234567ab und Ihre Region war us-west-2, dann könnten Sie Ihre API durch Eingabe der folgenden URLs in einem Browser testen:

https://01234567ab.execute-api.us-west-2.amazonaws.com/test/pets

und

https://01234567ab.execute-api.us-west-2.amazonaws.com/test/pets/1

Alternativ könnten Sie auch die folgenden cURL-Befehle nutzen:

curl -X GET https://01234567ab.execute-api.us-west-2.amazonaws.com/test/pets

and

curl -X GET https://01234567ab.execute-api.us-west-2.amazonaws.com/test/pets/2

Zugreifen auf Ihre private API mit AWS Direct Connect

Sie können auch verwenden AWS Direct Connect , um eine dedizierte private Verbindung von einem On-Premises-Netzwerk zu Amazon VPC herzustellen und über diese Verbindung mithilfe öffentlicher DNS-Namen auf Ihren privaten API-Endpunkt zuzugreifen.

Sie können auch private DNS-Namen verwenden, um von einem On-Premises-Netzwerk aus auf Ihre private API zuzugreifen, indem Sie einen Amazon Route 53 Resolver eingehenden Endpunkt einrichten und alle DNS-Abfragen des privaten DNS von Ihrem Remote-Netzwerk weiterleiten. Weitere Informationen finden Sie unter Weiterleiten von eingehenden DNS-Abfragen an Ihre VPCs im Entwicklerhandbuch für Amazon Route 53.

Zugriff auf Ihre private API mit Route53-Alias

Sie können einen VPC-Endpunkt Ihrer privaten API zuordnen oder die Zuordnung aufheben, indem Sie das Verfahren unter Verknüpfen oder Aufheben der Verknüpfung eines VPC-Endpunkts mit einer privaten REST-API verwenden.

Sobald Sie die REST-API-ID Ihrer privaten API mit den VPC-Endpunkten verknüpft haben, von denen aus Sie Ihre REST-API aufrufen, können Sie die Basis-URL im folgenden Format verwenden, um die API mithilfe eines Route53-Alias aufzurufen.

Die generierte Basis-URL liegt im folgenden Format vor:

https://{rest-api-id}-{vpce-id}.execute-api.{region}.amazonaws.com/{stage}

Beispiel: Angenommen, Sie richten die Methoden GET/pets uund GET/pets/{petId} ein und die API-ID Ihrer API lautet 01234567ab, die VPC-Endpunkt-ID lautet vpce-01234567abcdef012 und Ihre Region ist us-west-2. In diesem Fall können Sie Ihre API folgendermaßen aufrufen:

curl -v https://01234567ab-vpce-01234567abcdef012.execute-api.us-west-2.amazonaws.com/test/pets/

Aufrufen Ihrer privaten API mit endpunktspezifischen öffentlichen DNS-Hostnamen

Sie können auf Ihre private API mit endpunktspezifischen DNS-Hostnamen zugreifen. Dabei handelt es sich um öffentliche DNS-Hostnamen mit der VPC-Endpunkt-ID oder der API-ID für Ihre private API.

Die generierte Basis-URL liegt im folgenden Format vor:

https://{public-dns-hostname}.execute-api.{region}.vpce.amazonaws.com/{stage}

Angenommen, Sie richten in diesem Beispiel die Methoden GET /pets und GET /pets/{petId} ein und die API-ID Ihrer API lautet 01234567ab, der öffentliche DNS-Hostname vpce-01234567abcdef012-01234567 und Ihre Region us-west-2, dann können Sie Ihre API über ihre VPCE-ID mit dem Host-Kopf in einem cURL-Befehl testen, wie im folgenden Beispiel:

curl -v https://vpce-01234567abcdef012-01234567.execute-api.us-west-2.vpce.amazonaws.com/test/pets -H 'Host: 01234567ab.execute-api.us-west-2.amazonaws.com'

Sie können auf Ihre private API auch über ihre API-ID mit dem x-apigw-api-id-Kopf in einem cURL-Befehl im folgenden Format zugreifen:

curl -v https://{public-dns-hostname}.execute-api.{region}.vpce.amazonaws.com/test -H'x-apigw-api-id:{api-id}'