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?
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:
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.
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.