View a markdown version of this page

Bonnes pratiques pour les microVM Lambda - 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.

Bonnes pratiques pour les microVM Lambda

Suivez ces bonnes pratiques pour créer des applications fiables, économiques et sécurisées avec des AWS Lambda microVM.

Conception de l’application

Concevez votre application pour qu'elle fonctionne correctement avec les instantanés microVM et les hooks du cycle de vie :

  • Utilisez des crochets de cycle de vie : /run implémentez-les pour l'initialisation après l'exécution, /suspend pour un nettoyage en douceur, pour le rétablissement de la connexion et /resume pour le vidage des données. /terminate

  • Gérez la réutilisation des instantanés : générez des UUID, des secrets et des valeurs aléatoires dans le /run hook, et non pendant la création de l'image. Utilisez CSPRNGS pour toute génération de nombres aléatoires.

  • Conception pour la reprise : validez toutes les connexions réseau et l'état du cache dans le /resume hook. AWS Les connexions au SDK sont généralement restaurées automatiquement, mais pas les connexions personnalisées.

Performance

Optimisez les performances des microVM en appliquant les pratiques suivantes :

  • Right-size votre microVM — Choisissez la plus petite taille de microVM qui répond à vos besoins en termes de processeur, de mémoire et de bande passante. La bande passante s'adapte à la mémoire configurée.

  • Minimisez la taille des instantanés : limitez l'encombrement de votre application afin de réduire les temps d'exécution et de reprise. Supprimez les dépendances au moment de la création et les fichiers temporaires avant la capture de l'image.

  • suspend/resume À utiliser pour les charges de travail sensibles à la latence : maintenez les environnements fréquemment utilisés en état de suspension pour reprendre rapidement l'exécution.

Sécurité

Suivez les pratiques suivantes pour sécuriser les charges de travail de votre microVM :

  • Rotation des jetons d'authentification : générez des jetons de courte durée (15 à 30 minutes). Implémentez une logique d'actualisation des jetons dans votre client avant leur expiration.

  • Étendre les jetons à des ports spécifiques : utilisez le allowedPorts paramètre pour limiter la portée des jetons aux seuls ports utilisés par votre application.

  • Utilisez la sortie VPC pour le trafic sensible : acheminez le trafic vers les bases de données et les API internes via un connecteur de sortie VPC plutôt que via Internet public.

  • Appliquer l'IAM avec le moindre privilège : séparez les rôles de construction (création d'image) des rôles d'exécution (exécution). Accordez les autorisations minimales requises.

Optimisation des coûts

Réduisez les coûts grâce aux stratégies suivantes :

  • Configurer les politiques d'inactivité : configurez maxIdleDurationSeconds pour suspendre automatiquement les microVM inactives. Les microVM suspendues n'entraînent pas de frais de calcul.

  • Fixez le maximum DurationInSeconds : évitez les coûts exorbitants en fixant un délai de terminaison strict pour chaque microVM.

  • Mettre fin aux microVM inutilisées : ne laissez pas les microVM fonctionner indéfiniment. suspendedDurationSecondsÀ utiliser pour arrêter automatiquement après des périodes d'inactivité prolongées.

  • Ressources relatives aux balises : utilisez des balises sur les images microVM pour la répartition des coûts et la création de rapports dans AWS Cost Explorer.

  • Right-size vos microVM : commencez par la plus petite base de référence qui répond à vos besoins en termes de performances. Vous pouvez atteindre 4 fois le niveau de référence pendant les pics d'activité sans avoir à vous réapprovisionner.

  • Nettoyez les images inutilisées — Supprimez les versions d'images MicroVM dont vous n'avez plus besoin pour réduire les coûts de stockage.

Contrôle

Surveillez efficacement vos microVM :

  • Revoir StateReason — Lorsque les microVM se terminent de manière inattendue, get-microvm la réponse inclut stateReason un avec la raison de la panne inattendue.