Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20201111-AWS_SpotFes-AmazonEMR

 20201111-AWS_SpotFes-AmazonEMR

スポットインスタンス/インスタンスフリートを活用した Amazon EMR のコスト最適化 – 秋のスポットインスタンス祭りコンテンツ

https://pages.awscloud.com/JAPAN-event-OE-Spot-instance-Matsuri-20201111-reg-event-LP.html

Makoto Kawamura

November 11, 2020
Tweet

More Decks by Makoto Kawamura

Other Decks in Technology

Transcript

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

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

    川村 誠 Hadoop/Spark スペシャリスト ソリューションアーキテクト • データ分析系サービスを担当 • 好きなサービス • Amazon EMR • Amazon Athena • AWS Glue • Amazon SageMaker
  3. © 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料⾦ • ジョブを制御するマスターノードに も費⽤が掛かる
  4. © 2020, Amazon Web Services, Inc. or its Affiliates. l

    ビックデータ活⽤の課題 l EMR でスポットインスタンスを利⽤するメリット l EMR でスポットインスタンスを使いこなすための機能 インスタンスフリート l demo / ベンチマーク Agenda
  5. © 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倍以上 成⻑率 より多様なデータ
  6. © 2020, Amazon Web Services, Inc. or its Affiliates. より幅広いワークロード

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

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

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

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

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

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

    EMR: コンピュートとストレージの分離で低コストを実現 Amazon S3 Amazon S3 Amazon EMR Amazon S3 Amazon EMR
  14. © 2020, Amazon Web Services, Inc. or its Affiliates. スポットインスタンスで得られる

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

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

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

    アプリケーションの動作 ü スポットインスタンスが中断/停⽌した場合、コア ノード/タスクノードのリソースを EMR が補充 ü 実⾏されているアプリケーションが失敗した場合、 Hadoop/Spark の仕組み (YARN) がアプリケーション を⾃動的に再実⾏ ü アプリケーションのタスクが失敗した場合、アプリ ケーション(AM) がタスクを再実⾏
  18. © 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 はインスタ ンスタイプ間で計算を⾃動的にスケールインおよ びスケールアウトできます
  19. © 2020, Amazon Web Services, Inc. or its Affiliates. EMR

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

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

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

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

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

    Instance Advisor の活⽤ https://aws.amazon.com/ec2/spot/instance-advisor/
  28. © 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
  29. © 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/
  30. © 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
  31. © 2020, Amazon Web Services, Inc. or its Affiliates. クラスターを⾃動的にサイズ変更して

    コストを削減することが可能に 新機能 ü Managed Scaling が有効になっていると、1 分単位の粒度でクラスターの メトリクスを確認可能 https://docs.aws.amazon.com/emr/latest/ManagementGuide/managed-scaling-metrics.html
  32. © 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
  33. © 2020, Amazon Web Services, Inc. or its Affiliates. ベンチマーク

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

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

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