SlideShare une entreprise Scribd logo
1  sur  32
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Specialist SA, HPC
Daisuke Miyamoto
2021/08/26
AWS Batch × Spot:
AWS Fargate 対応記念! EC2 との使い分けは?
クラウド最適化コンテナ編
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
自己紹介
❏ 名前
宮本 大輔 (みやもと だいすけ)
❏ 所属
アマゾン ウェブ サービス ジャパン 株式会社
技術統括本部
Specialist Solutions Architect, HPC
❏ 好きな AWS サービス
❖ AWS ParallelCluster
❖ Amazon FSx for Lustre
❖ AWS Snow Family
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
今日お伝えしたいこと
• 大規模バッチ処理とはどのようなワークロードか
• AWS Batch はどのようなサービスか
• AWS Batch の AWS Fargate 対応と、EC2 との使い分け
• EC2/Fargate それぞれの スポットの活用方法
AWS Batch における EC2/Fargate の使い分けとスポット活用
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
大規模バッチ処理とは?
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
似て非なる『バッチ処理』
JobA
JobB
JobF
JobC
JobD
JobE
毎日23:00起動
土曜00:00起動
5:00までに完了
俗に言う『バッチ処理』は 2 種類ある
A) 定型業務における『バッチ処理』
夜間バッチのように、予めジョブの起動や順序を定義しておいて
ジョブの実行・管理をするシステム(ジョブネット等)
ミドルウェア例:Hinemos、SOS JobScheduler etc.
B) 大規模計算における『バッチ処理』
スーパーコンピュータ等で行う大規模科学計算、メディア処理、
CGレンダリング、機械学習における学習プロセス等アドホックな計算
ミドルウェア例:SGE、Torque、OpenLAVA etc.
本日お話するのはこちら
JobB JobA
JobA JobB
キューイング
セントラルマネージャ
submit
submit
dispatch dispatch
コンピューティングノード群
A)
B)
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
大規模バッチ処理の例:塗り絵
たくさんのマス目を別の色に塗り替えたいが
1 人だと1度に1マスしか塗れないので非常に時間がかかる
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
大規模バッチ処理の例:塗り絵
10人で塗れば、仕事の遅いヒトが居たとしても
全体としては早くすべてのマスを塗れる!
大量の計算リソースを使用することで短時間で処理を終わらせたい!
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
大規模バッチ処理の例:塗り絵
誰がどのマスを塗るのかを割り振る役割が必要
暇にならないように、塗り終わったら別のマスを割り振る
スケジューラが計算リソースにジョブを割り振る
(3, 6) のマ
スを塗っ
て
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
大規模バッチ処理の例:塗り絵
クラウドのスケーラビリティを活用すると
必要な時に多くのヒトを連れて来ることが可能!
いっぱい
連れてきた
処理の量に応じて計算リソースをスケールアウト!
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
DJ’s team has reduced the time to
on-board the model pipeline and
generate a full report from one week
for one scenario to under 12 hours
for multiple scenarios.
Now, the new model created by
JHSPH is being rolled out on AWS to
all 50 states and internationally to
help with making decisions that
directly impact the global spread of
COVID-19.
Whenscalingyourworkloadisamatterofsavinglives
https://www.allthingsdistributed.com/2020/04/scaling-covid19-model.html
https://github.com/HopkinsIDD/COVIDScenarioPipeline
ジョンズ・ホプキンス大学での COVID-19 拡散シナリオシミュレーション
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Mobileye 社での AWS Batch 活用例
大規模な自動運転のシミュレーション環境を AWS Batch を用いて構成
最大同時 500,000 CPU コアを利用して、1 時間あたり 70 年分のコンピューティング
を実行、S3 上のデータを1ヶ月あたり 100 PB 処理
スポットインスタンスを活用することでコスト効率よく大量の処理を実現
https://d1.awsstatic.com/events/reinvent/2019/Navigating_the_winding_road_toward_driverless_mobility_AUT307.pdf
40 万 vCPU
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
大規模バッチ処理環境を
どのように実現するか?
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Batch とは
• AWS Batch がインスタンスの起動や停止を
行うため、スケジューラや計算ノードなど
の 管理が不要
• ジョブは Docker コンテナイメージ を元に
作成し、自動でスケールするコンピュー
ティング環境で実行する
• コンピューティング環境ではインスタンス
タイプや vCPU 数、スポットインスタンス
利用有無などを任意に指定可能
大規模バッチ処理のため環境をフルマネージドで提供
コンテナイメージを用意するだけでスケーラブルな大規模バッチ処理環境が得られる
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Batch のアーキテクチャ
ユーザ
Elastic Container
Registry
Elastic Container Service Cluster
EC2 インスタンス
ジョブ
ジョブ定義
ジョブキュー
コンテナイメージ
Docker Hub
コンテナレジストリ
コンピューティング環境
S3
Elastic
File
System
コンテナ
Scale-Out
Scale-In
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Batch の Fargate/Fargate Spot 対応
AWS Batch のコンピューティング環境として、コンテナ向けサーバレ
ス環境である Fargate / Fargate Spot を選択可能に
• 0.25 vCPUなどの小さい単位でのリソース指定が可能
• CPU 負荷は高くないが、Lambda では対応が難しいような長時間の処
理に向く
• Fargate Platform version 1.3.0 / 1.4.0 に対応(2021年8月時点)
https://docs.aws.amazon.com/batch/latest/userguide/fargate.html
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Batch Fargate のアーキテクチャ
ユーザ
Elastic Container
Registry
Elastic Container Service Cluster
ジョブ
ジョブ定義
ジョブキュー
コンテナイメージ
Docker Hub
コンテナレジストリ
コンピューティング環境
S3
Elastic
File
System
Scale-Out
Scale-In
…
Fargate or Fargate Spot
※ EC2/Fargate は混在ができず、それぞれ用にジョブ定義・ジョブ・
ジョブキュー・コンピューティング環境を用意する必要がある
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
EC2 / Fargate の使い分けは?
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ジョブの起動が早いのは EC2 or Fargate?
「起動速度」にも2種類ある
• 単一のジョブの起動レイテンシとして考えた場合:EC2インスタンスの起動よりも
Fargateコンテナの方が高速に処理を開始できる
• 複数ジョブのスループットとして考えた場合:EC2は1台のインスタンス上で複数の
コンテナを実行可能だが、Fargateでは各コンテナごとに起動時間が必要となり時間
当たりのFargate起動数が課題になりやすい(更にEC2の場合は一度起動したインスタ
ンスはジョブが残っていれば再使用される)
Fargate EC2
起動
待ち
ジョブ1
起動
待ち
ジョブ2
起動
待ち
ジョブ3
処理時間
起動待ち
ジョブ1
処理時間
ジョブ2
ジョブ3
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
EC2/Fargate コスト比較
Fargate を活用することで、0.25 vCPU など小さなリソース割り当てが可能とな
るため、CPUに負荷がかからない処理の場合、コスト最適化が可能に
一方、ジョブが CPU を占有する場合は、Fargate よりも EC2 の方が安価になる
可能性が高い
• Fargate: 1 vCPU あたり 0.04048 USD/h※ + メモリ1GB あたり 0.004445 USD/h ※
= 2 vCPU/4GB Memory: 0.09874 USD/h ※
• EC2: c5.large (2 vCPU/4GB Memory): 0.085 USD/h※
※ 北バージニアリージョン でのオンデマンド価格
https://docs.aws.amazon.com/batch/latest/userguide/fargate.html
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Batch における EC2 / Fargate の使い分け例
前提として、AWS Batch では EC2 を使用する場合でも直接インスタンスを管理する
必要はない
EC2 が適しているケース
• 1 ジョブが複数の vCPU を占有する場合
• GPU / FPGA といったアクセラレータを使用する場合
• linuxParameters を使用する場合(共有メモリ、スワップメモリ設定など)
• 一度に大量のジョブ(100~)を投入する場合
Fargate が適しているケース
• 1 ジョブあたりの CPU・メモリ消費が大きくない場合
• 特に 1 vCPU 未満で済む場合
• 散発的にジョブが投入され、ジョブ投入から実行までの間隔を短くしたい場合
https://docs.aws.amazon.com/batch/latest/userguide/fargate.html
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
イー・コミュニケーションズ 様でのAWS Batch Fargate 活用例
AI を用いたオンライン試験不正監視サービス
画像分析のために外部 API を使用するが、同時 API 呼び出し数の最大値に合わせ
ることで、トータル処理時間を最小化したい
→ AWS Batch Fargate の最大コンテナ起動数設定により同時 API 呼び出し数を制御
(大量の画像解析を行うが、処理自体は外部APIを使用するため、各ジョブに割り当てる
vCPU は 小さくてよく、Fargate が適している)
Fargate
API 呼び出し
API 呼び出し
API 呼び出し
最大起動コンテナ数を設定
画像認識API
AWS Batch
大量の動画
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
EC2 Spot / Fargate Spot を
活用するには?
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ころんでも泣かないアーキテクチャ
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ころんでも泣かないアーキテクチャとは?
キャパシティの確保と中断に強い構成
• 個別のジョブの処理速度はそこまで気にしない
→ 多様なインスタンスタイプの選択
→ キャパシティの確保が容易に
• べき等なジョブ設計
→ 同じジョブが複数回実行されても問題ない
→ 中断が発生したらリトライするだけでよい
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
「ころんでも泣かない」を阻む要因と対策
以下のような特性があると「ころんだ時」に痛くなってしまう
• 1 つのジョブ処理時間が長い
• 短時間で終わるように処理を分割する
• 再実行された際に途中から処理を再開できるよう、定期的に結果
を S3/EFS に出力する、チェックポイント方式とする
• 一定時間内に処理を終わらせる必要がある
• スケールアウトにより短時間で処理を行い、リトライのための余
裕を持つ
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ころんでも泣かないアーキテクチャと AWS Batch
↓
スポットインスタンス活用
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
キャパシティの確保(EC2)
• 幅広いインスタンスタイプを選択する
• デフォルトのOptimal は、C4/M4/R4 のすべてのインスタンスサイズ
を含む
• より多くのキャパシティを必要とする場合は、C5などの最新タイプ
に加え C5d / C5n / C5a なども検討
(必要メモリ量に応じてC/M/Rを選択)
• Allocation Strategy に、Spot Capacity Optimized を選択
• 多くの Availability Zone を指定する
• 東京リージョンにこだわらず、スポット価格の安いリージョンを使用する
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
スポット中断対策(EC2)
• AWS Batch ではジョブに 再試行回数 を設定することが可能
これにより、インスタンスが中断しジョブが失敗した場合には自動で再実
行される
• Launch Template の UserDataで、ECS のドレイン機能を有効化する
https://aws.amazon.com/jp/about-aws/whats-new/2019/09/amazon-ecs-supports-automated-draining-for-spot-instances-running-ecs-
services/
スポット活用時の一般的なベストプラクティスである
「中断通知への対応」は必須ではない
むしろ、冪等なジョブになっていないなど、再試行設定だけでは対応できない
理由があれば、アーキテクチャを見直した方が良い場合も
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-spot.html
https://docs.aws.amazon.com/ja_jp/batch/latest/userguide/job_retries.html
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Fargate Spot の場合
基本となる考え方は EC2 での Spot 活用と同様
• 多くの Availability Zone を指定、Spot 価格の安価なリージョンを活用
• べき等にジョブを設計し、再試行回数を設定
Fargate Spot では考慮不要なポイント
• キャパシティ確保のためのインスタンスタイプの選択、Allocation Strategy
• ドレイン設定
より簡単に Spot の活用が可能
(当然、Fargate が適しているかや、必要なキャパシティが確保できるかについては別途考慮が必要)
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
スポットとオンデマンドの連携
ジョブのフローを工夫することで、オンデマンドインスタンスとスポットインス
タンスを組み合わせて利用することも可能
Spot 用
ジョブキュー Spot
コンピューティング環境
On-Demand 用
ジョブキュー On-Demand
コンピューティング環境
ユーザ
通常のジョブを
投入
優先度の高い
ジョブを投入
Spot 用キュー、On-Demand用キューを使い分ける
Simple Notification Service
Spot 用
ジョブキュー Spot 用
コンピューティング環境
On-Demand 用
ジョブキュー On-Demand 用
コンピューティング環境
ユーザ
ジョブを投入
Lambda
ジョブの失敗を通知
ジョブを投入
Spot インスタンスでの実行に失敗した際に
On-Demand用キューに再投入
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
【APN Ambassadors ブログシリーズ第二弾】
AWS Batch にてスポットインスタンスを適用してコストを最適化する
プロジェクトごとにリソースの取得や更新を行う
https://aws.amazon.com/jp/blogs/psa/apn-ambassadors-blog-002/
アイレット株式会社 廣山 豊様よりご寄稿
インスタンスが中断した場合
冪等性があるため、AWS Batch の再試
行設定をするのみ
(Slack への通知は行う)
インスタンスを起動できない場合
一定期間ごとにLambdaを起動し、
RUNNABLEステータスで滞留している
ジョブを検知・オンデマンド用ジョブ
キューに再投入、滞留しているジョブ
は削除
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
まとめ
• 大規模バッチ処理は、動画処理やパラメータ探索など多くの分野に
存在し、大量のジョブ全体の処理時間を短縮することが課題
• AWS Batch により、コンテナイメージを用意するだけで、必要な数
のコンテナを立ち上げて処理を行うことが可能
• AWS Batch の Fargate 対応により、これまでよりも幅広いワークロー
ドに対応可能
• CPU消費の小さいジョブをコスト効率よく実行
• ジョブ開始までの時間を短くしたい場合
• 「ころんでも泣かないアーキテクチャ」にすることで、EC2/Fargate
問わずスポットインスタンス活用が容易に
AWS Batch では EC2 / Fargate を使い分けることで
幅広いワークロードに対応
AWS Batch の詳細については Black Belt もご参照ください
https://www.slideshare.net/AmazonWebServicesJapan/20190911-aws-black-belt-online-seminar-aws-batch

