💰 コスト効率:AWS Batchの使いどころ

目次

1. 結論

AWS Batchは、「大量の仕事をさばく自動工場」です。「何を(ジョブ定義)」「どのくらいの優先順位で(ジョブキュー)」やるかを決めておけば、AWSが勝手に「最適なスペックのサーバー(コンピューティング環境)」を用意して、仕事が終わったらサーバーを消してくれます。特にスポットインスタンスを賢く使うことで、コストを極限まで抑えた大量処理を可能にします。

2. SAAで出やすいポイント

  • コスト最適化 (スポットインスタンス): コンピューティング環境として「スポット」を選択するだけで、自動的に安価なリソースを探して実行し、中断されたら再試行する管理を代行してくれる。
  • 自動スケーリング: ジョブの数に応じて、ゼロから数百台のサーバーまで自動で増やし、終わったら自動でゼロにする。
  • 依存関係の管理: 「ジョブAが終わってからジョブBをやる」といったジョブ間の順序制御が可能。
  • 柔軟なリソース選択: Fargate(管理不要)かEC2(カスタマイズ可能)か、またはスポットかオンデマンドかを選択できる。

3. キーワードでの判断

問題文のキーワード 疑うべきサービス/機能 判断理由
「数十万件のバッチ処理を効率的にスケール」 AWS Batch 大規模バッチの管理に特化
「スポットインスタンスを使ってバッチコストを最小化」 AWS Batch スポット活用の推奨ツール
「計算資源の管理を自動化して大量のジョブを実行」 AWS Batch リソースプロビジョニングの自動化

4. ひっかけポイント

  • Lambdaとの違い:
    • Lambda: 短時間(15分以内)の軽量な処理。
    • Batch: 長時間(数時間〜)、大量のメモリやCPUが必要な重い処理。
  • Step Functionsとの違い:
    • Step Functions: 「ワークフロー(全体の流れ)」の管理。Batchはその中の「一つの重い処理」として呼び出されることが多い。
  • 管理の手間: サーバーレス(Fargate)を使えば管理はほぼ不要だが、EC2ベースの場合はインスタンスタイプなどの指定が必要。

5. 覚え方

  • 「全自動の仕分け・加工工場」。
  • 材料(ジョブ)を放り込んでおけば、工場の機械(EC2/Fargate)が勝手に動き出し、加工が終われば機械の電源を切ってくれるイメージ。

6. 関連サービス

サービス名 関連する理由
Spot Instances AWS Batchのコスト最適化において最大の武器となる。
Amazon ECR バッチ処理の中身(プログラム)をコンテナとして保管しておく場所。
Step Functions 複数のバッチ処理を順番に繋いで、複雑な業務フローを作る。

7. Obsidian管理メモ

  • 復習ポイント: 「HPC(高性能計算)」や「大量のバッチ処理」という言葉が出たら、AWS Batchとスポットインスタンスの組み合わせをチェック。
  • 関連ノート: バッチ処理のアーキテクチャ設計

8. HTMLファイル名

aws-batch-scalable-job-processing.html

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次