我需要在我的EFS驱动器上运行定期清理(由多个自动扩展EC2实例共享)。清理涉及删除符合特定标准(日期/大小等)的文件/文件夹。
我认为AWS Lambda是完成此任务的完美解决方案。只需定期触发该功能,该功能应安装共享驱动器并运行清理。但似乎Lambda只支持创建/轮询磁盘的类型并修改其挂载点等。
有没有办法完成这项任务?
答案 0 :(得分:5)
到目前为止,我发现虽然Lambda不支持直接文件操作,但它可以启动EC2实例,该实例可以运行启动脚本来执行清理然后关闭。 虽然这个解决方案相当笨重,但我没有看到任何替代方案。
Lambda对EFS的支持似乎是一个长期需求:
答案 1 :(得分:3)
使用EC2的解决方案根本不需要lambda。您可以添加具有计划策略的自动缩放组,以便每周启动一次实例并将其关闭。可以使用用户数据或ec2实例中的一些自动运行shell脚本添加所需的所有活动。
答案 2 :(得分:3)
AWS已发布Lambda filesystem support。请参阅these details了解配置信息,包括CloudFormation和SAM模板。文件系统和Lambda函数必须位于同一区域,并且该函数必须附加到VPC,尽管它可能位于不同的帐户中。
答案 3 :(得分:1)
如何将您的EFS安装到ec2实例并使用lambda ssh到ec2并进行清理。例如,您可以使用python结构库来ssh到ec2。