ECSでバッチ処理を作成したことがあります。
そこで、”AWS Batch”が気になったため、調べてみました。
今頃。。。
#ブラックベルトより
https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-service-cut/
AWS Batch
①フルマネージドのバッチ処理実行システム(ECSを使用している)
②ジョブとして登録したアプリケーションやコンテナイメージをスケジューラから実行
##1.システム管理者が使用するジョブ管理システム
夜間バッチのような、予めジョブの起動や順序を定義し、ジョブの実行・管理するシステム
##2.システム利用者が使用するジョブ管理システム
ユーザが任意に投入したジョブをキューイングして、リソース状況に合わせて効率よく実行するシステム
★AWS Batchは、"2."らしい。大規模なスケール、ジョブの依存定義が可能なマネージド並列分散処理基盤。
https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-2017-aws-batch/10
#一番の疑問
###スケジュール起動型のバッチ処理にAWS Batchは向いているのか?
Ans.
肝心のスケジュール起動は出来なく、あくまでもジョブキュー系の処理をするためのもの
大規模データのバッチ処理みたいな使い方を想定されたサービスで、cron代わりといった用途には向かないとの事。
であれば、やはりスケジュール起動系は、下記かな。
①Amazon ECSのScheduleTask
②Lambda(スケジュール起動)※①より制約多し(メモリ、CPU、言語、処理時間15分)
なので、軽微なバッチ処理しか作らないのであれば、管理も簡単なLambdaもありかと思います。