使いやすい

Amazon EMR は、ビッグデータ環境とアプリケーションの構築および運用を簡略化します。EMR の関連機能には、手軽なプロビジョニング、マネージド型スケーリング、クラスターの再設定、共同開発用の EMR Studio (プレビュー) などがあります。

数分でクラスターをプロビジョニング: EMR クラスターは、数分で起動できます。インフラストラクチャのプロビジョニングやクラスターの設定、構成、調整に頭を悩ませる必要はありません。これらのタスクを EMR に任せて、差別化できるビッグデータアプリケーションの開発に集中できます。

ビジネスニーズに合わせてリソースを簡単にスケーリング: EMR マネージドスケーリングポリシーを利用して、簡単にスケールアウト/スケールインができます。また EMR クラスターでは、使用量やパフォーマンスのニーズに合わせてコンピューティングリソースを自動的に管理できます。これにより、クラスターの使用率が向上し、コストが削減できます。

EMR Studio は、R、Python、Scala、PySparkで書き込まれたデータエンジニアリングおよびデータサイエンスアプリケーションを、データサイエンティストやデータエンジニアが簡単に開発、視覚化、デバッグできるようにした統合開発環境 (IDE) です。EMR Studio では、フルマネージド型の Jupyter ノートブックと、Spark UI や YARN Timeline Service などのツールを使用して、デバッグを簡素化できます。

ワンクリックで高い可用性: YARN、HDFS、Apache Spark、Apache HBase、Apache Hive などの多彩なマルチマスターアプリケーション用の高可用性をワンクリックで設定できます。マルチマスターサポートを備えると、EMR によってこれらのアプリケーションが高可用性で設定されます。障害発生時には、予備のマスターに自動的にフェイルオーバーして、クラスターの破損を防げます。また、異なるラックにマスターノードを置き換え、同時障害のリスクを軽減できます。ホストをモニタリングして障害を検知し、問題が検出された場合、新しいホストがプロビジョニングされ、自動的にクラスターに追加されます。

EMR マネージドスケーリング: 可能な限り最小のコストで最高のパフォーマンスを発揮できるよう、クラスターのサイズを自動的に変更できます。EMR マネージドスケーリングでは、クラスターの最小および最大のコンピューティング制限を指定できます。また Amazon EMR により、最適なリソース使用率で最高のパフォーマンスと発揮できるよう、サイズを自動的に変更できます。EMR マネージドスケーリングでは、クラスターで実行中のワークロードに関連する主要なメトリクスを継続的にサンプリングできます。

実行中のクラスターを簡単に再設定: クラスターを再起動せずに、Apache Hadoop、Apache Spark、Apache Hive、Hue などの EMR クラスターで実行中のアプリケーションの設定を変更できるようになりました。EMR のアプリケーション再設定機能を使用すると、シャットダウンやクラスターを再作成をせずに、実行中のアプリケーションを変更できます。Amazon EMR によって新しい設定が適用され、再設定済みのアプリケーションが適切に再起動されます。設定は、コンソール、SDK、CLI を使用して適用できます。

伸縮自在

Amazon EMR では、必要なキャパシティーを迅速かつ簡単にプロビジョニングでき、キャパシティーを自動または手動で追加、削除できます。これは、処理要件が変動しやすい、または予測不可能な場合に非常に便利です。例えば、処理のほとんどが夜間に発生する場合、日中は 100 個のインスタンス、夜間は 500 個のインスタンスが必要になることがあります。または、短期間に大量のキャパシティーが必要な場合もあるかもしれません。Amazon EMR では、何百、何千ものインスタンスをすばやくプロビジョニングし、コンピューティング要件に合わせて自動的にスケーリングし、ジョブが完了したら (アイドル状態のキャパシティーに対する支払いを避けるために) クラスターをシャットダウンできます。

Amazon EMR を使用すると、必要に応じて迅速かつ簡単にキャパシティをプロビジョニングできます。

キャパシティーの追加または削除には、主に 2 つのオプションがあります。

複数のクラスターのデプロイ: より多くのキャパシティーが必要な場合、簡単に新しいクラスターを起動でき、必要なくなれば停止できます。使用できるクラスターの数に制限はありません。複数のユーザーやアプリケーションを使用している場合は、複数のクラスターを使用すると便利です。例えば、入力データを Amazon S3 に保存し、データ処理の必要な各アプリケーションでそれぞれ 1 つのクラスターを起動できます。1 つのクラスターは CPU 用に、もう 1 つのクラスターはストレージなどのために最適化できます。

