EFSドライブ(複数の自動スケーリングEC2インスタンスで共有されています)で定期的なクリーンアップを実行する必要があります。クリーンアップには、特定の基準(日付/サイズなど)を満たすファイル/フォルダーの削除が含まれます。
AWS Lambdaがこのタスクに最適なソリューションであると想像しました。機能を定期的にトリガーするだけで、共有ドライブがマウントされ、クリーンアップが実行されます。しかし、Lambdaはそのタイプに応じたディスクの作成/ポーリングおよびマウントポイントなどの変更のみをサポートしているようです。
このタスクを達成するための代替手段はありますか?
これまでのところ、Lambdaは直接ファイル操作をサポートしていませんが、スタートアップスクリプトを実行してクリーンアップしてからシャットダウンできるEC2インスタンスを起動できることがわかりました。この解決策はかなり不格好ですが、代替案は見当たりません。
EFSに対するLambdaのサポートは、長年にわたる要求のようです:
EC2を使用したソリューションでは、ラムダはまったく必要ありません。スケジュールされたポリシーで自動スケーリンググループを追加して、週に1回インスタンスを起動してシャットダウンできます。必要なすべてのアクティビティは、ユーザーデータまたはec2インスタンスの自動実行シェルスクリプトを使用して追加できます。
eFSをec2インスタンスにマウントし、lambdaを使用してec2にsshし、クリーニングを行うのはどうですか。例として、pythonファブリックライブラリを使用してec2にsshすることができます。