Contenu connexe

Plus de Amazon Web Services Japan

202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...Amazon Web Services Japan
 
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operations20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operationsAmazon Web Services Japan
 
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報Amazon Web Services Japan
 
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをなAmazon Web Services Japan
 
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPNAmazon Web Services Japan
 
AWS IoT Coreを オンプレミス環境と使う際の アーキテクチャ例 (AWS IoT Deep Dive #5)
AWS IoT Coreを オンプレミス環境と使う際の アーキテクチャ例 (AWS IoT Deep Dive #5)AWS IoT Coreを オンプレミス環境と使う際の アーキテクチャ例 (AWS IoT Deep Dive #5)
AWS IoT Coreを オンプレミス環境と使う際の アーキテクチャ例 (AWS IoT Deep Dive #5)Amazon Web Services Japan
 
AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)
AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)
AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)Amazon Web Services Japan
 
製造装置データ収集の選択肢 (AWS IoT Deep Dive #5)
製造装置データ収集の選択肢 (AWS IoT Deep Dive #5)製造装置データ収集の選択肢 (AWS IoT Deep Dive #5)
製造装置データ収集の選択肢 (AWS IoT Deep Dive #5)Amazon Web Services Japan
 
IoT@Loft#20 - IoTプラットフォームを進化さ せるAWSの活用方法
IoT@Loft#20 - IoTプラットフォームを進化さ せるAWSの活用方法IoT@Loft#20 - IoTプラットフォームを進化さ せるAWSの活用方法
IoT@Loft#20 - IoTプラットフォームを進化さ せるAWSの活用方法Amazon Web Services Japan
 
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤Amazon Web Services Japan
 
01_2021年上半期 AWS IoT サービスアップデート
01_2021年上半期 AWS IoT サービスアップデート01_2021年上半期 AWS IoT サービスアップデート
01_2021年上半期 AWS IoT サービスアップデートAmazon Web Services Japan
 
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Amazon Web Services Japan
 
Tealium+AWS Analytics サービスで実現する Customer Experience(CX)
Tealium+AWS Analytics サービスで実現する Customer Experience(CX)Tealium+AWS Analytics サービスで実現する Customer Experience(CX)
Tealium+AWS Analytics サービスで実現する Customer Experience(CX)Amazon Web Services Japan
 
データ活用を加速するAWS分析サービスのご紹介
データ活用を加速するAWS分析サービスのご紹介データ活用を加速するAWS分析サービスのご紹介
データ活用を加速するAWS分析サービスのご紹介Amazon Web Services Japan
 
AWS Well-Architected Security とベストプラクティス
AWS Well-Architected Security とベストプラクティスAWS Well-Architected Security とベストプラクティス
AWS Well-Architected Security とベストプラクティスAmazon Web Services Japan
 

Plus de Amazon Web Services Japan (20)

202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
 
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operations20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
 
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
 
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
 
20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes
 
20211109 bleaの使い方(基本編)
20211109 bleaの使い方(基本編)20211109 bleaの使い方(基本編)
20211109 bleaの使い方(基本編)
 
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
 
AWS の IoT 向けサービス
AWS の IoT 向けサービスAWS の IoT 向けサービス
AWS の IoT 向けサービス
 
AWS IoT Coreを オンプレミス環境と使う際の アーキテクチャ例 (AWS IoT Deep Dive #5)
AWS IoT Coreを オンプレミス環境と使う際の アーキテクチャ例 (AWS IoT Deep Dive #5)AWS IoT Coreを オンプレミス環境と使う際の アーキテクチャ例 (AWS IoT Deep Dive #5)
AWS IoT Coreを オンプレミス環境と使う際の アーキテクチャ例 (AWS IoT Deep Dive #5)
 
AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)
AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)
AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)
 
製造装置データ収集の選択肢 (AWS IoT Deep Dive #5)
製造装置データ収集の選択肢 (AWS IoT Deep Dive #5)製造装置データ収集の選択肢 (AWS IoT Deep Dive #5)
製造装置データ収集の選択肢 (AWS IoT Deep Dive #5)
 
IoT@Loft#20 - IoTプラットフォームを進化さ せるAWSの活用方法
IoT@Loft#20 - IoTプラットフォームを進化さ せるAWSの活用方法IoT@Loft#20 - IoTプラットフォームを進化さ せるAWSの活用方法
IoT@Loft#20 - IoTプラットフォームを進化さ せるAWSの活用方法
 
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤
 
03_AWS IoTのDRを考える
03_AWS IoTのDRを考える03_AWS IoTのDRを考える
03_AWS IoTのDRを考える
 
02B_AWS IoT Core for LoRaWANのご紹介
02B_AWS IoT Core for LoRaWANのご紹介02B_AWS IoT Core for LoRaWANのご紹介
02B_AWS IoT Core for LoRaWANのご紹介
 
01_2021年上半期 AWS IoT サービスアップデート
01_2021年上半期 AWS IoT サービスアップデート01_2021年上半期 AWS IoT サービスアップデート
01_2021年上半期 AWS IoT サービスアップデート
 
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
 
Tealium+AWS Analytics サービスで実現する Customer Experience(CX)
Tealium+AWS Analytics サービスで実現する Customer Experience(CX)Tealium+AWS Analytics サービスで実現する Customer Experience(CX)
Tealium+AWS Analytics サービスで実現する Customer Experience(CX)
 
データ活用を加速するAWS分析サービスのご紹介
データ活用を加速するAWS分析サービスのご紹介データ活用を加速するAWS分析サービスのご紹介
データ活用を加速するAWS分析サービスのご紹介
 
AWS Well-Architected Security とベストプラクティス
AWS Well-Architected Security とベストプラクティスAWS Well-Architected Security とベストプラクティス
AWS Well-Architected Security とベストプラクティス
 

Dernier

TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
【修士論文】代替出勤者の選定業務における依頼順決定方法に関する研究   千坂知也
【修士論文】代替出勤者の選定業務における依頼順決定方法に関する研究   千坂知也【修士論文】代替出勤者の選定業務における依頼順決定方法に関する研究   千坂知也
【修士論文】代替出勤者の選定業務における依頼順決定方法に関する研究   千坂知也harmonylab
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
Summary of "ChatDoctor: A Medical Chat Model Fine-Tuned on a Large Language M...
Summary of "ChatDoctor: A Medical Chat Model Fine-Tuned on a Large Language M...Summary of "ChatDoctor: A Medical Chat Model Fine-Tuned on a Large Language M...
Summary of "ChatDoctor: A Medical Chat Model Fine-Tuned on a Large Language M...yoshidakids7
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦Sadao Tokuyama
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 

Dernier (13)

TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
【修士論文】代替出勤者の選定業務における依頼順決定方法に関する研究   千坂知也
【修士論文】代替出勤者の選定業務における依頼順決定方法に関する研究   千坂知也【修士論文】代替出勤者の選定業務における依頼順決定方法に関する研究   千坂知也
【修士論文】代替出勤者の選定業務における依頼順決定方法に関する研究   千坂知也
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
Summary of "ChatDoctor: A Medical Chat Model Fine-Tuned on a Large Language M...
Summary of "ChatDoctor: A Medical Chat Model Fine-Tuned on a Large Language M...Summary of "ChatDoctor: A Medical Chat Model Fine-Tuned on a Large Language M...
Summary of "ChatDoctor: A Medical Chat Model Fine-Tuned on a Large Language M...
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 

202109 AWS Black Belt Online Seminar AWS Batch x Spot: AWS Fargate 対応記念 EC2 との使い分けは?

  • 1. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Specialist SA, HPC Daisuke Miyamoto 2021/08/26 AWS Batch × Spot: AWS Fargate 対応記念! EC2 との使い分けは? クラウド最適化コンテナ編
  • 2. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 自己紹介 ❏ 名前 宮本 大輔 (みやもと だいすけ) ❏ 所属 アマゾン ウェブ サービス ジャパン 株式会社 技術統括本部 Specialist Solutions Architect, HPC ❏ 好きな AWS サービス ❖ AWS ParallelCluster ❖ Amazon FSx for Lustre ❖ AWS Snow Family
  • 3. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 今日お伝えしたいこと • 大規模バッチ処理とはどのようなワークロードか • AWS Batch はどのようなサービスか • AWS Batch の AWS Fargate 対応と、EC2 との使い分け • EC2/Fargate それぞれの スポットの活用方法 AWS Batch における EC2/Fargate の使い分けとスポット活用
  • 4. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 大規模バッチ処理とは?
  • 5. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 似て非なる『バッチ処理』 JobA JobB JobF JobC JobD JobE 毎日23:00起動 土曜00:00起動 5:00までに完了 俗に言う『バッチ処理』は 2 種類ある A) 定型業務における『バッチ処理』 夜間バッチのように、予めジョブの起動や順序を定義しておいて ジョブの実行・管理をするシステム(ジョブネット等) ミドルウェア例:Hinemos、SOS JobScheduler etc. B) 大規模計算における『バッチ処理』 スーパーコンピュータ等で行う大規模科学計算、メディア処理、 CGレンダリング、機械学習における学習プロセス等アドホックな計算 ミドルウェア例:SGE、Torque、OpenLAVA etc. 本日お話するのはこちら JobB JobA JobA JobB キューイング セントラルマネージャ submit submit dispatch dispatch コンピューティングノード群 A) B)
  • 6. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 大規模バッチ処理の例:塗り絵 たくさんのマス目を別の色に塗り替えたいが 1 人だと1度に1マスしか塗れないので非常に時間がかかる
  • 7. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 大規模バッチ処理の例:塗り絵 10人で塗れば、仕事の遅いヒトが居たとしても 全体としては早くすべてのマスを塗れる! 大量の計算リソースを使用することで短時間で処理を終わらせたい!
  • 8. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 大規模バッチ処理の例:塗り絵 誰がどのマスを塗るのかを割り振る役割が必要 暇にならないように、塗り終わったら別のマスを割り振る スケジューラが計算リソースにジョブを割り振る (3, 6) のマ スを塗っ て
  • 9. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 大規模バッチ処理の例:塗り絵 クラウドのスケーラビリティを活用すると 必要な時に多くのヒトを連れて来ることが可能! いっぱい 連れてきた 処理の量に応じて計算リソースをスケールアウト!
  • 10. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. DJ’s team has reduced the time to on-board the model pipeline and generate a full report from one week for one scenario to under 12 hours for multiple scenarios. Now, the new model created by JHSPH is being rolled out on AWS to all 50 states and internationally to help with making decisions that directly impact the global spread of COVID-19. Whenscalingyourworkloadisamatterofsavinglives https://www.allthingsdistributed.com/2020/04/scaling-covid19-model.html https://github.com/HopkinsIDD/COVIDScenarioPipeline ジョンズ・ホプキンス大学での COVID-19 拡散シナリオシミュレーション
  • 11. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Mobileye 社での AWS Batch 活用例 大規模な自動運転のシミュレーション環境を AWS Batch を用いて構成 最大同時 500,000 CPU コアを利用して、1 時間あたり 70 年分のコンピューティング を実行、S3 上のデータを1ヶ月あたり 100 PB 処理 スポットインスタンスを活用することでコスト効率よく大量の処理を実現 https://d1.awsstatic.com/events/reinvent/2019/Navigating_the_winding_road_toward_driverless_mobility_AUT307.pdf 40 万 vCPU
  • 12. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 大規模バッチ処理環境を どのように実現するか?
  • 13. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Batch とは • AWS Batch がインスタンスの起動や停止を 行うため、スケジューラや計算ノードなど の 管理が不要 • ジョブは Docker コンテナイメージ を元に 作成し、自動でスケールするコンピュー ティング環境で実行する • コンピューティング環境ではインスタンス タイプや vCPU 数、スポットインスタンス 利用有無などを任意に指定可能 大規模バッチ処理のため環境をフルマネージドで提供 コンテナイメージを用意するだけでスケーラブルな大規模バッチ処理環境が得られる
  • 14. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Batch のアーキテクチャ ユーザ Elastic Container Registry Elastic Container Service Cluster EC2 インスタンス ジョブ ジョブ定義 ジョブキュー コンテナイメージ Docker Hub コンテナレジストリ コンピューティング環境 S3 Elastic File System コンテナ Scale-Out Scale-In
  • 15. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Batch の Fargate/Fargate Spot 対応 AWS Batch のコンピューティング環境として、コンテナ向けサーバレ ス環境である Fargate / Fargate Spot を選択可能に • 0.25 vCPUなどの小さい単位でのリソース指定が可能 • CPU 負荷は高くないが、Lambda では対応が難しいような長時間の処 理に向く • Fargate Platform version 1.3.0 / 1.4.0 に対応(2021年8月時点) https://docs.aws.amazon.com/batch/latest/userguide/fargate.html
  • 16. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Batch Fargate のアーキテクチャ ユーザ Elastic Container Registry Elastic Container Service Cluster ジョブ ジョブ定義 ジョブキュー コンテナイメージ Docker Hub コンテナレジストリ コンピューティング環境 S3 Elastic File System Scale-Out Scale-In … Fargate or Fargate Spot ※ EC2/Fargate は混在ができず、それぞれ用にジョブ定義・ジョブ・ ジョブキュー・コンピューティング環境を用意する必要がある
  • 17. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EC2 / Fargate の使い分けは?
  • 18. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ジョブの起動が早いのは EC2 or Fargate? 「起動速度」にも2種類ある • 単一のジョブの起動レイテンシとして考えた場合:EC2インスタンスの起動よりも Fargateコンテナの方が高速に処理を開始できる • 複数ジョブのスループットとして考えた場合:EC2は1台のインスタンス上で複数の コンテナを実行可能だが、Fargateでは各コンテナごとに起動時間が必要となり時間 当たりのFargate起動数が課題になりやすい(更にEC2の場合は一度起動したインスタ ンスはジョブが残っていれば再使用される) Fargate EC2 起動 待ち ジョブ1 起動 待ち ジョブ2 起動 待ち ジョブ3 処理時間 起動待ち ジョブ1 処理時間 ジョブ2 ジョブ3
  • 19. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EC2/Fargate コスト比較 Fargate を活用することで、0.25 vCPU など小さなリソース割り当てが可能とな るため、CPUに負荷がかからない処理の場合、コスト最適化が可能に 一方、ジョブが CPU を占有する場合は、Fargate よりも EC2 の方が安価になる 可能性が高い • Fargate: 1 vCPU あたり 0.04048 USD/h※ + メモリ1GB あたり 0.004445 USD/h ※ = 2 vCPU/4GB Memory: 0.09874 USD/h ※ • EC2: c5.large (2 vCPU/4GB Memory): 0.085 USD/h※ ※ 北バージニアリージョン でのオンデマンド価格 https://docs.aws.amazon.com/batch/latest/userguide/fargate.html
  • 20. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Batch における EC2 / Fargate の使い分け例 前提として、AWS Batch では EC2 を使用する場合でも直接インスタンスを管理する 必要はない EC2 が適しているケース • 1 ジョブが複数の vCPU を占有する場合 • GPU / FPGA といったアクセラレータを使用する場合 • linuxParameters を使用する場合(共有メモリ、スワップメモリ設定など) • 一度に大量のジョブ(100~)を投入する場合 Fargate が適しているケース • 1 ジョブあたりの CPU・メモリ消費が大きくない場合 • 特に 1 vCPU 未満で済む場合 • 散発的にジョブが投入され、ジョブ投入から実行までの間隔を短くしたい場合 https://docs.aws.amazon.com/batch/latest/userguide/fargate.html
  • 21. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. イー・コミュニケーションズ 様でのAWS Batch Fargate 活用例 AI を用いたオンライン試験不正監視サービス 画像分析のために外部 API を使用するが、同時 API 呼び出し数の最大値に合わせ ることで、トータル処理時間を最小化したい → AWS Batch Fargate の最大コンテナ起動数設定により同時 API 呼び出し数を制御 (大量の画像解析を行うが、処理自体は外部APIを使用するため、各ジョブに割り当てる vCPU は 小さくてよく、Fargate が適している) Fargate API 呼び出し API 呼び出し API 呼び出し 最大起動コンテナ数を設定 画像認識API AWS Batch 大量の動画
  • 22. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EC2 Spot / Fargate Spot を 活用するには?
  • 23. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ころんでも泣かないアーキテクチャ
  • 24. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ころんでも泣かないアーキテクチャとは? キャパシティの確保と中断に強い構成 • 個別のジョブの処理速度はそこまで気にしない → 多様なインスタンスタイプの選択 → キャパシティの確保が容易に • べき等なジョブ設計 → 同じジョブが複数回実行されても問題ない → 中断が発生したらリトライするだけでよい
  • 25. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 「ころんでも泣かない」を阻む要因と対策 以下のような特性があると「ころんだ時」に痛くなってしまう • 1 つのジョブ処理時間が長い • 短時間で終わるように処理を分割する • 再実行された際に途中から処理を再開できるよう、定期的に結果 を S3/EFS に出力する、チェックポイント方式とする • 一定時間内に処理を終わらせる必要がある • スケールアウトにより短時間で処理を行い、リトライのための余 裕を持つ
  • 26. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ころんでも泣かないアーキテクチャと AWS Batch ↓ スポットインスタンス活用
  • 27. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. キャパシティの確保(EC2) • 幅広いインスタンスタイプを選択する • デフォルトのOptimal は、C4/M4/R4 のすべてのインスタンスサイズ を含む • より多くのキャパシティを必要とする場合は、C5などの最新タイプ に加え C5d / C5n / C5a なども検討 (必要メモリ量に応じてC/M/Rを選択) • Allocation Strategy に、Spot Capacity Optimized を選択 • 多くの Availability Zone を指定する • 東京リージョンにこだわらず、スポット価格の安いリージョンを使用する
  • 28. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. スポット中断対策(EC2) • AWS Batch ではジョブに 再試行回数 を設定することが可能 これにより、インスタンスが中断しジョブが失敗した場合には自動で再実 行される • Launch Template の UserDataで、ECS のドレイン機能を有効化する https://aws.amazon.com/jp/about-aws/whats-new/2019/09/amazon-ecs-supports-automated-draining-for-spot-instances-running-ecs- services/ スポット活用時の一般的なベストプラクティスである 「中断通知への対応」は必須ではない むしろ、冪等なジョブになっていないなど、再試行設定だけでは対応できない 理由があれば、アーキテクチャを見直した方が良い場合も https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-spot.html https://docs.aws.amazon.com/ja_jp/batch/latest/userguide/job_retries.html
  • 29. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Fargate Spot の場合 基本となる考え方は EC2 での Spot 活用と同様 • 多くの Availability Zone を指定、Spot 価格の安価なリージョンを活用 • べき等にジョブを設計し、再試行回数を設定 Fargate Spot では考慮不要なポイント • キャパシティ確保のためのインスタンスタイプの選択、Allocation Strategy • ドレイン設定 より簡単に Spot の活用が可能 (当然、Fargate が適しているかや、必要なキャパシティが確保できるかについては別途考慮が必要)
  • 30. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. スポットとオンデマンドの連携 ジョブのフローを工夫することで、オンデマンドインスタンスとスポットインス タンスを組み合わせて利用することも可能 Spot 用 ジョブキュー Spot コンピューティング環境 On-Demand 用 ジョブキュー On-Demand コンピューティング環境 ユーザ 通常のジョブを 投入 優先度の高い ジョブを投入 Spot 用キュー、On-Demand用キューを使い分ける Simple Notification Service Spot 用 ジョブキュー Spot 用 コンピューティング環境 On-Demand 用 ジョブキュー On-Demand 用 コンピューティング環境 ユーザ ジョブを投入 Lambda ジョブの失敗を通知 ジョブを投入 Spot インスタンスでの実行に失敗した際に On-Demand用キューに再投入
  • 31. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 【APN Ambassadors ブログシリーズ第二弾】 AWS Batch にてスポットインスタンスを適用してコストを最適化する プロジェクトごとにリソースの取得や更新を行う https://aws.amazon.com/jp/blogs/psa/apn-ambassadors-blog-002/ アイレット株式会社 廣山 豊様よりご寄稿 インスタンスが中断した場合 冪等性があるため、AWS Batch の再試 行設定をするのみ (Slack への通知は行う) インスタンスを起動できない場合 一定期間ごとにLambdaを起動し、 RUNNABLEステータスで滞留している ジョブを検知・オンデマンド用ジョブ キューに再投入、滞留しているジョブ は削除
  • 32. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. まとめ • 大規模バッチ処理は、動画処理やパラメータ探索など多くの分野に 存在し、大量のジョブ全体の処理時間を短縮することが課題 • AWS Batch により、コンテナイメージを用意するだけで、必要な数 のコンテナを立ち上げて処理を行うことが可能 • AWS Batch の Fargate 対応により、これまでよりも幅広いワークロー ドに対応可能 • CPU消費の小さいジョブをコスト効率よく実行 • ジョブ開始までの時間を短くしたい場合 • 「ころんでも泣かないアーキテクチャ」にすることで、EC2/Fargate 問わずスポットインスタンス活用が容易に AWS Batch では EC2 / Fargate を使い分けることで 幅広いワークロードに対応 AWS Batch の詳細については Black Belt もご参照ください https://www.slideshare.net/AmazonWebServicesJapan/20190911-aws-black-belt-online-seminar-aws-batch