$30 off During Our Annual Pro Sale. View Details »

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

    View Slide

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

    View Slide

  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料⾦
    • ジョブを制御するマスターノードに
    も費⽤が掛かる

    View Slide

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

    View Slide

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

    View Slide

  6. © 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倍以上
    成⻑率
    より多様なデータ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  13. © 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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  21. © 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 はインスタ
    ンスタイプ間で計算を⾃動的にスケールインおよ
    びスケールアウトできます

    View Slide

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

    View Slide

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

    View Slide

  24. © 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

    View Slide

  25. © 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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  29. © 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/

    View Slide

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

    View Slide

  31. © 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

    View Slide

  32. © 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/

    View Slide

  33. © 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

    View Slide

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

    View Slide

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

    View Slide

  36. © 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

    View Slide

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

    View Slide

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

    View Slide

  39. © 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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide