Tutorial: creazione di un'API REST API Gateway con l'integrazione proxy Lambda tra più account - Amazon API Gateway

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Tutorial: creazione di un'API REST API Gateway con l'integrazione proxy Lambda tra più account

Ora puoi usare una AWS Lambda funzione di un altro AWS account come backend per l'integrazione delle API. Ogni account può trovarsi in qualsiasi regione in cui è disponibile Amazon API Gateway. In questo modo, è più semplice gestire centralmente e condividere funzioni di back-end Lambda tra più API.

In questa sezione, viene illustrato come configurare l'integrazione proxy Lambda tra più account utilizzando la console Amazon API Gateway.

Creazione di un'API per l'integrazione Lambda tra più account API Gateway

Per creare un API
  1. Accedere alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway.

  2. Se si utilizza API Gateway per la prima volta, verrà visualizzata una pagina che presenta le caratteristiche del servizio. In API REST, scegliere Crea. Quando appare il popup Create Example API (Crea API di esempio), scegliere OK.

    Se non è la prima volta che si utilizza API Gateway, scegliere Create API (Crea API). In API REST, scegliere Crea.

  3. Per API name (Nome API), immettere CrossAccountLambdaAPI.

  4. (Facoltativo) In Description (Descrizione), immettere una descrizione.

  5. Lasciare l'opzione Tipo di endpoint API impostata su Regionale.

  6. Seleziona Create API (Crea API).

Creazione di una funzione di integrazione Lambda in un altro account

Viene ora creata una funzione Lambda in un account diverso da quello in cui hai creato l'API di esempio.

Creazione di una funzione Lambda in un altro account
  1. Accedere alla console Lambda in un account diverso da quello in cui è stata creata l'API di API Gateway.

  2. Selezionare Create function (Crea funzione).

  3. Scegli Author from scratch (Crea da zero).

  4. In Author from scratch (Crea da zero), effettuare le seguenti operazioni:

    1. Per Function name (Nome funzione) immettere un nome.

    2. Dall'elenco a discesa Runtime, scegliere un runtime Node.js supportato.

    3. In Autorizzazioni, espandere Scegli o crea un ruolo di esecuzione. È possibile creare un ruolo o scegliere un ruolo esistente.

    4. Selezionare Create function (Crea funzione) per continuare.

  5. Scorrere verso il basso fino al riquadro Function code (Codice funzione).

  6. Immetti l'implementazione della funzione Node.js da Tutorial: creazione di un'API REST Hello World con integrazione proxy Lambda.

  7. Selezionare Deploy (Distribuisci).

  8. Prendere nota dell'ARN completo della funzione (nell'angolo in alto a destra del riquadro della funzione Lambda), in quanto sarà necessario per la creazione dell'integrazione Lambda tra più account.

Configurazione dell'integrazione Lambda tra più account

Dopo la creazione di una funzione di integrazione Lambda in un altro account, puoi utilizzare la console API Gateway per aggiungerla all'API nel tuo primo account.

Nota

Se si sta configurando una regione, un provider di autorizzazioni tra più account, sourceArn che viene aggiunto alla funzione di destinazione deve utilizzare la regione della funzione, non la regione dell'API.

Dopo l'API, è necessario creare una risorsa. In genere, le risorse API sono organizzate in una struttura di risorse in base alla logica dell'applicazione. In questo esempio crei una risorsa /helloworld.

Per creare una risorsa
  1. Seleziona la risorsa /, quindi scegli Crea risorsa.

  2. Mantieni l'opzione Risorsa proxy disattivata.

  3. Mantieni Percorso risorsa impostato su /.

  4. Per Resource Name (Nome risorsa) immetti helloworld.

  5. Mantieni CORS (Cross Origin Resource Sharing) disattivato.

  6. Scegli Crea risorsa.

Dopo la risorsa, è necessario creare un metodo GET. Integra il metodo GET con una funzione Lambda in un altro account.

Creazione di un metodo GET
  1. Seleziona la risorsa /helloworld, quindi scegli Crea metodo.

  2. Per Tipo di metodo seleziona GET.

  3. Per Tipo di integrazione seleziona Funzione Lambda.

  4. Attiva l'opzione Integrazione proxy Lambda.

  5. Per Funzione Lambda immetti l'ARN completo della funzione Lambda dalla fase 1.

    Nella console Lambda, puoi trovare l'ARN della funzione nell'angolo in alto a destra.

  6. Quando immetti l'ARN, viene visualizzata una stringa di comando aws lambda add-permission. Questa policy fornisce al tuo primo account l'accesso alla funzione Lambda del secondo account. Copia e incolla la stringa di aws lambda add-permission comando in una AWS CLI finestra configurata per il tuo secondo account.

  7. Scegli Crea metodo.

Puoi visualizzare la policy aggiornata per la funzione nella console Lambda.

(Facoltativo) Per visualizzare la policy aggiornata
  1. Accedi AWS Management Console e apri la AWS Lambda console all'indirizzo https://console.aws.amazon.com/lambda/.

  2. Seleziona la funzione Lambda.

  3. Seleziona Autorizzazioni.

    Viene visualizzata una policy Allow con una clausola Condition in cui AWS:SourceArn è l'ARN per il metodo GET dell'API.