Slide 1

Slide 1 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Amazon Web Services Japan, K.K. Solution Architect 川村 誠 スポットインスタンス/インスタンスフリート を活⽤した Amazon EMR のコスト最適化 #ScaleMoreWithSpot

Slide 2

Slide 2 text

© 2020, Amazon Web Services, Inc. or its Affiliates. ⾃⼰紹介 川村 誠 Hadoop/Spark スペシャリスト ソリューションアーキテクト • データ分析系サービスを担当 • 好きなサービス • Amazon EMR • Amazon Athena • AWS Glue • Amazon SageMaker

Slide 3

Slide 3 text

© 2020, Amazon Web Services, Inc. or its Affiliates. ⼤規模計算処理ワークロードの技術選定 Amazon EC2 + Auto Scaling AWS Batch Amazon EMR 特徴と主な⽤途 • フルスクラッチでの構築 • オンプレミスで稼働する アプリケーションのマイ グレーション • 全て⾃前で管理 • 汎⽤的な分散コンピューティング • マネージドサービス • データの分散処理に特化 • 「マネージドフレームワーク」 処理の仕組み • 任意の要件 • 分散処理のタスクに、どのような 処理を割り当てるのか⾃分で定義 する • データ分析フレームワークにデータ (のディレクトリ)を渡す。分散処理の タスクへの処理割り当ては、フレー ムワークが⾃動的に⾏う おすすめの 利⽤シーン • 任意の要件 • データの量、スキーマが決まって いる • パラメータの組を渡して少しずつ 計算を変化させたい • データの量、スキーマが変動する可 能性がある • ⼤量のログデータの変換・加⼯・分 析をフレームワークに任せたい ランタイム環境 • 任意の要件 • コンテナ化が容易 • 既存のライブラリ、⾔語フレーム ワークを使いたい • EMRのサポートするランタイム (Apache Hadoop, Apache Spark, Apache Hive, Prestoなど)を使いたい 費⽤の考慮点 • EC2インスタンスの料⾦ • 下回りのEC2インスタンスの料⾦ • ジョブを制御する仕組みに費⽤が 掛からない • 下回りのEC2インスタンスの料⾦ + EMR料⾦ • ジョブを制御するマスターノードに も費⽤が掛かる

Slide 4

Slide 4 text

© 2020, Amazon Web Services, Inc. or its Affiliates. l ビックデータ活⽤の課題 l EMR でスポットインスタンスを利⽤するメリット l EMR でスポットインスタンスを使いこなすための機能 インスタンスフリート l demo / ベンチマーク Agenda

Slide 5

Slide 5 text

© 2020, Amazon Web Services, Inc. or its Affiliates. ビックデータ活⽤の課題

Slide 6

Slide 6 text

© 2020, Amazon Web Services, Inc. or its Affiliates. データの幅が広がるにつれ、コストも増加する * IDC, Data Age 2025: The Evolution of Data to Life-Critical: Donʼt Focus on Big Data, Focus on the Data Thatʼs Big, April 2017. データ 5年毎 想像を超えるデータ量 15年 運⽤期間 データプラットフォーム 1,000倍 スケール 10倍以上 成⻑率 より多様なデータ

Slide 7

Slide 7 text

© 2020, Amazon Web Services, Inc. or its Affiliates. より幅広いワークロード より多くのユーザーが データにアクセスする それぞれ異なる⽅法で 分析する 機械学習 SQL分析 科学技術計算 リアルタイム データ分析 データサイエンティスト 分析 ビジネスユーザー アプリケーション

Slide 8

Slide 8 text

© 2020, Amazon Web Services, Inc. or its Affiliates. ビッグデータ活⽤に必要なもの 課題 ビジネスアプリケーションに 対して増え続ける10倍以上の データ ワークロードの広がりに伴う 対処⽅法の多様化 ニーズ スケーラビリティ 性能 低コスト

Slide 9

Slide 9 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Amazon EMR でスポットインスタンス を利⽤するメリット

Slide 10

Slide 10 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Amazon EMR: 任意のサイズに拡張可能 • コンピューティング(EMR) とストレージ(S3)を個別に スケーリング可能 • PB から EBまで、あらゆる 量のデータを保存/処理可能 • 1、100、はたまた数千ノー ドのクラスターをプロビ ジョニング可能 • オートスケーリング可能 Data Lake on AWS Amazon EMR Amazon S3

Slide 11