実行中のクラスターのサイズ変更: Amazon EMR では、実行中のクラスターでの EMR マネージドスケーリング自動スケーリング手動によるサイズ変更が簡単に行えます。クラスターをスケールアウトして一時的に処理能力を追加したり、アイドル状態のキャパシティーがある場合、クラスターをスケールインしてコストを節減できます。例えば、バッチ処理が発生した場合に数百個のインスタンスをクラスターに追加し、処理完了後に余分なインスタンスを削除できます。クラスターにインスタンスを追加すると、EMR では、プロビジョニングされたキャパシティーを使用できるようになった時点ですぐに使い始められます。スケールイン時には、EMR によりアイドル状態のノードが積極的に選択され、実行中のジョブへの影響を軽減します。

低コスト

Amazon EMR は大量データの処理にかかるコストを節減することを目的としています。低コストを実現する機能の例として、秒単位での低料金設定、Amazon EC2 スポットとの統合、Amazon EC2 リザーブドインスタンスとの統合、伸縮性、Amazon S3 との統合などがあります。

秒単位での低料金設定: Amazon EMR の料金は 1 秒ごとに課金され、最小課金時間は 1 分です。スモールインスタンス (年間 131.40 USD) の場合、0.015 USD/時間から利用を開始できます。詳細については、料金セクションを参照してください。

Amazon EC2 スポットとの統合: Amazon EC2 スポットインスタンスの料金は、インスタンスの需要と供給に基づいて変動しますが、指定した上限を超える支払いが発生することはありません。Amazon EMR により、スポットインスタンスの使用が簡単になるため、時間とコストの両方を節約できます。Amazon EMR クラスターには HDFS を実行する「コアノード」と、実行しない「タスクノード」があります。スポット料金が上がりインスタンスが失われる場合を考慮して、HDFS に保存したデータを失わないためにも、スポットにはタスクノードが適しています。(コアノードとタスクノードの詳細はこちらを参照してください)。インスタンスフリートやスポットインスタンスの割り当て戦略、EMR マネージドスケーリングなど、その他の多様なオプションを組み合わせることで、EMR の耐障害性とコストを最適化できるようになりました。詳細については、こちらのブログをご覧ください。

Amazon S3 との統合: EMR File System (EMRFS) により、EMR クラスターで、Amazon S3 を Hadoop のオブジェクトストアとして効率的かつ安全に使用できます。データを Amazon S3 に保存し、複数の Amazon EMR クラスターを使用して同じデータセットを処理できます。各クラスターは特定のワークロードに最適化できるため、1 つのクラスターで要件の異なる複数のワークロードを処理するより効率的です。例えば、I/O に最適化されたクラスターと、CPU に最適化されたクラスターで、それぞれ Amazon S3 の同じデータセットを処理することができます。さらに、入力および出力データを Amazon S3 に保存することで、不要になったクラスターをシャットダウンできます。

EMRFS は、Amazon S3 からの読み取りと S3 への書き込みのパフォーマンスに優れ、AWS Key Management Service (KMS) またはカスタマー管理型のキーを使用した S3 サーバー側または S3 クライアント側の暗号化に対応しています。また、メタデータで追跡されたオブジェクトのリストと書き込み後の読み取りの整合性をチェックする、整合性のあるビューを利用することもできます。また、Amazon EMR クラスターでは、EMRFS と HDFS の両方を使用できるため、クラスターのストレージと Amazon S3 のいずれかを選択する必要はありません。

AWS Glue データカタログの統合: AWS Glue データカタログをマネージドメタデータリポジトリとして使用して、Apache Spark や Apache Hive のために外部テーブルのメタデータを保存できます。また、スキーマの自動検出とバージョン履歴も利用できます。これによって、クラスター外部にある Amazon S3 の外部テーブルのために、メタデータを簡単に保持できます。

柔軟性のあるデータストア

Amazon EMR では、Amazon S3、Hadoop Distributed File System (HDFS)、Amazon DynamoDB を含む複数のデータストアを活用できます。

Amazon EMR で複数のデータストアを活用する

