JAWS横浜 re:Cap
AWS Batch Fargate対応は何をも
たらすか
2020/12/12
深澤 俊
3自己紹介
深澤 俊(Fukazawa Shun)
クラスメソッド株式会社
SA(ソリューションアーキテクト)
@shun_quartet
4アジェンダ
• AWS BatchとFargateのおさらい
• Batch処理について
• AWS Batchのコンポーネント
• 今回のアップデートがもたらす効果とは
• まとめ
5AWS BatchとFargateについて
まずは簡単におさらい
6AWS Batchについて
• AWS Batch
• マネージド型のBatchサービス
• コンテナを立ち上げてBatch処理を
行う
• Batch処理に必要なアーキテクチャ
を提供してくれる
https://docs.aws.amazon.com/ja_jp/batch/latest/userguide/what-is-batch.html
7Fargateについて
• Fargate
• ジャンルとしてはCaaS
• コンテナを実行、運用するための
基盤の提供を行ってくれる
• 従来のECS on EC2と異なりEC2の管
理不要(サーバレス)
https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/userguide/what-is-fargate.html
8AWS Batchのコンポーネント
AWS Batch
コンポーネント
9AWS Batchのコンポーネント
Queue
ECS
Job
Container Container
EC2 EC2
Jobの処理
ストレージ
S3
EFS
10AWS Batchのコンポーネント
Queue
ECS
Job
Container Container
EC2 EC2
Jobの処理
ストレージ
S3
EFS
• コンテナイメージ
• 要求するコンテナサイズ
(CPU, メモリ等)
• 実行するコマンド
• 並列数
11AWS Batchのコンポーネント
Queue
ECS
Job
Container Container
EC2 EC2
Jobの処理
ストレージ
S3
EFS
• ジョブを投入するキュー
12AWS Batchのコンポーネント
Queue
ECS
Job
Container Container
EC2 EC2
Jobの処理
ストレージ
S3
EFS
• Jobの処理を行うコンピューティング環境
• コンテナ(一時的な実行環境)のため、
データの永続化が必要になったらスト
レージへ
13今回のアップデートがもたらす効果とは
今回のアップデートが
もたらす効果とは
14AWS Batchのコンポーネント
Queue
ECS
Job
Container Container
EC2 EC2
Jobの処理
ストレージ
S3
EFS
これまではEC2のことを考えた運用が必要だった
• EC2の起動スピード
• EC2のスペック
• AMIの管理(パッチ適用)
• SSHキーの管理
15AWS Batchのコンポーネント
Queue
ECS
Job
Container Container
EC2 EC2
Jobの処理
ストレージ
S3
EFS
Fargate Fargate
NEW
• EC2の起動スピード
• EC2のスペック
• AMIの管理(パッチ適用)
• SSHキーの管理
Fargateへの置き換えで
検討が不要に!
16
これまでもFargateを用いた
定期実行はできた
17
AWS Batchを活用する意味とは
18今回のアップデートがもたらす効果とは
https://aws.amazon.com/jp/about-aws/whats-new/2018/08/aws-fargate-now-supports-time-and-event-based-task-scheduling/
引用元URL:
19今回のアップデートがもたらす効果とは
定期的に小負荷処理ならば
LambdaやFargateでOK
20今回のアップデートがもたらす効果とは
• AWS BatchでのBatch処理とは…
• 定期実行
• 大規模、並列計算
21今回のアップデートがもたらす効果とは
• AWS BatchでのBatch処理とは…
• 定期実行
• 大規模、並列計算
22今回のアップデートがもたらす効果とは
AWS Batchの利点
23今回のアップデートがもたらす効果とは
Queue
ECS
Job
Container Container
EC2 EC2
Jobの処理
ストレージ
S3
EFS
• リソース定義
→Jon毎に使用するリソースサイズを変更可能
• 並列数
→Jobの並列実行数(コンテナ数)を変更可能
• 実行コマンド
→引数を受け付けれるBatchアプリケーションならJob毎に処理を
変更可能
24今回のアップデートがもたらす効果とは
Queue
ECS
Job
Container Container
EC2 EC2
Jobの処理
ストレージ
S3
EFS
• キューイング
→大量の処理を待機させることができる
• 負荷分散
→一度に大量の処理を流さない、複数のインスタンスで処理
• 優先度
→優先度の高いキューに投入された処理からスケジュール可能
25今回のアップデートがもたらす効果とは
Queue
ECS
Job
Container Container
EC2 EC2
Jobの処理
ストレージ
S3
EFS
このようなマネージドな機能を備えつつ、
コンピューティング環境の起動まで行ってくれるのが
AWS Batchの嬉しいところ!!
26今回のアップデートがもたらす効果とは
• コンピューティングがFargateになることで
これまでになかった選択肢が!
• FargateのRun task並列実行数に引っかかるよ
うな処理をAWS Batchで行う
• 処理するジョブの重さ毎に実行するコンテナ
サイズを変更する
27まとめ
まとめ
28まとめ
• AWS BatchのコンピューティングにFargate
が選択可能に!
• EC2を利用しなくて済む場合には管理、実
行コストを抑えることができる
• これまで難しかった高いアジリティが必要
な処理をAWS Batchに任せられることができ
るようになった!
29まとめ
良い
AWS Batch
Lifeを!
AWS Batch Fargate対応は何をもたらすか

AWS Batch Fargate対応は何をもたらすか