Slide 11 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Amazon EMR: ⾼可⽤性と耐久性 • 99.999999999 % の耐久性とコスト効率の良い Amazon S3 をストレージとして利⽤可能 • EMR は、クラスターを監視し、パフォーマンスの 低いノードと障害が発⽣したノードを置き換え、 サービスを再起動する

Slide 12

Slide 12 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Amazon EMR を利⽤するメリット ⾃動化 疎結合 弾⼒性 統合 低コスト 継続的な更新

Slide 13

Slide 13 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Amazon EMR: 弾⼒性を実現するアーキテクチャ マスターノード: クラスターを制御するノード で、タスクのステータスを管理し、クラスタ ーの状態を監視する コアノード: タスクを実⾏し、クラスター上で Hadoop 分散ファイルシステム(HDFS) にデー タを保存するノード タスクノード: タスクのみを実⾏し、HDFS に データを保存しないオプションノード Master instance fleet HDFS HDFS Amazon EMR cluster Task instance fleet Core instance fleet

Slide 14

Slide 14 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Amazon EMR: コンピュートとストレージの分離で低コストを実現 Amazon S3 Amazon S3 Amazon EMR Amazon S3 Amazon EMR

Slide 15

Slide 15 text

© 2020, Amazon Web Services, Inc. or its Affiliates. スポットインスタンスで得られる EMR のメリット 計算処理を加速 スポットインスタンス を利⽤するとオンデマ ンドインスタンスを利 ⽤する料⾦で、よりた くさんのインスタンス を実⾏可能 さらなるコスト削減 オンデマンド価格 の最⼤ 90 % 割引 でインスタンスを 利⽤可能 スケールに合わせて構築 短期間に⼤規模な データを処理する ジョブを迅速に ⽴ち上げる

Slide 16

Slide 16 text

© 2020, Amazon Web Services, Inc. or its Affiliates. # Parallelized nodes Time スポットインスタンス利⽤でワークロードの 並列度を上げ、ジョブの実⾏時間を短縮できる ジョブ実⾏時間: 1 時間 # Parallelized nodes Time ジョブ実⾏時間: 50 時間 オンデマンドインスタンス x5 ノード スポットインスタンスを 利⽤すると同じコストで 最⼤10倍のインスタンス を利⽤できる オンデマンドインスタンス の最⼤10倍の並列度

Slide 17

Slide 17 text

© 2020, Amazon Web Services, Inc. or its Affiliates. オンデマンドインスタンスとスポットインスタンスで 柔軟なサービスレベルを定義できる コアノードに オンデマンド インスタンス を利⽤ EC2 の標準位利⽤料で コストを計算可能 予測可能なコストでサービス レベルにあったクラスターを 構築可能 サービスレベルを超える予測 不可能なワークロードに対す るリソースコストをスポット インスタンスで極⼩化可能 タスクノードに スポット インスタンス を利⽤ オンデマンド価格 の最⼤ 90 % 割引 価格 EMR クラスター

Slide 18

Slide 18 text

© 2020, Amazon Web Services, Inc. or its Affiliates. スポットインスタンスが中断するとどうなりますか︖

Slide 19

Slide 19 text

© 2020, Amazon Web Services, Inc. or its Affiliates. スポットインスタンスが中断した場合の アプリケーションの動作 ü スポットインスタンスが中断/停⽌した場合、コア ノード/タスクノードのリソースを EMR が補充 ü 実⾏されているアプリケーションが失敗した場合、 Hadoop/Spark の仕組み (YARN) がアプリケーション を⾃動的に再実⾏ ü アプリケーションのタスクが失敗した場合、アプリ ケーション(AM) がタスクを再実⾏

Slide 20

Slide 20 text

© 2020, Amazon Web Services, Inc. or its Affiliates. 事例紹介

Slide 21

Slide 21 text

© 2020, Amazon Web Services, Inc. or its Affiliates. EMR on スポットインスタンスで AWS の スケーラビリティを活⽤ わずかの費⽤で AWS のスケーラビリティ を利⽤できる • ⾃動的にスケールアウト/スケールイン可能 • 1 台から数千台のノードをプロビジョニング 可能 • 様々なインスタンスタイプにまたがるオンデ マンドインスタンスとスポットインスタンス を選択可能 “これらのスポットインスタンスは24時間365⽇稼 働していないため、マシンが必要なときにのみ使 ⽤することで、⼤幅な費⽤を節約しています。” Brain Filppu, Director of Business Intelligence, Zillow Group オンデマンドインスタンスとスポットインスタン スで EMR を実⾏することで、Zillow はインスタ ンスタイプ間で計算を⾃動的にスケールインおよ びスケールアウトできます

