DEAデータの取り込みと変換
ある気象データ分析会社は、過去10年分の気象観測データ(合計50TB)をAmazon S3に保存し、毎日バッチでApache Sparkを使ったETL処理(データ正規化・異常値除去・集計)を3時間以内に完了させる必要があります。処理コストの最小化を最優先とし、スポットインスタンスが中断された場合でもジョブを継続させたいと考えています。最もコスト効率の高い構成はどれですか?
AAmazon EMRクラスターで、マスター・コアノードをオンデマンドインスタンス、タスクノードをスポットインスタンスで構成し、S3をデータストアとしてEMR Managed Scalingを有効化する
✓ 正解
マスター・コアノードをオンデマンドで安定稼働させつつタスクノードにスポットを使うことで、中断リスクなしにコスト削減できます。S3をデータストアとしてHDFS非依存にすることでクラスター障害時のデータ損失も防ぎます。
BAmazon EMRクラスターで全ノード(マスター・コア・タスク)をスポットインスタンスで統一し、インスタンス管理を簡素化してクラスター全体のコストを最大限に削減する
全ノードスポット構成はコスト最安ですが、マスター・コアノードが中断するとクラスター全体が停止するリスクがあり、3時間以内完了の要件を安定して満たすことができません。
CAWS Glue ETLジョブを使用し、G.2X以上のワーカータイプで最大DPU数を割り当て、サーバーレスのフルマネージドSpark環境で50TBのETL処理を実行する
AWS Glue ETLは最大DPU設定で大規模処理は可能ですが、EMRスポットインスタンスを活用した場合と比べてコストが高くなりやすく、コスト最優先の要件に対して不利です。
DAmazon ECS(Fargate)でApache Sparkコンテナをデプロイし、ECSオートスケーリングポリシーで並列タスク数を動的に調整してバッチジョブを実行する
Amazon ECS(Fargate)はコンテナサービスであり、Sparkのクラスターマネージャや分散シャッフルをネイティブに管理する機能がないため、大規模Sparkバッチ処理のユースケースには適していません。
解説
Amazon EMRのコスト最適化ベストプラクティスは、マスターノードとコアノード(クラスター維持に必須)にオンデマンドインスタンスを使用し、タスクノード(計算処理専用でデータを保持しない)にスポットインスタンスを使用する構成です。タスクノードはスポット中断が発生してもジョブが継続でき、EMR Managed ScalingがスポットキャパシティをAZ間で自動最適化します。データをS3(EMRFS)に保存することでHDFS依存をなくし、クラスター終了後もデータが維持されます。
選択肢Bの全ノードスポット構成は、マスター・コアノードのスポット中断でクラスター全体が停止するリスクがあり、3時間以内の完了要件を安定して達成できません。
選択肢CのAWS Glue ETLはマネージドSparkですが、50TBの大規模処理でDPUを最大化した場合、EMRスポットインスタンス活用と比較してコストが大幅に高くなる可能性があります。
選択肢DのAmazon ECS(Fargate)はコンテナ実行基盤であり、Sparkのクラスターマネージャや分散シャッフルに対するネイティブサポートがなく、このユースケースには適していません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →