我需要定期清理我的EFS驱动器(由多个自动扩展的EC2实例共享)。清理涉及删除符合某些条件(日期/大小等)的文件/文件夹。
我原本想使用AWS Lambda来完成这个任务,只需定期触发函数,该函数应该挂载共享驱动器并运行清理。但似乎Lambda仅支持创建/轮询磁盘以获取其类型和修改其挂载点等操作。
有没有其他方法可以完成此任务?
我需要定期清理我的EFS驱动器(由多个自动扩展的EC2实例共享)。清理涉及删除符合某些条件(日期/大小等)的文件/文件夹。
我原本想使用AWS Lambda来完成这个任务,只需定期触发函数,该函数应该挂载共享驱动器并运行清理。但似乎Lambda仅支持创建/轮询磁盘以获取其类型和修改其挂载点等操作。
有没有其他方法可以完成此任务?
目前我发现虽然Lambda不支持直接文件操作,但它可以启动一个EC2实例,该实例可以运行启动脚本来进行清理,然后关闭。
虽然这种解决方案有些笨重,但我没有看到任何其他可行的替代方法。
Lambda对EFS的支持似乎是长期需求:
您想将EFS挂载到EC2实例,并使用Lambda SSH进入EC2并进行清理。例如,您可以使用Python Fabric库SSH进入EC2。
使用EC2解决方案不需要Lambda。您可以添加带有定时策略的自动扩展组,每周启动一次实例并关闭它。所有所需的操作都可以在EC2实例中使用用户数据或某些自动运行的shell脚本中添加。