Amazon S3: Amazon S3 は、耐久性、スケーラビリティ、安全性に優れ、低コストで使用できる、高速なストレージサービスです。Amazon EMR は、EMR File System (EMRFS) によって、Hadoop のオブジェクトストアとして Amazon S3 を効率的かつセキュアに使用できます。Amazon EMR では、Amazon S3 に保存された大量のデータをシームレスに処理できるよう Hadoop に多数の改善点を追加しました。また、EMRFS では、整合性のあるビューを使用して、Amazon S3 のオブジェクトのリストと書き込み後の読み取りの整合性をチェックできます。EMRFS は、暗号化された Amazon S3 オブジェクトを処理するために S3 サーバー側または S3 クライアント側の暗号化に対応しており、ユーザーは AWS Key Management Service (KMS) またはカスタムキーベンダーを使用できます。

クラスターを起動すると、Amazon EMR では Amazon S3 からデータをクラスター内の各インスタンスにストリームし、直ちに処理を開始します。データを Amazon S3 に保存して Amazon EMR で処理するメリットの 1 つは、複数のクラスターを使用して同じデータを処理できる点です。例えば、メモリに合わせて最適化された Hive 開発クラスターと、CPU に合わせて最適化された Pig 運用クラスターがあり、いずれも同じ入力データセットを使用しているとします。

Hadoop Distributed File System (HDFS): HDFS は、Hadoop のファイルシステムです。Amazon EMR の現行のトポロジグループのインスタンスは、次の 3 つの論理インスタンスのグループ、つまり YARN リソースマネージャーと HDFS 名前ノードサービスを実行するマスターグループ、HDFS DataNode デーモンと YARN ノードマネージャーサービスを実行するコアグループ、YARN ノードマネージャーサービスを実行するタスクグループに属します。Amazon EMR では、コアグループのインスタンスに関連付けられたストレージに HDFS がインストールされます。

各 EC2 インスタンスは、"インスタンスストア" と呼ばれる、インスタンスにアタッチされた固定容量のストレージを備えています。また Amazon EBS ボリュームをインスタンスに追加することで、インスタンスのストレージをカスタマイズすることもできます。Amazon EMR では、汎用 (SSD)、プロビジョンド (SSD)、マグネティックのボリュームタイプを追加できます。EMR クラスターに追加された EBS ボリュームでは、クラスターがシャットダウンした後はデータを維持しません。EMR ではクラスターが終了すると、自動的にボリュームがクリーンアップされます。

また、Amazon EMR のセキュリティ設定を使用して HDFS の完全な暗号化を有効にしたり、Hadoop Key Management Server を使って HDFS 暗号化ゾーンを手動で作成できます。 AWS KMS をキープロバイダーに設定すると、セキュリティ設定オプションを使用して、EBS ルートデバイスおよびストレージボリュームを暗号化できます。詳細については、ローカルディスクの暗号化を参照してください。

Amazon DynamoDB: Amazon DynamoDB は高速なフルマネージド型の NoSQL データベースサービスです。Amazon EMR は Amazon DynamoDB と直接統合しているため、すばやく効率的に Amazon DynamoDB に保存されたデータを処理し、Amazon EMR 内で Amazon DynamoDB、Amazon S3、HDFS の間のデータを転送できます。

その他の AWS データストア: Amazon EMR では、Amazon Relational Database Service (クラウドでリレーショナルデータベースを簡単に設定、運用、スケーリングできるウェブサービス)、Amazon Glacier (データのアーカイブやバックアップのために安全で耐久性のあるストレージを提供する、きわめて低コストのストレージサービス)、Amazon Redshift (高速でフルマネージド型のペタバイト規模のデータウェアハウスサービス) も使用できます。AWS Data Pipeline は、AWS のコンピューティングサービス、ストレージサービス (Amazon EMR など)、オンプレミスのデータソース間のデータを指定した間隔で確実に移動、処理できるウェブサービスです。

お気に入りのオープンソースアプリケーションを使用する

Amazon EMR 上でのバージョンリリースにより、Apache Spark や Hadoop エコシステムのアプリケーションを含む、最新のオープンソースプロジェクトを EMR クラスタ上で簡単に選択して使用できます。ソフトウェアのインストールと設定は Amazon EMR 側で行われるため、インフラストラクチャや管理タスクを気にせずに、データの価値を高めることにより多くの時間をかけることができます。

ビッグデータツール

