Regionale API in API Gateway einrichten
Wenn API-Anforderungen überwiegend von EC2-Instances oder Services innerhalb derselben Region wie die API stammen, kann ein regionaler API-Endpunkt in der Regel die Latenz von Verbindungen senken und wird daher für solche Szenarios empfohlen.
In Fällen, in denen API-Clients geografisch verstreut sind, kann es dennoch sinnvoll sein, einen regionalen API-Endpunkt zusammen mit Ihrer eigenen Amazon CloudFront-Distribution zu verwenden, um sicherzustellen, dass API Gateway die API nicht mit durch einen Service gesteuerten CloudFront-Distributionen verknüpft. Weitere Informationen zu diesem Anwendungsfall finden Sie im Thema zu Wie richte ich API Gateway mit meiner eigenen CloudFront-Verteilung ein?
Wenn Sie eine regionale API erstellen möchten, befolgen Sie die Schritte unter Erstellen einer Edge-optimierten API. Sie müssen dabei jedoch explizit den Typ REGIONAL
als einzige Option für die endpointConfiguration der API festlegen.
Im Folgenden wird gezeigt, wie mit der API-Gateway-Konsole, der AWS CLI und dem AWS SDK für Javascript für Node.js eine regionale API erstellt wird.
Themen
Regionale API unter Verwendung der API Gateway-Konsole erstellen
So erstellen Sie eine regionale API mit der API Gateway-Konsole:
-
Melden Sie sich bei der API-Gateway-Konsole unter https://console.aws.amazon.com/apigateway
an. -
Wenn Sie API Gateway zum ersten Mal verwenden, sehen Sie eine Seite, die Sie mit den Funktionen des Service vertraut macht. Wählen Sie unter REST-API die Option Build (Erstellen) aus. Wenn das Popup-Fenster Create Exampe API (Beispiel-API erstellen) angezeigt wird, klicken Sie auf OK.
Wenn Sie API Gateway nicht zum ersten Mal verwenden, wählen Sie Create API (API erstellen). Wählen Sie unter REST-API die Option Build (Erstellen) aus.
Klicken Sie auf New API (Neue API).
Geben Sie in API Name (API-Name) einen Namen ein.
Geben Sie optional in das Feld Description (Beschreibung) eine kurze Beschreibung ein.
Wählen Sie Create API (API erstellen) aus.
Ab diesem Punkt können Sie API-Methoden und deren Integrationen wie in Erstellen einer einfachen API in API Gateway beschrieben einrichten.
Erstellen einer regionalen API über die AWS CLI
Rufen Sie den Befehl AWS CLI auf, um eine regionale API über die create-rest-api
zu erstellen:
aws apigateway create-rest-api \ --name 'Simple PetStore (AWS CLI, Regional)' \ --description 'Simple regional PetStore API' \ --region us-west-2 \ --endpoint-configuration '{ "types": ["REGIONAL"] }'
Eine erfolgreiche Antwort gibt eine Nutzlast ähnlich der folgenden zurück:
{ "createdDate": "2017-10-13T18:41:39Z", "description": "Simple regional PetStore API", "endpointConfiguration": { "types": "REGIONAL" }, "id": "0qzs2sy7bh", "name": "Simple PetStore (AWS CLI, Regional)" }
Ab diesem Punkt können Sie die Anleitung unter Einrichten einer Edge-optimierten API mit AWS CLI-Befehlen befolgen, um Methoden und Integrationen für diese API einzurichten.
Erstellen einer regionalen API über das AWS SDK für JavaScript
So erstellen Sie eine regionale API über das AWS SDK für JavaScript:
apig.createRestApi({ name: "Simple PetStore (node.js SDK, regional)", endpointConfiguration: { types: ['REGIONAL'] }, description: "Demo regional API created using the AWS SDK for node.js", version: "0.00.001" }, function(err, data){ if (!err) { console.log('Create API succeeded:\n', data); restApiId = data.id; } else { console.log('Create API failed:\n', err); } });
Eine erfolgreiche Antwort gibt eine Nutzlast ähnlich der folgenden zurück:
{ "createdDate": "2017-10-13T18:41:39Z", "description": "Demo regional API created using the AWS SDK for node.js", "endpointConfiguration": { "types": "REGIONAL" }, "id": "0qzs2sy7bh", "name": "Simple PetStore (node.js SDK, regional)" }
Nachdem Sie die vorherigen Schritte abgeschlossen haben, können Sie die Anleitung unter Einrichten einer Edge-optimierten API mit dem AWS SDK for Node.js befolgen, um Methoden und Integrationen für diese API einzurichten.
Testen einer regionalen API
Nach der Bereitstellung liegt der Standard-URL-Host-Name der regionalen API im folgenden Format vor:
{restapi-id}
.execute-api.{region}
.amazonaws.com
Die Basis-URL zum Aufrufen der API sieht wie folgt aus:
https://
{restapi-id}
.execute-api.{region}
.amazonaws.com/{stage}
Wenn Sie die Methoden GET /pets
und GET /pets/{petId}
in diesem Beispiel einrichten, können Sie die API durch Eingabe der folgenden URLs in einem Browser testen:
https://0qzs2sy7bh.execute-api.us-west-2.amazonaws.com/test/pets
und
https://0qzs2sy7bh.execute-api.us-west-2.amazonaws.com/test/pets/1
Alternativ können Sie cURL-Befehle verwenden:
curl -X GET https://0qzs2sy7bh.execute-api.us-west-2.amazonaws.com/test/pets
und
curl -X GET https://0qzs2sy7bh.execute-api.us-west-2.amazonaws.com/test/pets/2