Wie migriere ich API Gateway-REST-APIs zwischen AWS-Konten oder Regionen?

Lesedauer: 4 Minute
0

Ich möchte meine Amazon API Gateway-REST-API zwischen AWS-Konten oder Regionen migrieren. Wie mache ich das?

Kurzbeschreibung

Exportieren Sie eine REST-API von API Gateway in eine OpenAPI 2.0-(Swagger) oder OpenAPI 3.0-Definitionsdatei. Importieren Sie dann die API in API Gateway in einem anderen Konto oder einer anderen Region.

Wichtig: Um eine REST-API zu importieren, müssen Sie auch alle integrierten API-Ressourcen im Zielkonto oder in der Zielregion neu erstellen.

Lösung

**Hinweis:**Wenn Sie beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste AWS CLI-Version verwenden.

Exportieren der API entweder über die API Gateway-Konsole oder über die AWS-CLI

So exportieren Sie eine API mithilfe der API Gateway-Konsole

1.    Wählen Sie in der API Gateway-Konsole Ihre API aus.

2.    Stellen Sie Ihre API in einer Phase bereit.

3.    Wählen Sie im Bereich Stage Editor (Phaseneditor) die Registerkarte Export (Exportieren).

4.    Wählen Sie für Export as (Exportieren als) Swagger oder OpenAPI3 aus.

5.    Halten Sie, je nach Anwendungsfall, an einem der folgenden Punkte an:
Exportieren als Swagger- und API Gateway-Erweiterungen
Exportieren als OpenAPI 3- und API-Gateway-Erweiterungen

Ihre OpenAPI-Definition wird in der Konsole angezeigt.

6.    Wählen Sie JSON oder YAML, um die OpenAPI-Definition als Ihren bevorzugten Dateityp herunterzuladen.

So exportieren Sie eine API mit der AWS-CLI

Führen Sie den folgenden Befehl get-export aus:

Wichtig: Ändern Sie die Werte der Befehlsoptionen --parameters, --export-type und --accept so, dass sie Ihrem bevorzugten Exportformat entsprechen.

aws apigateway get-export --parameters extensions='integrations' --rest-api-id a1b2c3d4e5 --stage-name dev --export-type swagger --accept application/yaml /path/to/filename.yaml

Weitere Informationen finden Sie unter Exportieren einer REST-API von API Gateway. Außerdem get-export (AWS-CLI-Befehlsreferenz).

Aktualisieren Sie die Amazon Resource Names (ARNs) der API-Ressourcen in Ihrer exportierten OpenAPI-Definition

Ändern Sie die ARNs der API-Ressourcen in Ihrer OpenAPI-Definition in die Ressourcen-ARNs im Konto und in der Region, in die die API migriert wird.

Beispielausschnitt einer Swagger-Vorlage für eine API mit AWS Lambda-Integrationen

Wichtig: Um diesen Codeausschnitt zu verwenden, ersetzen Sie arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east- 1:12345678910:function:mylambda/invocations durch den ARN einer Lambda-Funktion im Zielkonto.

"x-amazon-apigateway-integration": {
          "uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:12345678910:function:mylambda/invocations",
          "responses": {
            "default": {
              "statusCode": "200"
            }
          }

Importieren der API in API Gateway in einem anderen Konto oder einer anderen Region

So importieren Sie eine API mithilfe der API Gateway-Konsole

1.    Öffnen Sie die API Gateway-Konsole im Zielkonto oder in der Zielregion.

2.    Wählen Sie Create API (API erstellen) aus.

3.    Wählen Sie unter REST API für Choose an API type (Einen API-Typ wählen) die Option Import (Importieren) aus.

4.    Führen Sie unter Import from Swagger or Open API 3 (Import aus Swagger oder Open API 3) einen der folgenden Schritte aus:
Wählen Sie Select Swagger File (Swagger-Datei auswählen) und wählen Sie dann Ihre aktualisierte OpenAPI-Definitionsdatei aus.

  • oder -
    Fügen Sie Ihre aktualisierte OpenAPI-Definition in das Texteditorfeld ein.

5.    Wählen Sie unter Settings (Einstellungen) für Endppint Type (Endpunkttyp) je nach Anwendungsfall eine der folgenden Optionen aus:
Regional
Edge optimized (Edge-optimiert)

Private (Privat)

6.    Wählen Sie Fail on warnings (Bei Warnungen fehlschlagen), um den Import zu beenden, falls während des Imports ein Fehler oder eine Warnung auftritt. Oder wählen Sie Ignore warnings (Warnungen ignorieren), um die API zu importieren, unabhängig davon, ob beim Import ein Fehler oder eine Warnung aufgetreten ist oder nicht.

So importieren Sie eine API mit der AWS-CLI

1.    Konfigurieren Sie die AWS-CLI für das Zielkonto oder die Zielregion.

2.    Führen Sie den folgenden Befehl import-rest-api aus:

$ aws apigateway import-rest-api --endpointConfigurationTypes 'REGIONAL' --fail-on-warnings --body 'file:/// path/to/filename.json'

Weitere Informationen finden Sie unter Importieren einer REST-API in API Gateway.


Verwandte Informationen

Tutorial: Erstellen einer REST-API durch Importieren eines Beispiels

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren