[アップデート]AWS BatchがCloudWatch Eventsに対応しました!時間起動も可能に
コンニチハ、千葉です。お久しぶりです。
本日は、AWS Batchのアップデート情報をお伝えします。AWS Batchはキューベースのジョブ実行サービスで高スケーラビリティなバッチをさくっと作ることができます。 キューにputすると、バッチが起動しなんらかの処理を行うことができます。例えば、API Gatewayをフロントにし、キューベースのバッチAPIなんかを作れます。 また、AWS Batchを利用することでLambdaの5分制限を気にしなくてよく、ディスクもEBSやインスタンスストアを利用できます。そのため容量も大きく使えます。
今回のアップデートでは、トリガーにCloudWatch Eventsが追加されました。つまり、APIコールのタイミングや、スケジュール起動が可能になりました。 ユースケースとしては、時間起動のバッチ、EC2が起動や停止をトリガーに何かするみたいな処理ができるようになりました。
私としてはスケジュールベースで実行できるようになったのが結構大きいかなと思いました。
やってみた
AWS Batchをスケジュール実行してみます。
まずは、Get Startedからでデフォルトでバッチ環境を用意しました。
環境ができました。
CloudWatch Eventsに設定する情報を収集しておきます。 CloudWatch Eventsに設定する項目は以下です。
- ジョブキューのARN
- タスク定義名またはARN
- ジョブ名
- (オプション)Array
- (オプション)ジョブのリトライ回数
CloudWatch Eventsに実際に設定してみます。5分間隔で実行してみました。
5分間隔でタスクが実行されてました!結果はソートされませんが。
最後に
AWS BatchのタスクトリガーとしてCloudWatch Eventsに対応したことにより、実行タイミングに柔軟になりました。 定期的なジョブ実行やLambda、EC2の起動停止など様々なイベントをトリガーにすることができます。 ガンガン使っていきましょう!