Amazon EMR では、Apache Spark、Apache Hive、Presto、Apache HBase などのパワフルで実績のある Hadoop ツールをサポートしています。データサイエンティストは、EMR を使うことで TensorFlow、Apache MXNet などの深層学習や機械学習も実行できます。また、ブートストラップアクションを使用すると、ユースケース専用のツールやライブラリを追加できます。データ分析担当者は、EMR Studio、Hue、EMR ノートブックを使用して、インタラクティブな開発、Apache Spark ジョブの作成、Apache Hive と Presto に対する SQL クエリの送信を行えます。データエンジニアは、EMRを使用して、データパイプラインの開発とデータ処理を行えます。また、Apache Hudi を使用して、増分データ管理や、レコードレベルでの挿入、更新、削除操作が必要なデータプライバシー関連のユースケースを簡素化できます。

Hadoop アプリケーション

データ処理と機械学習

Apache Spark は、大容量のデータセットを高速に処理するための、Hadoop エコシステムのエンジンです。インメモリの耐障害性のある RDD (Resilient Distributed Datasets) と DAG (Directed Acyclic Graphs) を使用してデータ変換を定義します。Spark には、Spark SQL、Spark Streaming、MLlib、GraphX も含まれています。SparkEMR での Spark の詳細はこちらを参照してください。

ストリーミングデータフローエンジンの Apache Flink は、高スループットのデータソースでリアルタイムのストリームを処理しやすくします。Flink では、順不同のイベントのイベントタイムセマンティクス、1 回のみのセマンティクス、背圧制御、ストリーミングアプリケーションとバッチアプリケーションの両方の記述用に最適化された API をサポートしています。EMR での Flink の詳細はこちらを参照してください。

TensorFlow は、マシンインテリジェンスと深層学習アプリケーションのオープンソースの Symbokic Math ライブラリです。機械学習と深層学習の複数のモデルとアルゴリズムをまとめて、多彩なユースケースのために深淵なニューラルネットワークを訓練、実行できます。EMR での TensorFlow の詳細はこちらを参照してください。

Amazon S3 データのレコードレベルでの管理

Apache Hudi は、増分データの処理とデータパイプラインの開発を簡素化するオープンソースのデータ管理フレームワークです。Apache Hudi を使用すると、Amazon S3 のレコードレベルでデータを管理し、変更データキャプチャ (CDC) とストリーミングデータの取り込みを簡素化できます。また、レコードレベルの更新と削除が必要なデータプライバシーのユースケースを処理できるフレームワークを利用できます。Apache Hudi on Amazon EMR の詳細をご確認ください。

SQL

Apache Hive はオープンソースのデータウェアハウスであり、Hadoop の上で稼働する分析パッケージです。Hive は SQL ベースの言語である Hive QL で運用され、データの構造化、集約、クエリの実行機能を備えます。Hive QL は標準的な SQL を超えるものであり、map/reduce 関数や、JSON や Thrift といった複雑で拡張可能なユーザー定義のデータタイプを完全にサポートしています。この機能により、テキスト文書やログファイルといった、複雑で構造化されていないデータソースの処理が可能になります。Hive では Java で書かれたユーザー定義の関数を使用したユーザー拡張が可能です。Amazon EMR では Amazon DynamoDB や Amazon S3 との直接統合など、Hive に多数の改善点を追加しました。例えば、Amazon EMR では Amazon S3 からの自動的なテーブルパーティションの読み込み、一時ファイルを使用しない Amazon S3 テーブルへのデータの書き込み、カスタム map/reduce 操作のスクリプトや追加のライブラリといった Amazon S3 のリソースへのアクセスが可能です。Hive の本質、および EMR での Hive の詳細はこちらを参照してください。

Presto は、オープンソースの分散 SQL クエリエンジンで、低レイテンシーでアドホックなデータ分析用に最適化されています。ANSI SQL 標準をサポートしており、複雑なクエリ、集計、結合、ウィンドウ関数を実行できます。Presto を使用して、Hadoop Distributed File System (HDFS) や Amazon S3 など、複数のデータソースのデータを処理できます。Presto の本質、および EMR での Presto の詳細はこちらを参照してください。

Apache Phoenix を使用すると SQL のレイテンシーが低下するうえ、Apache HBase の保存データで ACID トランザクション機能を利用できます。パフォーマンスを高めるためにセカンダリインデックスを簡単に作成し、同一の基盤となる HBase テーブルでさまざまなビューを作成できます。EMR での Phoenix の詳細はこちらを参照してください。
 

NoSQL

