web-dev-qa-db-fra.com

Comment monter EFS sur une fonction Lambda?

J'ai besoin d'exécuter un nettoyage périodique sur mon lecteur EFS (qui est partagé par plusieurs instances EC2 de mise à l'échelle automatique). Le nettoyage implique la suppression de fichiers/dossiers qui répondent à un certain critère (date/taille, etc.).

J'imaginais qu'AWS Lambda était la solution parfaite pour cette tâche. Il suffit de déclencher la fonction périodiquement, ce qui devrait monter le lecteur partagé et exécuter le nettoyage. Mais il semble que Lambda ne supporte que la création/interrogation du disque pour son type et la modification de son point de montage, etc.

Existe-t-il une alternative pour accomplir cette tâche?

7
lalit

Jusqu'à présent, j'ai constaté que même si les opérations de fichiers directs ne sont pas prises en charge par Lambda, il peut faire tourner une instance EC2, qui peut exécuter un script de démarrage pour effectuer le nettoyage puis l'arrêt. Bien que cette solution soit plutôt maladroite, je ne vois aucune alternative.

Le support Lambda pour EFS semble être une demande de longue date:

Pourquoi ne pouvez-vous pas monter EFS sur Lambda?

EFS peut-il être monté à partir de l'environnement Lambda

7
lalit

La solution avec EC2 ne nécessite pas du tout le lambda. Vous pouvez ajouter un groupe de mise à l'échelle automatique avec une stratégie planifiée pour démarrer l'instance une fois par semaine et la fermer. Toutes les activités requises peuvent être ajoutées à l'aide des données utilisateur ou d'un script Shell à exécution automatique dans l'instance ec2.

3
GiorgosDev

que diriez-vous de monter votre EFS sur une instance ec2 et d'utiliser lambda pour ssh dans ec2 et faire le nettoyage. À titre d'exemple, vous pouvez utiliser python bibliothèque de tissus pour ssh dans l'ec2.

1
Amith Jayasekara