AWS Batch
必要なときにECSを起動してバッチを実行するサービス
実行方法は、HTTPリクエストで行う。bodyにシェルスクリプトを書くと、Dockerコンテナ内でそのコマンドを叩いて実行する
アーキテクチャとしては、バッチキューに投げ込まれ、実行可能になると実行される
インスタンスを常時起動状態にしていないと、
バッチキューに投げ込まれてから、EC2インスタンス起動 -> ECSデプロイ&実行という流れになるため、
起動速度に難がある。
インスタンスは常時起動もできるが、
インスタンスタイプは大き目のものからしかないため、コストが高い。
(ベアメタルクラスのも選べた気がするけど、あまり高価なインスタンスを選択した場合、そもそも起動するかも疑わしくなる)
なので、単にEC2をマルチAZで展開しておいた方が安上がりになる可能性が高い。
定常的に動くバッチが多分にあって、AWSバッチが使用するスペックと同等クラスのEC2を複数用意する場合は、
AWS Batchを使った方が良い想定。
それ以外では、リアルタイム性が求められないバッチワークロードを実行する場合は有効。
※日次バッチとか、月次バッチなど。