AWS Batchとアップデートについて
〜AKIBA.AWS #14 番外編〜
⻄⼭ 祐司
2019/07/17
1
2⾃⼰紹介
• 名前:⻄⼭ 祐司
(ブログ:ニシヤマ ユウジ)
• ⼊社⽇:2019年3⽉1⽇
• 所属:AWS事業本部 コンサルティング部
• 前職:⾃社Webサービスのインフラエンジ
ニア
• 好きなAWSサービス:RDS、AutoScaling
3
AWS Batchについて!
4最初に認識合わせ
バッチ処理とは
対象データをまとめておき、⼀連の流れに沿った処理を
⼀括で実⾏していくこと
※バッチ=「束ねた」
反対
• オンライン処理:⼀件毎のデータの即時実⾏
• トランザクション処理:関係のある不可分な処理
5AWS Batchさらっとおさらい
AWS Batchとは
• フルマネージド型バッチ処理実⾏サービス
• re:Invent 2016で発表(2017/01⼀般提供)
• EC2、AutoScaling、SQSなどのクラスタ管理が不要
• 利⽤者はアプリケーションとリソースのみ管理
• S3、EFSなどをOUTPUT先に利⽤可能
6AWS Batchさらっとおさらい
AWS Batch構成要素
構成要素 概要 説明
Job(ジョブ) 実際に実⾏される処理単位 Jobをサブミット(登録)すると
処理が開始
終了までステータス管理
JobDefinitions
(ジョブ定義)
ジョブ実⾏するための設定
テンプレート
Dockerイメージ、コマンド、
vCPU、メモリ、環境変数など
JobQueues
(ジョブキュー)
実⾏待ちジョブを貯めてお
くところ
実⾏優先度を設定、
ComputeEnvironmentsと紐付け
ComputeEnvironments
(コンピューティング
環境)
実際にジョブが実⾏される
リソース
IAMRole、VPC設定など、EC2⽴
ち上げるレベルの設定
7
https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-2017-aws-batch
8
AWS Batchのアップデート
9ここからアップデート情報
AWS Batchの情報収集にあたりBlack Beltスライドを
⾒てサービス詳細情報などを確認していたところ問題
が....
10ここからアップデート情報
11ここからアップデート情報
資料がアップデートされて無い!
12
ちゃんとアップデートあります
13[アップデート]配列ジョブに対応
アップデート前
⼤量のファイルなどを⼀つのJob(処理単位)で処理が必要
アップデート後
⼀度のJob登録で複数Job(2〜10,000)の実⾏が可能に
• 同じオペレーションを⼤量のファイルに⾏う場合に効率的
14
タイトルだけを⼤きく⾒せます
https://dev.classmethod.jp/cloud/aws/aws-reinvent-batch-array/
15[アップデート]CloudWatchイベントに対応
アップデート前
AWS BatchはJobキューにJobが登録されてから実⾏するも
の
アップデート後
CloudWatchイベントを利⽤して以下の様な実⾏⽅法が可能
に
• AWS内のイベントをキャッチしてバッチ実⾏
• EC2/RDSが起動したらバッチ処理実⾏等
• cron形式で時間を指定して定期実⾏
16
タイトルだけを⼤きく⾒せます
https://dev.classmethod.jp/cloud/aws/batch-cloudwatch-events/
17[アップデート]Jobのタイムアウトによる⾃動停⽌
アップデート前
タイムアウトしないのでJobが残り続ける
• 今ジョブがどんな状態なのかがわかりづらい
アップデート後
事前に設定したタイムアウト時間を超えるジョブは終了
18
タイトルだけを⼤きく⾒せます
https://dev.classmethod.jp/cloud/aws/aws-batch-timeout/
19
AWS Batchの使い⽅
20AWS Batchの使い⽅(ざっくり)
Amazon Simple Storage
Service (S3)
AWS Batch Amazon Simple Storage
Service (S3)
AWS Batch Amazon Simple Storage
Service (S3)
Job1
Job2
(Job1に依存)
■実際のユースケース
深層学習、ゲノム解析、アニメーションレンダリング、イメージ処理など
21AWS Batchまとめ
1. 機能アップデートの頻度はそこまで⾼くない
2. スケジュール実⾏などのアップデートでかなり利⽤
しやすくなった
3. インフラ管理不要でAWSの膨⼤なリソースを使った
バッチ処理が可能
時間のかかる処理を⼤量に実施する場合は是⾮検
討してみてください
22さいごに
AWS Batchについてのわかりやすい記事が
弊社Blogで公開されてました
23今⽇公開されました
https://dev.classmethod.jp/cloud/aws/relay_looking_back_aws-batch/
24

AWS Batchとアップデートについて