Slide 22

Slide 22 text

© 2020, Amazon Web Services, Inc. or its Affiliates. EMR on スポットインスタンスでビッグデータコスト をさらに削減 “ AWS を利⽤すると、⽇々のコンピューティン グタスクにかかる全体的なコストを含め、柔軟 にキャパシティの変更とインフラストラクチャ 全体の成⻑を管理できます ” Roopak Gupta Vice President, Software Engineering, Salesforce DMP スポットインスタンスで 計算にかかるコストを 75-90% 節約 Salesforce はインタラクティブジョブのパフォーマン スの増加を観察し、オンデマンド価格と⽐較して 80% を節約しました。 安価で予測可能な価格 低い中断率(<5%) ⼊札不要

Slide 23

Slide 23 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Salesforce Audience Studio オーディエンスをセグメント化 データの収集と保存 ユーザ個別にデータを統合 Online behavior, offline purchases, etc. “Cereal moms” Rich consumer profiles

Slide 24

Slide 24 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Salesforce Audience Studio Real-time user activities ~ 200+k qps ~ 17B data points/day S3 Storage ~ 70+PB Users Application Application metrics ~ 2.0M/sec Offline log ingestion ~ 10s of TB/day User activation ~ 10s of billions of user segments EMR Clusters ~ 2500 clusters/day EMR Instances > 200k instance hours per day 85%+ on EC2 Spot

Slide 25

Slide 25 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Real-world example of 7.2hr Job Lead Count (EC2 On- Demand) 3 nodes (1 master & 2 core) Task Count (EC2 Spot) 38 nodes Amazon EMR Cost Total Per Instance Cost $13.44 $4.80 – - Job Total $40.32 $182.53 $129.11 $351.96 Job Total if On-Demand $40.32 $510.72 $129.11 $680.15

Slide 26

Slide 26 text

© 2020, Amazon Web Services, Inc. or its Affiliates. EMR でスポットインスタンスを使いこなす ための機能: インスタンスフリート

Slide 27

Slide 27 text

© 2020, Amazon Web Services, Inc. or its Affiliates. インスタンスフリートとは • 指定した複数のインスタンスタイプリストから、スポット / オンデマンドで インスタンスをプロビジョニング可能とする機能 • 容量/価格に基づいて最適なアベイラビリティゾーンを EMR が選択 • スポットブロックをサポート(最⼤6時間) Master nodes Task instances Core instances

Slide 28

Slide 28 text

© 2020, Amazon Web Services, Inc. or its Affiliates. EMR のインスタンスフリートに最適な スポットインスタンス ü ノードは、オンデマンドインスタンスとスポット インスタンスが混在するように設定可能 ü 最も低い価格で最⼤容量のインスタンスに最適化 されます ü タスクノード内のスポットインスタンスが再利⽤ されると、フリート内の別のインスタンスによっ て置き換えられます

Slide 29

Slide 29 text

© 2020, Amazon Web Services, Inc. or its Affiliates. スポットインスタンスの中断発⽣率を 抑える機能 (Allocation Strategy) が利⽤可能に 新機能 ü Allocation Strategy を利⽤すると、タスクインスタンスフリートに 指定可能なインスタンスタイプ数が5種類から15種類に拡張され、 インスタンスの確保がより容易に ü 起動するインスタンスの数に対して最適な容量を持つ (確保が容易/ 中断が発⽣しにくい) スポットインスタンスを起動 https://aws.amazon.com/jp/blogs/big-data/optimizing-amazon-emr-for-resilience-and-cost-with-capacity- optimized-spot-instances/

Slide 30

Slide 30 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Spot Instance Advisor の活⽤ https://aws.amazon.com/ec2/spot/instance-advisor/

Slide 31

Slide 31 text

© 2020, Amazon Web Services, Inc. or its Affiliates. さまざまなシナリオでオンデマンドインスタンスと スポットインスタンスを組み合わせて活⽤する Scenario Master node Core nodes Task nodes ⻑時間稼働クラスターと データウェアハウス On-demand On-demand or instance-fleet mix Spot or instance- fleet mix コスト重視ワークロード Spot Spot Spot データクリティカルな ワークロード On-demand On-demand Spot or instance- fleet mix アプリケーションテスト Spot Spot Spot Ref: ガイドラインとベストプラクティス https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-instances-guidelines.html

Slide 32

Slide 32 text