Apache HBase は、Google の BigTable に基づいて設計されたオープンソースのリレーショナルでない分散データベースです。Apache Software Foundation の Hadoop プロジェクトの一部として開発され、Hadoop Distributed File System (HDFS) 上で動作し、Hadoop に BigTable のような機能を提供します。HBase では、列ベースの圧縮と保存により、耐障害性に優れた効率的な方法で大量の疎データを保存できます。さらに、HBase ではデータがメモリ内にキャッシュされるため、データをすばやく参照できます。HBase は、シーケンシャル書き込み操作用に最適化されており、バッチ挿入、更新、削除処理も非常に効率的です。HBase は Hadoop とシームレスに連携し、ファイルシステムを共有し、Hadoop ジョブへの直接入出力として機能します。また、HBase は Apache Hive と統合されており、HBase テーブルで SQL に似たクエリを利用できます。Hive ベースのテーブルとの結合、Java Database Connectivity (JDBC) もサポートします。EMR を使用すると、S3 を HBase のデータストアとして使用できるため、コストを削減し、運用の複雑さを軽減できます。HDFS をデータストアとして使用する場合は、HBase を S3 にバックアップしたり、以前に作成したバックアップから復元できます。HBase の本質、および EMR での HBase の詳細はこちらを参照してください。

インタラクティブ分析

EMR Studio は、R、Python、Scala、PySparkで書き込まれたデータエンジニアリングおよびデータサイエンスアプリケーションを、データサイエンティストやデータエンジニアが簡単に開発、視覚化、デバッグできるようにした統合開発環境 (IDE) です。EMR Studio では、フルマネージド型の Jupyter ノートブックと、Spark UI や YARN Timeline Service などのツールを使用して、デバッグを簡素化できます。

Hue は Hadoop 用のオープンソースのユーザーインターフェイスで、Hive クエリの実行と開発、HDFS のファイルの管理、Pig スクリプトの実行と開発、テーブルの管理を簡単に行えます。また EMR の Hue を Amazon S3 と統合し、S3 に対して直接クエリを実行することや、HDFS と Amazon S3 間で簡単にファイルを転送することができます。Hue と EMR の詳細はこちらを参照してください。

EMR ノートブックは、オープンソースの Jupyter プロジェクトをベースとし、Spark 用に事前設定されています。Spark のマジックカーネルをサポートしているため、PySpark、Spark SQL、Spark R、Scala などの言語で記述された Spark ジョブを EMR クラスターでインタラクティブに実行できます。このノートブックは、Conda にあるオープンソースライブラリと共にパッケージ化されているため、ユーザーはこれらのライブラリをインポートして使用し、データを操作したり、計算結果をリッチなグラフィカルプロットで可視化したりできます。さらに、各ノートブックには Spark モニタリング機能が統合されています。これにより、ジョブの進捗状況をモニタリングして、ノートブックからコードを直接デバッグできます。

Jupyter Notebook はオープンソースのウェブアプリケーションで、ライブコード、方程式、可視化ツール、ナラティブテキストを含むドキュメントの作成と共有に使用できます。JupyterHub を使用すると、Jupyter Notebook サーバーの単一ユーザーの複数インスタンスをホストできます。JupyterHub で EMR クラスターを作成すると、EMR ではクラスターのマスターノードに Docker コンテナが作成されます。このコンテナ内では、JupyterHub、Jupyter に必要なすべてのコンポーネント、Sparkmagic が実行されます。

Apache Zeppelin は、Spark を使用してデータ探索を実行するインタラクティブな共同作業用のノートブックを作成するためのオープンソースの GUI です。Scala、Python、SQL (Spark SQL を使用)、HiveQL を使用してデータを操作し、結果を迅速に可視化できます。Zeppelin ノートブックは複数のユーザー間で共有でき、可視化した結果は外部のダッシュボードに公開できます。EMR での Zeppelin の詳細はこちらを参照してください。

スケジューリングとワークフロー

Apache Oozie は Hadoop のワークフロースケジューラです。Oozie を使用して、アクションの Directed Acyclic Graphs (DAG) を作成できます。また、Hadoop ワークフローをアクションまたは時間で簡単にトリガーできます。EMR での Oozie の詳細はこちらを参照してください。 AWS Step Functions を使うと、サーバーレスワークフローの自動化をアプリケーションに追加できます。ワークフローのステップは、AWS Lambda 関数、Amazon Elastic Compute Cloud (EC2)、オンプレミスなど、どこでも実行できます。EMR での Step Functions の詳細はこちらを参照してください。

その他のプロジェクトとツール

EMR では、ほかにも多くの主要なアプリケーションとツールをサポートしています。具体例として、R、Apache Pig (データ処理と ETL)、Apache Tez (複雑な DAG の実行)、Apache MXNet (深層学習)、Ganglia (モニタリング)、Apache Sqoop (リレーショナルデータベースコネクタ)、HCatalog (テーブルおよびストレージ管理) が挙げられます。Amazon EMR チームは、ブートストラップアクションのオープンソースリポジトリを管理しています。このリポジトリは、追加ソフトウェアのインストールやクラスターの設定を行うために使用でき、独自のブートストラップアクションを作成する際のサンプルにもなります。

データのアクセスコントロール

デフォルトでは、Amazon EMR アプリケーションプロセスは他の AWS サービスを呼び出すときに EC2 インスタンスプロファイルを使用します。マルチテナントクラスターの場合、Amazon EMR は、Amazon S3 データへのユーザーアクセスを管理するための 3 つのオプションを提供します。

AWS Lake Formation との統合により、AWS Lake Formation で詳細な承認ポリシーを定義および管理して、AWS Glue Data Catalog のデータベース、テーブル、および列にアクセスできます。インタラクティブな EMR Spark ワークロードに対して Amazon EMR Notebooks および Apache Zeppelin を介して送信されたジョブに承認ポリシーを適用し、監査イベントを AWS CloudTrail に送信できます。この統合を有効にすることで、Security Assertion Markup Language (SAML) 2.0 と互換性のあるエンタープライズ ID システムから EMR Notebooks または Apache Zeppelin へのフェデレーション Single Sign-On も有効になります。

Apache Ranger とのネイティブ統合により、新規または既存の Apache Ranger サーバーをセットアップして、ユーザーが Hive Metastore 経由で Amazon S3 データのデータベース、テーブル、および列にアクセスするための詳細な承認ポリシーを定義および管理できます。 Apache Ranger は、Hadoop プラットフォーム全体の包括的なデータセキュリティを有効化、モニタ、および管理するオープンソースツールです。

このネイティブ統合により、Apache Ranger ポリシー管理サーバーで 3 種類の認証ポリシーを定義できます。Hive でテーブル、および列レベルの認証に対してテーブル、列、および行レベルの認証を設定できます。Spark では、テーブルおよび列レベルの認証を定義できます。そして、Amazon S3 にはプレフィックスとオブジェクトレベルの認証を定義できます。Amazon EMR は、対応する Apache Ranger プラグインをクラスターに自動的にインストールして構成します。Ranger プラグインはポリシー管理サーバーとの間で認証ポリシーを同期し、データアクセス制御を適用して、監査イベントを Amazon CloudWatch Logs に送信します。

Amazon EMR User Role Mapper を使用すれば、AWS IAM アクセス許可を利用して AWS リソースへのアクセスを管理できます。ユーザー (またはグループ) とカスタム IAM ロール間のマッピングを作成できます。ユーザーまたはグループは、カスタム IAM ロールによって許可されたデータにのみアクセスできます。この機能は現在、AWS ラボからご利用いただけます。

安定したハイブリッドエクスペリエンス

AWS Outposts は、AWS のインフラストラクチャ、AWS のサービス、API、ツールをほぼすべてのデータセンター、コロケーションスペース、オンプレミスの施設に拡張し、真に安定したハイブリッドエクスペリエンスを実現するフルマネージドサービスです。Amazon EMR on AWS Outposts では、同じ AWS マネジメントコンソール、同じソフトウェア開発キット (SDK)、同じコマンドラインインターフェイス (CLI) を EMR に使用して、データセンターの EMR クラスターをデプロイおよび管理することができます。

その他の機能

クラスターに最適なインスタンスを選択: アプリケーションの要件に基づいて、クラスターにプロビジョニングする EC2 インスタンスのタイプ (スタンダード、ハイメモリ、ハイ CPU、ハイ I/O など) を選択できます。すべてのインスタンスへのルートアクセス権限を持ち、要件に合わせてクラスターを自在にカスタマイズできます。サポートしている Amazon EC2 インスタンスタイプの詳細はこちらを参照してください。Amazon EMR では、Graviton2 ベースのインスタンスで Spark ワークロードのコストを最大 30% 削減し、パフォーマンスを最大 15% 向上させることができます。詳細はブログを参照してください。

