AWS認定資格 WEB問題集&徹底解説

ソリューションアーキテクト-プロフェッショナル

Amazon EMR の概要と試験出題ポイントは?

AWSサービスの一つであるAmazon EMRはどんな内容なのでしょうか?また、AWS認定資格のソリューションアーキテクト-プロフェッショナル(SAP)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います

Amazon EMR 徹底解説 | AWS認定試験の頻出ポイントまとめ

1. サービス概要

Amazon EMR(Elastic MapReduce)は、Apache Hadoop・Apache Sparkをはじめとするビッグデータ処理フレームワークをAWS上でマネージドに実行するサービスです。EC2クラスターへのHadoop/Sparkのインストール・設定・チューニングを自動化します。

クラスター型(EC2上)の他に、EMR Serverless(サーバーレス実行)とEMR on EKS(Kubernetesクラスター上で実行)も利用できます。

2. 主な特徴と機能

2.1 サポートするフレームワーク

  • Apache Spark: 大規模データ処理・機械学習・ストリーミング処理。EMRの中心的なフレームワーク。
  • Apache Hive: HiveQL(SQL系)でHadoopデータを分析。Glue Data Catalogとの連携。
  • Apache HBase: 列指向のNoSQLデータベース(Hadoopの上で動作)。低レイテンシのランダムアクセス。
  • Presto(Trino): インタラクティブSQLクエリ(複数データソースのFederated Query)。
  • Apache Flink: リアルタイムストリーミング処理。

2.2 クラスター構成

  • マスターノード(プライマリ): クラスター全体を管理(YARN ResourceManager・HDFS NameNode)。1台。
  • コアノード: データを保存(HDFS)し処理も実行。スケールイン時は注意(データが失われる可能性)。
  • タスクノード(Task Node): 処理のみ実行(データを持たない)。Spot Instanceを使った低コスト処理に最適。スケーリングが容易。

2.3 EMRFS(EMR File System)

HDFSの代わりにS3をストレージとして使う機能。クラスターを削除してもデータが残り、コストとデータ耐久性を最適化。データとコンピューティングを分離できます。

2.4 EMR Serverless

クラスターを事前プロビジョニングせずにSpark/HiveジョブをサーバーレスでSubmit。自動スケーリング・アイドル時は課金なし。運用コストを最小化。

2.5 EMR on EKS

既存のEKSクラスター上でSparkジョブを実行。コンテナ化されたアプリケーションとSparkジョブを同一クラスターで実行してリソース効率を向上。

2.6 Instance Fleet と Spot活用

Instance Fleetで複数のインスタンスタイプ・Spot/On-Demandを混在させてコストと可用性のバランスを最適化。タスクノードにSpotを使うとコストを最大80%削減。

3. アーキテクチャおよび技術要素

  1. S3にRAWデータを配置(EMRFS使用)。
  2. EMRクラスター(マスター+コア+タスクノード)を起動。
  3. SparkジョブでS3からデータを読み込み→処理→S3に結果を出力。
  4. 処理完了後にクラスターを終了(一時クラスター)。データはS3に残存。

ストレージ分離パターン: HDFS(一時中間データ)+ S3(永続データ)を使い分け。クラスター廃棄後もS3のデータを維持。

4. セキュリティと認証・認可

  • Kerberos認証: クラスター内の通信をKerberosで認証(Active Directory統合可能)。
  • Apache Ranger / Lake Formation統合: HiveやSparkからアクセスするデータへの列/行レベルのアクセス制御。
  • 転送時暗号化: クラスター内ノード間通信・S3との通信をTLS暗号化。
  • 保存時暗号化: HDFS・EBS・S3(EMRFS)のKMS暗号化。
  • VPCプライベートサブネット配置: クラスターをプライベートサブネットに配置してインターネットから隔離。

5. 料金形態

  • EC2クラスター: EMRの時間単位料金 + EC2インスタンスの料金。マスター/コア/タスクノードそれぞれのインスタンス料金。
  • EMR Serverless: ジョブ実行中のvCPU・メモリの使用量(vCPU時間・GB時間)に課金。アイドル時は課金なし。
  • EMR on EKS: EKSクラスターのEC2ノード料金のみ(EMR追加料金なし)。
  • コスト削減: Spot InstanceをTaskノードに使うと最大80%削減。EMR Serverlessで定常ジョブ以外はサーバーレス化。

6. よくあるアーキテクチャ・設計パターン

  • 一時クラスター(トランジェントクラスター): ジョブ実行ごとにクラスターを起動→処理→終了。コストを最小化。データはS3(EMRFS)に保持。
  • Spot活用のコスト最適化: マスター/コアノードにOn-Demand、タスクノードにSpotを使って処理能力を低コストでスケールアップ。
  • EMR + Glue Data Catalog: EMR上のHiveがGlue Data Catalogを共有メタストアとして使用→GlueCrawlerで更新されたスキーマをHive/Athenaが即座に参照。

7. 設定・デプロイ手順(ハンズオン例)

  1. EMRコンソールで「クラスターの作成」→アプリケーション(Spark/Hive等)・インスタンスタイプ・台数を選択。
  2. EMRFS使用のため、コアノードのHDFS容量は最小構成で可(S3をメインストレージとして使用)。
  3. タスクノードにSpot Instanceを設定してコスト最適化。
  4. EMR StepsにSparkジョブ(spark-submit)を追加して自動実行。
  5. ジョブ完了後にクラスターを自動終了(Auto-terminate設定)。

8. 試験で問われやすいポイント

8.1 EMRノードの役割

  • Q: EMRクラスターの3種類のノードの役割は?
    A: マスターノード(クラスター管理・ジョブスケジューリング)、コアノード(HDFS保存+処理実行)、タスクノード(処理のみ・HDFSなし・Spot向き)。
  • Q: EMRでSpot Instanceを安全に使えるのはどのノードタイプ?
    A: タスクノード(HDFSデータを持たないため、Spotのインタラプトでデータ損失なし)。

8.2 EMRFS(S3ストレージ)

  • Q: EMRクラスターを削除した後もデータを保持するには?
    A: EMRFS(S3をストレージとして使用)。クラスター削除後もS3にデータが残る。HDFSはクラスター削除で消去される。

8.3 EMR vs Glue

  • Q: GlueとEMRの使い分けは?
    A: Glueはサーバーレス・シンプルETL・Glue Data Catalog管理に最適。EMRはHadoop/Spark/HBase等の細かいクラスター構成・カスタマイズ・長時間実行ジョブ・HBaseなどGlueが非対応のフレームワーク利用時に選択。

8.4 EMR Serverless

  • Q: クラスターを管理せずにSparkジョブをEMRで実行するには?
    A: EMR Serverless。クラスター不要でジョブをSubmitし、実行時間のみ課金(vCPU・メモリ時間)。