View a markdown version of this page

Isolation des locataires - AWS Lambda

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Isolation des locataires

Utilisez le mode d'isolation des locataires lorsque vous avez besoin d'un traitement de demandes isolé pour des utilisateurs finaux individuels ou des locataires invoquant une fonction Lambda. Cette fonctionnalité simplifie la création d'applications multi-locataires qui traitent du code ou des données spécifiques au locataire, telles que les plateformes SaaS pour l'automatisation des flux de travail ou l'exécution de code, en supprimant la nécessité de gérer les ressources fonctionnelles spécifiques au locataire et la logique de routage des demandes.

Multi-tenant les applications ont des exigences d'isolation strictes lorsqu'elles exécutent du code ou traitent des données pour des locataires individuels ou des utilisateurs finaux. Avec le mode d'isolation des locataires, Lambda utilise un identifiant de locataire spécifié par le client pour acheminer les demandes vers les environnements d'exécution de fonctions sous-jacents, garantissant ainsi que les environnements d'exécution d'une fonction ne sont utilisés que pour répondre aux appels provenant de l'utilisateur final ou du locataire spécifié. Les environnements d'exécution des fonctions de Lambda utilisent la virtualisation https://firecracker-microvm.github.io/ Firecracker pour isoler la charge de travail.

Lorsqu'une fonction utilisant le mode d'isolation des locataires reçoit une invocation avec un identifiant de locataire, Lambda tente d'abord de localiser un environnement d'exécution disponible associé à cet identifiant de locataire. S'il n'existe aucun environnement d'exécution, Lambda crée et attribue un nouvel environnement d'exécution à ce locataire. Au fur et à mesure que les appels de fonctions avec l'identifiant de locataire spécifié augmentent, Lambda localise ou crée de nouveaux environnements d'exécution selon les besoins.

Pour savoir comment utiliser l'isolation des locataires, consultezActivation de l'isolation des locataires pour les fonctions Lambda. Pour plus d'informations sur l'accès au contexte du locataire dans votre code, consultezAccès à l'identifiant du locataire dans le code de fonction Lambda. Pour surveiller les fonctions isolées des locataires, consultez. Surveillance des fonctions Lambda avec isolation des locataires Pour obtenir de l'aide pour résoudre les problèmes, consultezRésolution des problèmes liés à l'isolation des locataires pour les fonctions Lambda.

Quand utiliser le mode d'isolation des locataires

Utilisez le mode d'isolation des locataires lorsque vous devez servir plusieurs utilisateurs finaux ou locataires à l'aide d'une seule fonction Lambda, tout en vous assurant que les environnements d'exécution utilisés pour traiter les appels pour des locataires individuels restent isolés les uns des autres. Cette isolation stricte des environnements d'exécution est requise pour les applications multi-locataires qui :

  • Exécuter le code fourni par l'utilisateur final  : le maintien d'environnements d'exécution distincts pour chaque locataire peut limiter l'impact de l'exécution de code fourni par l'utilisateur qui peut être incorrect ou malveillant.

  • Traitez les données spécifiques aux locataires  : le maintien d'environnements d'exécution distincts pour chaque locataire peut empêcher l'exposition de données sensibles spécifiques aux locataires à d'autres locataires.

Plusieurs demandes d'invocation provenant du même locataire peuvent réutiliser le même environnement d'exécution de fonctions, ce qui réduit les démarrages à froid et améliore les temps de réponse pour les applications sensibles à la latence.

Fonctions prises en charge et limitations

Le mode d'isolation des locataires n'est pas pris en charge avec les fonctions qui utilisent des URL de fonction, une simultanéité provisionnée ou. SnapStart Vous pouvez envoyer des requêtes à une fonction isolée du locataire à l'aide d'appels synchrones, d'appels asynchrones ou en utilisant Amazon API Gateway comme déclencheur d'événement.

Pris en charge Régions AWS

Le mode d'isolation des locataires est pris en charge dans toutes les régions commerciales, à l'exception de l'Asie-Pacifique (Nouvelle-Zélande).

Considérations

Lorsque vous utilisez l'isolation des locataires avec vos fonctions Lambda, tenez compte des points suivants :

  • Configuration immuable  : l'isolation des locataires est une propriété de fonction immuable. Elle ne peut être activée que lors de la création d'une fonction.

  • Paramètre d'identification du locataire obligatoire  : les fonctions utilisant le mode d'isolation des locataires doivent être invoquées avec un tenant-id paramètre. L'omission de ce paramètre entraîne l'échec des appels de fonctions.

  • Le rôle d'exécution s'applique à tous les locataires  : les appels provenant de tous les locataires utilisent les autorisations définies dans le rôle d'exécution de votre fonction Lambda.

  • Simultanéité  : aucun changement n'est apporté au comportement de simultanéité ou de mise à l'échelle de votre fonction lors de l'utilisation de l'isolation des locataires. Lambda impose une limite de 2 500 environnements d'exécution isolés par le locataire (actifs ou inactifs) pour 1 000 exécutions simultanées configurées pour votre fonction Lambda.

Tarification

Vous êtes facturé lorsque Lambda crée un nouvel environnement d'exécution isolé des locataires. Le prix dépend de la quantité de mémoire que vous allouez à votre fonction et de l'architecture du processeur que vous utilisez. Pour en savoir plus, consultez Pricing AWS Lambda (Tarification).

Mode d'isolation

Le tableau suivant décrit les différences entre les fonctions Lambda avec et sans isolation des locataires.

Fonctionnalité Avec isolation des locataires Sans isolement des locataires
Type d'isolation Tenant-level isolement Function-level isolement
Réutilisation de l'environnement Les environnements d'exécution ne sont jamais réutilisés entre différents locataires Les environnements d'exécution peuvent être réutilisés lors des invocations de la même fonction
Isolation des données Les données des autres locataires ne sont pas accessibles Les données des invocations précédentes de la même version de fonction peuvent être accessibles
Démarrages à froid Davantage de démarrages à froid en raison de l'environnement propre aux locataires Moins de démarrages à froid grâce à la réutilisation de l'environnement
Tarification Frais supplémentaires en plus de la tarification Lambda standard Tarification Lambda standard