ある企業が、毎晩 22:00 に大量データのバッチ ETL 処理を Amazon EMR で実行している。処理は約 2〜4 時間かかり、処理が中断した場合は再実行が可能(チェックポイントを使って途中から再開できる)。コストを最小化したい。最も適切な購入オプションはどれか。
- A. EMR クラスター全体を Spot インスタンスで起動し、中断時はチェックポイントから再開する。
- B. EMR クラスターのマスターノードとコアノードはオンデマンドまたは Savings Plans でカバーし、タスクノードは Spot インスタンスを使用する。
- C. EMR Serverless を使用してサーバーレスで ETL を実行する。
- D. EMR クラスターをオンデマンドインスタンスで起動する。
解答と解説を見る
正解: B
EMR のマスターノードとコアノード(HDFS データを保存するノード)は処理継続性のためにオンデマンドまたは Savings Plans でカバーし、処理計算のみを担うタスクノードは Spot インスタンスを使ってコストを削減するハイブリッド構成が EMR のベストプラクティスである。タスクノードが Spot 中断されても処理が継続でき(タスクを別のノードで再実行)、コア・マスターは停止しないためクラスターが維持される。選択肢DのオンデマンドのみではSpot の大幅なコスト削減(最大 70〜80%削減)の機会を逃す。選択肢Aの全台 Spot では、マスターまたはコアノードが中断されるとクラスター全体が停止しデータも失われる可能性がある。チェックポイントがあっても再起動コストが高い。選択肢CのEMR Serverless は有効な選択肢だが、現在の EMR クラスター設定の最適化という文脈では、ハイブリッド Spot 構成の方が明確な最適解として提示できる。