Slide 1

Slide 1 text

コンテナを使ったバッチ実⾏ 環境を考える 〜FARGATE SPOTの使いどころ〜 ビッグツリーテクノロジー&コンサルティング 廣末丈⼠

Slide 2

Slide 2 text

廣末 丈⼠ • ⾃称フロントエンジニア • Serverless / コンテナ好き

Slide 3

Slide 3 text

AWSでコンテナを利⽤したバッチ環境 にどのサービスを使うか 悩んだことある⼈いますか?

Slide 4

Slide 4 text

EKS? ECS? Batch? Lambda? FARGATE? EC2?

Slide 5

Slide 5 text

どれでも良くない?

Slide 6

Slide 6 text

正解! ( 適材適所 ) プロジェクトコンテキスト ⾮機能要件(バッチレスポンス、コスト他)、運 ⽤要件、チーム構成を考慮の上であれば

Slide 7

Slide 7 text

バッチ処理とは 逐次⽣み出されるデータを⼀定期間集めたもの をバッチといい、このバッチ単位で⾏う処理の こと 今回対象とするバッチ処理 単位時間の処理量が決まっていないバッチ について検討

Slide 8

Slide 8 text

Lambda

Slide 9

Slide 9 text

props cons • 初期構築が容易 • バッチレスポンス(反映時間)が短い(イベント駆動、スト リーム処理) • 15分でタイムアウトする • コスト施策の打ち⼿が少ない(SPOTなし) イベント駆動アーキテクチャのコンポーネントであり、「単位時間の 処理量が決まっていないバッチ」には不適切なため、除外

Slide 10

Slide 10 text

EKS

Slide 11

Slide 11 text

props cons • 可搬性(ポータビリティ) • 運⽤コストが⾼い • コスト施策の打ち⼿が限られる(FARGATE_SPOTなし) ⾃ら本番で構築・運⽤したことないため、除外 2年以上前

Slide 12

Slide 12 text

ようやく本題

Slide 13

Slide 13 text

EKS? ECS? Batch? Lambda? SPOTは本番で使えるのか?

Slide 14

Slide 14 text

ü 業務継続性(稼働率) ü バッチレスポンス(起動 のオーバーヘッド) 確認ポイント

Slide 15

Slide 15 text

ü 業務継続性(稼働率) ü バッチレスポンス(起動 のオーバーヘッド)

Slide 16

Slide 16 text

業務継続性 ü 稼働率 ü バッチリトライ

Slide 17

Slide 17 text

SPOTの強制終了怖い?

Slide 18

Slide 18 text

ほぼ落ちません! 本番運⽤で困った記憶なし

Slide 19

Slide 19 text

スポットインスタンスアドバイザー https://aws.amazon.com/jp/ec2/spot/instance-advisor/

Slide 20

Slide 20 text

スポット価格履歴 EC2マネジメントコンソール「スポットリクエスト」→「料⾦設定履歴」

Slide 21

Slide 21 text

バッチリトライ ECS Batch キューを経由するためAPIレベルでサポート →業務継続性を平易に向上可能 未サポート サポート

Slide 22

Slide 22 text

AWS Batch 優勢か?

Slide 23

Slide 23 text

ü 業務継続性(稼働率) ü バッチレスポンス(起動 のオーバーヘッド)

Slide 24

Slide 24 text

起動のオーバーヘッド ‒ Batch FARGATE_SPOT 概ね20-30秒程度で起動する、定期実⾏に問題ない範囲

Slide 25

Slide 25 text

起動のオーバーヘッド ‒ Batch EC2(SPOT) EC2の初回起動コストが⾼い 反⾯、リソースがある場合の起動コストは、 FARGATEと同等かそれ以上 稼働しているリソース(EC2)がない場合は遅い

Slide 26

Slide 26 text

起動のオーバーヘッド ‒ ECS Task FARGATE_SPOT 概ね20秒程度で起動する、定期実⾏に問題ない範囲 10秒の差でリトライオプションが選択可能なら、私はそちらを選択したい

Slide 27

Slide 27 text

AWS Batchって⼤量データ向けでしょ?

Slide 28

Slide 28 text

リソース 0.25vCPU、512Mから実⾏可能 コスト - 1時間ごと、1回あたりの実⾏時間 15分、2vCPU、4Gの場合 Lambda FARGATE On Demand(最⼤ 70% 割引) → 8USD

Slide 29

Slide 29 text

まとめ ü ⾼レベルな業務継続性、バッチレスポンス(*1)を求められない場合 (ビッグデータ作成など)、Batch FARGATE_SPOTは有効な選択肢 となる *1) 引⽤元:⾮機能要求グレード https://www.ipa.go.jp/sec/softwareengineering/reports/20100416.html ü FARGATE利⽤で、0.25vCPU、512MByteから実⾏可能 ü FARGATE利⽤で、起動のオーバーヘッドも緩和される ü SPOTの強制終了は、リトライオプションでカバー ü SPOT利⽤でコストも劇的に低減できる

Slide 30

Slide 30 text

ご清聴ありがとうございました!