Tutorial: Creación de una API de REST con integración de proxy de Lambda entre cuentas
Ahora puede utilizar una función AWS Lambda desde otra cuenta de AWS como backend de integración de API. Cada cuenta puede estar en cualquier región en la que Amazon API Gateway esté disponible. Esto permite administrar y compartir de forma centralizada funciones de backend de Lambda en varias API.
En esta sección mostramos cómo configurar una integración de proxy de Lambda entre cuentas con la consola de Amazon API Gateway.
Creación de una API de API Gateway para la integración de Lambda entre cuentas
Creación de una API
-
Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway
. -
Si es la primera vez que utiliza API Gateway, verá una página en la que aparecen las características del servicio. En REST API, elija Build (Compilación). Cuando aparezca el menú emergente Create Example API (Crear API de ejemplo), elija OK (Aceptar).
Si esta no es la primera vez que utiliza API Gateway, elija Create API (Crear API). En REST API, elija Build (Compilación).
En API name (Nombre de la API), escriba
CrossAccountLambdaAPI
.(Opcional) En Description (Descripción), introduzca una descripción.
Mantenga Tipo de punto de conexión de la API establecido en Regional.
Seleccione Crear API.
Creación de una función de integración de Lambda en otra cuenta
Ahora, creará una función de Lambda en una cuenta distinta de la que usó para crear la API de ejemplo.
Creación de una función de Lambda en otra cuenta
-
Inicie sesión en la consola de Lambda de una cuenta distinta de la que utilizó para crear la API de API Gateway.
-
Elija Create function (Crear función).
-
Elija Author from scratch.
-
En Author from scratch (Crear desde cero), haga lo siguiente:
-
En Function name (Nombre de función), escriba un nombre.
-
En la lista desplegable Runtime (Tiempo de ejecución), elija un tiempo de ejecución de Node.js compatible.
Para Arquitectura, mantenga la configuración predeterminada.
-
En Permissions (Permisos), expanda Choose or create an execution role (Seleccionar o crear un rol de ejecución). Puede crear un rol o elegir uno existente.
-
Elija Create function (Crear función) para continuar.
-
-
Desplácese hacia abajo en el panel Function code (Código de la función).
-
Introduzca la implementación de la función de Node.js desde Tutorial: Creación de una API de REST con una integración de proxy de Lambda.
-
Elija Deploy (Implementar).
-
Anote el ARN completo de la función (se encuentra en la esquina superior derecha del panel de la función de Lambda). Lo necesitará al crear la integración de Lambda entre cuentas.
Configuración de la integración de Lambda entre cuentas
Una vez que tenga una función de integración de Lambda en otra cuenta, puede utilizar la consola de API Gateway para agregarla a la API de la primera cuenta.
nota
Si está configurando un autorizador entre regiones y cuentas, el valor sourceArn
que se agrega a la función de destino debe utilizar la región de la función, no la región de la API.
Después de crear una API, se crea un recurso. Normalmente, los recursos de la API están organizados en un árbol de recursos de acuerdo con la lógica de la aplicación. Para este ejemplo, creará un recurso /helloworld.
Para crear un recurso
Elija Crear recurso.
Mantenga Recurso proxy desactivado.
Mantenga Ruta del recurso en
/
.En Nombre del recurso, escriba
helloworld
.Mantenga desactivado CORS (uso compartido de recursos entre orígenes).
Elija Crear recurso.
Después de crear un recurso, se crea un método GET
. El método GET
se integra con una función de Lambda en otra cuenta.
Para crear un método GET
Seleccione el recurso /helloworld y, a continuación, elija Crear método.
En Tipo de método, seleccione GET.
En Tipo de integración, seleccione Función de Lambda.
Active Integración de proxy de Lambda.
En Función de Lambda, introduzca el ARN completo de la función de Lambda del paso 1.
En la consola de Lambda, puede encontrar el ARN de la función en la esquina superior derecha de la ventana de la consola.
-
Al introducir el ARN, aparecerá una cadena de comandos
aws lambda add-permission
. Esto concederá a su primera cuenta acceso a la función de Lambda de la segunda cuenta. Copie y pegue la cadena de comandosaws lambda add-permission
en una ventana de la AWS CLI configurada para la segunda cuenta. Elija Crear método.
Para ver la política actualizada para la función en la consola de Lambda.
(Opcional) Para ver la política actualizada
-
Inicie sesión en la AWS Management Console y abra la consola AWS Lambda en https://console.aws.amazon.com/lambda/
. -
Elija su función de Lambda.
-
Elija Permissions.
Debería ver una política
Allow
con una cláusulaCondition
en la queAWS:SourceArn
es el ARN del métodoGET
de la API.