© 2020, Amazon Web Services, Inc. or its Affiliates. クラスターを⾃動的にサイズ変更して コストを削減することが可能に 新機能 ü Managed Scaling を利⽤すると、ワークロードに基づいてクラスターリソースの サイズを⾃動的に EMR が決定し、パフォーマンスの最⼤化とコストの最⼩化を 実現することが可能 ü 10 秒未満でワークロードの要求を満たすようにクラスタを⾃動的に拡張し、 コストを最⼤ 60% 節約可能 ü インスタンスフリートにも対応しており、オンデマンドインスタンスとスポット インスタンスをクラスター内でシームレスに増減する https://aws.amazon.com/jp/blogs/big-data/introducing-amazon-emr-managed-scaling-automatically-resize- clusters-to-lower-cost/

Slide 33

Slide 33 text

© 2020, Amazon Web Services, Inc. or its Affiliates. クラスターを⾃動的にサイズ変更して コストを削減することが可能に 新機能 ü 下記パラメータを設定するだけで利⽤可能 • 最⼩ – クラスターの最⼩ユニット数 • 最⼤ – クラスターの最⼤ユニット数 • オンデマンド制限 – オンデマンドユニット数の上限 • 最⼤コアノード数 – コアノードユニット数の上限 ü 制限事項 • Spark、Hadoop、Hive、Flinkなどの YARN アプリケーションでのみ機能 • EMR-6.0.0 を除く、EMR-5.30.0 以降の EMR で利⽤可能 https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-scaling.html

Slide 34

Slide 34 text

© 2020, Amazon Web Services, Inc. or its Affiliates. クラスターを⾃動的にサイズ変更して コストを削減することが可能に 新機能 ü Managed Scaling が有効になっていると、1 分単位の粒度でクラスターの メトリクスを確認可能 https://docs.aws.amazon.com/emr/latest/ManagementGuide/managed-scaling-metrics.html

Slide 35

Slide 35 text

© 2020, Amazon Web Services, Inc. or its Affiliates. demo

Slide 36

Slide 36 text

© 2020, Amazon Web Services, Inc. or its Affiliates. demo: スポットインスタンスを利⽤したクラスターの起動 VPC AWS Cloud Public subnet Amazon S3 Amazon EMR Internet gateway Cluster AWS Management Console User Client The Internet

Slide 37

Slide 37 text

© 2020, Amazon Web Services, Inc. or its Affiliates. ベンチマーク

Slide 38

Slide 38 text

© 2020, Amazon Web Services, Inc. or its Affiliates. ベンチマーク • Hadoop のベンチマークツール TeraSort(※) を利⽤し、スポット インスタンス利⽤効果を確認する ※ TeraSort は⼤量データのソート処理を実⾏するツール ( Hadoop のライブラリに同梱されている ) • オンデマンドインスタンスとスポットインスタンスをそれぞれ 利⽤し、1時間あたり同じ料⾦がかかるクラスターを準備、 処理にかかる時間とコストを⽐較する • 今回、50 GB, 100 GB のデータを対象に TeraSort を実⾏する

Slide 39

Slide 39 text

© 2020, Amazon Web Services, Inc. or its Affiliates. ベンチマーク l 東京リージョンを使⽤ l インスタンスタイプに r5d.xlarge を使⽤ – オンデマンド料⾦ 0.348 USD/時間 – スポット料⾦ 0.073 USD/時間 (割引率: 79%) l 各クラスターのノード構成は下記の通り: オンデマンドインスタンスクラスター – EMRバージョン: emr-5.31.0 – Master x1 – Core x10 スポットインスタンスクラスター – EMRバージョン: emr-5.31.0 – Master x1 – Core x47 = 0.348x10/0.073 = 47.7

Slide 40

Slide 40 text

© 2020, Amazon Web Services, Inc. or its Affiliates. ベンチマーク: 結果 性能: 3.7-4.1 倍 コスト: 56-60%減 並列度増により実⾏時間が短縮されたことで、コスト低減を実現

Slide 41

Slide 41 text

© 2020, Amazon Web Services, Inc. or its Affiliates. まとめ

Slide 42

Slide 42 text

© 2020, Amazon Web Services, Inc. or its Affiliates. まとめ l EMR でスポットインスタンスを利⽤するメリットと、スポットインスタ ンスを効率的に利⽤するインスタンスフリートについて紹介 l 新しい機能(Allocation Strategy/Managed Scaling) を利⽤することで より効果的にスポットインスタンスを利⽤いただけることを紹介 l スポットインスタンスを利⽤する効果をベンチマークで確認

Slide 43

Slide 43 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Thank you.