AWS Batch
バッチjobの実行
EC2、Spot、Fargate上で計算job(コンテナ)をスケジュールして一括実行します。jobをキューに送ると、AWS Batchが必要なだけのリソースを自動で用意し、終了後に回収します。
- コスト$ 安い
- 難易度●●●●●
- 未使用でも課金?いいえ
- AWS マネージド
- 出題試験CLF · SAA
たとえるなら工場のシフト割り当て窓口のようなものです。仕事の注文が列に並び、現場監督が各回に必要な人数の作業員を呼び、終わったら帰します。
いつ使う?
✓ 使うべき場面
長時間(Lambdaの制限を超える)、大量、並列化可能なjob:データ処理、シミュレーション、レンダリング。
✗ 避けるべき場面
イベント駆動の短いタスク → Lambda。オーケストレーションが必要な多段階フロー → Step Functions。
よくある使い方
- 数千本の動画・画像ファイルの処理
- 金融シミュレーション、ゲノム解析
- Spotで安く夜間ETL jobを実行
料金はいくら?
- 課金方式: 個別の料金はかかりません。job実行中に使用したEC2/Spot/Fargateの料金を支払います。
⚠️ 料金の落とし穴
compute environmentの最小vCPUを0より大きく設定すると、jobがなくてもinstanceが動き続けます。
関連サービス
SAA-C03 対策
Batch は次の対策モジュールで扱っています: