Aislamiento de inquilinos - AWS Lambda

Aislamiento de inquilinos

Utilice el modo de aislamiento de inquilinos cuando necesite procesar solicitudes aisladas para usuarios finales individuales o inquilinos que invoquen una función de Lambda. Esta capacidad simplifica la creación de aplicaciones de varios inquilinos que procesan código o datos específicos del inquilino, como las plataformas SaaS para la automatización del flujo de trabajo o la ejecución de código, dado que elimina la necesidad de administrar los recursos de funciones específicas del inquilino y la lógica de enrutamiento de solicitudes.

Las aplicaciones de varios inquilinos tienen requisitos de aislamiento estrictos cuando ejecutan el código o procesan datos para inquilinos individuales o usuarios finales. Con el modo de aislamiento de inquilinos, Lambda usa un identificador de inquilino especificado por el cliente para enrutar las solicitudes a los entornos de ejecución de funciones subyacentes, lo que garantiza que los entornos de ejecución de una función solo se usen para atender las invocaciones del usuario final o inquilino especificados. Los entornos de ejecución de funciones de Lambda aprovechan la virtualización de Firecracker para aislar la carga de trabajo.

Cuando una función que utiliza el modo de aislamiento de inquilinos recibe una invocación con un identificador de inquilino, Lambda primero intenta localizar un entorno de ejecución disponible asociado a ese identificador de inquilino. Si no existe ningún entorno de ejecución, Lambda crea y asigna un nuevo entorno de ejecución a ese inquilino. A medida que se escalan verticalmente las invocaciones de funciones con el identificador de inquilino especificado, Lambda localiza o crea nuevos entornos de ejecución según sea necesario.

Cuándo utilizar el modo de aislamiento de inquilinos

Utilice el modo de aislamiento de inquilinos cuando necesite atender a varios usuarios finales o inquilinos mediante una sola función de Lambda y, al mismo tiempo, asegúrese de que los entornos de ejecución utilizados para procesar las invocaciones de los inquilinos individuales permanezcan aislados unos de otros. Este aislamiento estricto de los entornos de ejecución es necesario para las aplicaciones de varios inquilinos que:

  • Ejecutan el código proporcionado por el usuario final: mantener los entornos de ejecución separados para los inquilinos individuales puede limitar el impacto de la ejecución de código proporcionado por el usuario, que puede ser incorrecto o malicioso.

  • Procesan datos específicos del inquilino: mantener los entornos de ejecución separados para los inquilinos individuales puede evitar que otros inquilinos expongan datos confidenciales específicos de los inquilinos.

Varias solicitudes de invocación del mismo inquilino pueden reutilizar el mismo entorno de ejecución de funciones, lo que reduce los arranques en frío y mejora los tiempos de respuesta de las aplicaciones sensibles a la latencia.

Características y limitaciones compatibles

El modo de aislamiento de inquilinos no es compatible con funciones que utilizan URL de función, concurrencia aprovisionada o SnapStart. Puede enviar solicitudes a una función aislada por inquilino mediante invocaciones sincrónicas, invocaciones asíncronas o mediante el uso de Amazon API Gateway como desencadenador de eventos.

Regiones de AWS compatible

El modo de aislamiento de inquilinos es compatible en todas las regiones comerciales, excepto en Asia-Pacífico (Nueva Zelanda).

Consideraciones

Cuando utilice el aislamiento de inquilinos con sus funciones de Lambda, tenga en cuenta lo siguiente:

  • Configuración inmutable: el aislamiento de inquilinos es una propiedad de función inmutable. Solo se puede habilitar al crear una función.

  • Parámetro de identificador de inquilino obligatorio: las funciones que utilizan el modo de aislamiento de inquilinos se deben invocar con un parámetro de tenant-id. Si se omite este parámetro, se producirá un error en las invocaciones de funciones.

  • El rol de ejecución se aplica a todos los inquilinos: las invocaciones de todos los inquilinos utilizan los permisos definidos en el rol de ejecución de la función de Lambda.

  • Concurrencia: cuando se utiliza el aislamiento de inquilinos, no se producen cambios en la concurrencia ni en el comportamiento de escalado de la función. Lambda impone un límite de 2500 entornos de ejecución aislados por inquilino (activos o inactivos) por cada 1000 ejecuciones simultáneas configuradas para la función de Lambda.

Precios

Se le cobrará cuando Lambda cree un nuevo entorno de ejecución aislado por inquilino. El precio depende de la cantidad de memoria que asigne a la función y la arquitectura de CPU que utilice. Para más información, consulte Precios de AWS Lambda.

Modo de aislamiento

En la siguiente tabla, se describen las diferencias entre las funciones de Lambda con y sin aislamiento de inquilinos.

Característica Con aislamiento de inquilinos Sin aislamiento de inquilinos
Tipo de aislamiento Aislamiento a nivel del inquilino Aislamiento a nivel de la función
Reutilización del entorno Los entornos de ejecución nunca se reutilizan entre distintos inquilinos. Los entornos de ejecución se pueden reutilizar en todas las invocaciones de la misma función.
Aislamiento de datos No se puede acceder a los datos de otros inquilinos. Es posible que se pueda acceder a los datos de invocaciones anteriores de la misma versión de la función.
Arranques en frío Más arranques en frío debido a los entornos específicos del inquilino Menos arranques en frío gracias a la reutilización del entorno
Precios Cargo adicional además del precio estándar de Lambda Precio estándar de Lambda