アプリケーションのデバッグ: クラスターでデバッグを有効にすると、Amazon EMR によってログファイルが Amazon S3 にアーカイブされ、それらのファイルにインデックスが付けられます。その後、コンソールのグラフィカルインターフェイスを使用して、ログを直観的な方法で閲覧できます。Amazon EMR ジョブのデバッグの詳細はこちらを参照してください

クラスターのモニタリング: Amazon CloudWatch を使用して、Map と Reduce タスクの平均実行数など、カスタム Amazon EMR メトリクスをモニタリングできます。また、これらのメトリクスではアラームを設定できます。Amazon EMR クラスターのモニタリングの詳細はこちらを参照してください

イベントに対応: Amazon CloudWatch Eventsで Amazon EMR イベントタイプを使用して、Amazon EMR クラスターの状態の変化に対応できます。すぐに設定できる簡単なルールを使用してイベントを一致させ、それらを Amazon SNS トピック、AWS Lambda 関数、Amazon SQS キューなどに振り分けられます。Amazon EMR クラスターのイベントの詳細はこちらを参照してください

繰り返し発生するワークフローのスケジューリング: AWS Data Pipeline を使って、Amazon EMR に関して繰り返し発生するワークフローをスケジューリングできます。AWS Data Pipeline は、AWS のコンピューティングサービス、ストレージサービス、オンプレミスのデータソース間のデータを指定した間隔で確実に移動、処理できるウェブサービスです。Amazon EMR と AWS Data Pipeline の詳細はこちらを参照してください

深層学習: Apache MXNet などの一般的な深層学習フレームワークを使用して、深層ニューラルネットワークを定義、トレーニング、デプロイできます。これらのフレームワークは、Amazon EMR クラスターで GPU インスタンスとともに使用できます。Amazon EMR での MXNet の詳細はこちらを参照してください

クラスターへのネットワークアクセスの制御: AWS クラウドの論理的に分離されたセクションである Amazon Virtual Private Cloud (VPC) でクラスターを起動できます。独自の IP アドレスの範囲の選択、サブネットの作成、ルートテーブルやネットワークゲートウェイの設定など、仮想ネットワーク環境を完全に制御できます。Amazon EMR と Amazon VPC の詳細はこちらを参照してください

ユーザー、アクセス許可、暗号化の管理: IAM ユーザーや IAM ロールなどの AWS Identity and Access Management (IAM) ツールを使用して、アクセスおよびアクセス許可を制御できます。例えば、特定のユーザーに対してクラスターへの読み取りを許可するが書き込みのアクセス許可は与えないといった制御を行えます。また、Amazon EMR のセキュリティ設定を使用すれば、Amazon S3 暗号化への対応や Kerberos 認証など、保管中および移動中の暗号化に関するさまざまなオプションを設定できます。クラスターへのアクセス制御Amazon EMR 暗号化オプションの詳細を参照してください。

追加ソフトウェアのインストール: ブートストラップアクションや Amazon Linux を実行しているカスタム Amazon マシンイメージ (AMI) を使用して、追加ソフトウェアをクラスターにインストールできます。ブートストラップアクションは、Amazon EMR がクラスターを起動したときにクラスターノードで実行されるスクリプトです。Hadoop が起動され、ノードがデータ処理を開始する前に実行されます。カスタム Amazon Linux AMI にソフトウェアを事前にロードして使用することもできます。Amazon EMR のブートストラップアクションカスタム Amazon Linux AMI の詳細を参照してください。

データの効率的なコピー: Amazon EMR の S3DistCp は、MapReduce を使って大量のデータを効率的に移動させることができるオープンソースツールである Distcp の拡張です。これを使用すると、大量のデータを Amazon S3 から HDFS へ、HDFS から Amazon S3 へ、そしてAmazon S3 バケット間をすばやく移動させることができます。S3DistCp の詳細はこちらを参照してください

カスタム JAR: Java プログラムを書き込み、使用する Hadoop のバージョンにコンパイルして Amazon S3 にアップロードします。その後、Hadoop JobClient インターフェイスを使用して Hadoop ジョブをクラスターに送信します。Amazon EMR を使ったカスタム JAR の処理の詳細はこちらを参照してください。

Amazon EMR の料金の詳細

料金表のページを見る
構築を始めましょう。
Amazon EMR の開始方法
ご不明な点がおありですか?
お問い合わせ