Öffentlichen oder privaten API-Endpunkttyp in API Gateway ändern
Das Ändern eines API-Endpunkttyps erfordert, dass Sie die Konfiguration der API aktualisieren. Sie können einen vorhandenen API-Typ über die API-Gateway-Konsole, die AWS CLI oder ein AWS SDK für API Gateway ändern. Der Aktualisierungsvorgang kann bis zu 60 Sekunden dauern. Während dieser Zeit ist Ihre API verfügbar, aber ihr Endpunkttyp kann erst wieder verändert werden, wenn die aktuelle Änderung abgeschlossen ist.
Die folgenden Änderungen am Endpunkttyp werden nicht unterstützt:
-
Edge-optimiert oder regional in privat
-
Edge-optimiert oder regional in privat
-
Privat in regional
Sie können eine private API nicht in eine Edge-optimierte API ändern.
Wenn Sie eine öffentliche API von Edge-optimiert in regional oder umgekehrt ändern, beachten Sie, dass eine Edge-optimierte API sich anders als eine regionale API verhalten kann. Bei einer Edge-optimierten API wird beispielsweise der Content-MD5
-Header entfernt. Ein an das Backend übergebener MD5-Hash-Wert kann in einem Anforderungszeichenfolgenparameter oder einer Texteigenschaft dargestellt werden. Die regionale API übergibt diesen Header jedoch, obwohl dadurch der Header-Name einem anderen Namen zugeordnet werden kann. Sie müssen die Unterschiede verstehen, um zu entscheiden, wie Sie eine Edge-optimierte API zu einer regionalen oder umgekehrt machen.
Themen
API-Endpunkttyp über die API Gateway-Konsole ändern
Um den API-Endpunkttyp Ihrer API zu ändern, führen Sie einen der folgenden Schritte aus:
So wandeln Sie einen öffentlichen Endpunkt von regional in Edge-optimiert oder umgekehrt um
-
Melden Sie sich bei der API Gateway-Konsole unter https://console.aws.amazon.com/apigateway
an. Wählen Sie eine REST-API aus.
Wählen Sie Settings aus.
-
Ändern Sie die Option Endpoint Type unter Endpoint Configuration von
Edge Optimized
zuRegional
oder vonRegional
zuEdge Optimized
. -
Wählen Sie Save Changes (Änderungen speichern) um das Update zu starten.
So konvertieren Sie einen privaten Endpunkt in einen regionalen Endpunkt
-
Melden Sie sich bei der API Gateway-Konsole unter https://console.aws.amazon.com/apigateway
an. Wählen Sie eine REST-API aus.
-
Bearbeiten Sie die Ressourcenrichtlinie für Ihre API und entfernen Sie alle Hinweise auf VPCs oder VPC-Endpunkte, sodass API-Aufrufe von außerhalb Ihrer VPC als auch innerhalb Ihrer VPC erfolgreich ausgeführt werden können.
Wählen Sie Settings aus.
-
Ändern Sie den Endpoint Type (Endpunkttyp) in
Regional
. -
Wählen Sie Save Changes (Änderungen speichern) um das Update zu starten.
-
Entfernen Sie die Ressourcenrichtlinie aus Ihrer API.
-
Stellen Sie die API erneut bereit, sodass die Änderungen wirksam werden.
Verwenden der AWS CLI zum Ändern eines API-Endpunkttyps
Um mithilfe der AWS CLI eine Edge-optimierte API mit der API-ID
zu aktualisieren, rufen Sie restapi:update wie folgt auf: {api-id}
aws apigateway update-rest-api \ --rest-api-id {api-id} \ --patch-operations op=replace,path=/endpointConfiguration/types/EDGE,value=REGIONAL
Die erfolgreiche Antwort verfügt über einen Statuscode von 200 OK
und eine Nutzlast, die etwa wie folgt aussieht:
{ "createdDate": "2017-10-16T04:09:31Z", "description": "Your first API with Amazon API Gateway. This is a sample API that integrates via HTTP with our demo Pet Store endpoints", "endpointConfiguration": { "types": "REGIONAL" }, "id": "0gsnjtjck8", "name": "PetStore imported as edge-optimized" }
Wandeln Sie umgekehrt eine regionale API wie folgt in eine Edge-optimierte API um:
aws apigateway update-rest-api \ --rest-api-id {api-id} \ --patch-operations op=replace,path=/endpointConfiguration/types/REGIONAL,value=EDGE
Da put-rest-api dem Aktualisieren von API-Definitionen dient, können API-Endpunkttypen damit nicht aktualisiert werden.