Come faccio a eseguire la migrazione delle REST API di API Gateway tra account o regioni AWS?

3 minuti di lettura
0

Desidero eseguire la migrazione della mia REST API di Gateway Amazon API tra account o regioni AWS. Come posso farlo?

Breve descrizione

Esporta una REST API da API Gateway in un file di definizione OpenAPI 2.0 (Swagger) o OpenAPI 3.0. Quindi, importa l'API su API Gateway in un altro account o regione.

Importante: per importare una REST API, è inoltre necessario ricreare qualsiasi risorsa API integrata nell'account o nella regione di destinazione.

Risoluzione

Nota: se ricevi errori durante l'esecuzione dei comandi dell’interfaccia della linea di comando AWS (AWS CLI), assicurati di utilizzare la versione più recente di AWS CLI.

Esporta l'API utilizzando la console API Gateway o AWS CLI

Per esportare un'API utilizzando la console API Gateway

1.    Nella console API Gateway, scegli la tua API.

2.    Distribuisci l’API in una fase.

3.    Nel riquadroStage Editor, seleziona la scheda Esporta.

4.    Per Esporta come, scegli Swagger o OpenAPI3.

5.    In base al tuo caso d'uso, fai una pausa su una delle seguenti opzioni:
Esporta come estensioni Swagger + API Gateway
Esporta come estensioni OpenAPI 3+ API Gateway

La tua definizione OpenAPI viene visualizzata nella console.

6.    Scegli JSON o YAML per scaricare la definizione OpenAPI come tipo di file preferito.

Per esportare un'API utilizzando AWS CLI

Esegui il seguente comando get-export:

Importante: cambia i valori delle opzioni di comando --parameters, --export-type e --accept in modo che corrispondano al tuo formato di esportazione preferito.

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

Per ulteriori informazioni, consulta Esportazione di una REST API da API Gateway. Inoltre, get-export (riferimento ai comandi di AWS CLI).

Aggiorna i nomi della risorsa Amazon (ARN) delle risorse API nella tua definizione OpenAPI esportata

Cambia gli ARN delle risorse API nella tua definizione OpenAPI con gli ARN delle risorse nell'account e nella regione verso cui sta migrando l'API.

Esempio di un modello Swagger per un'API con integrazioni AWS Lambda

Importante: per usare questo frammento, sostituisci arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:12345678910:function:mylambda/invocations con l'ARN di una funzione Lambda nell'account di destinazione.

"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"
            }
          }

Importa l'API su API Gateway in un altro account o regione

Per importare un'API utilizzando la console API Gateway

1.    Apri la console API Gateway nell'account o nella regione di destinazione.

2.    Scegli Crea API.

3.    In REST API, per Scegli un tipo di API, scegli Importa.

4.    In Importa da Swagger o Open API 3, esegui una delle seguenti operazioni:
Scegli Seleziona file Swagger, quindi scegli il file di definizione OpenAPI aggiornato.
-oppure-
Incolla la definizione OpenAPI aggiornata nel campo dell'editor di testo.

5.    In Impostazioni, per Tipo di endpoint, scegli una delle seguenti opzioni in base al tuo caso d'uso:
Regionale
Edge ottimizzato

Privato

6.    Scegli Non ricevere avvisi per interrompere l'importazione in caso di errore o avviso durante l'importazione. Oppure, scegli Ignora gli avvisi per importare l'API indipendentemente dal fatto che ci sia un errore o un avviso durante l'importazione o meno.

Per importare un'API utilizzando AWS CLI

1.    Configura AWS CLI per l'account o la regione di destinazione.

2.    Esegui il seguente comando import-rest-api:

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

Per ulteriori informazioni, consulta Importazione di REST API in API Gateway.


Informazioni correlate

Tutorial: creazione di un'API REST mediante l'importazione di un esempio