SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Mehr von Amazon Web Services Japan

202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用Amazon Web Services Japan
 
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdfAmazon Web Services Japan
 
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介Amazon Web Services Japan
 
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon Web Services Japan
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチAmazon Web Services Japan
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介Amazon Web Services Japan
 
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer ProfilesAmazon Web Services Japan
 
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Web Services Japan
 
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨Amazon Web Services Japan
 
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介Amazon Web Services Japan
 
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介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
 
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ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
 

Mehr von Amazon Web Services Japan (20)

202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
 
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
 
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
 
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDD
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
 
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
 
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
 
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
 
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
 
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
 
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 ...
 
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
 
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
 

Kürzlich hochgeladen

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 

Kürzlich hochgeladen (8)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 

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