Amazon Elastic MapReduce(Amazon EMR)

Amazon Elastic MapReduce(Amazon EMR)は、ビジネス、研究者、データアナリスト、および開発者が、簡単に、そして費用対効果の高い方法で、莫大な量のデータを処理することができるようにするウェブサービスです。これはホストされた Hadoop フレームワークを利用しています。Hadoop フレームワークは、Amazon Elastic Compute Cloud(Amazon EC2)および Amazon Simple Storage Service(Amazon S3)の、ウェブスケールのインフラストラクチャ上で稼動します。

Amazon Elastic MapReduce を使用すれば、ウェブインデックス化、データマイニング、ログファイル分析、データウェアハウジング、マシンラーニング、財務分析、科学シミュレーション、生物情報科学研究など、莫大なデータ処理を必要とするタスクを、能力の規模を自在に調整しながら、簡単にセットアップできます。Amazon Elastic MapReduce では、時間のかかる Hadoop クラスタのセットアップ、管理、調節や、それらが備える計算能力について心配することなく、データを集中的に高速処理または分析することができます。

最新情報
Amazon DynamoDB との統合
Amazon Elastic MapReduce は、Amazon DynamoDB と統合できます。Amazon DynamoDB は、高速で予測可能なパフォーマンスとシームレスな拡張性を提供する、完全に管理された、NoSQL のデータベースサービスです。Elastic MapReduce を使用して、DynamoDB に保管されたデータセットを分析して結果を DynamoDB に読み込むか、または Amazon S3 でアーカイブすることが可能です。
CloudWatch の無料メトリックス(動画)
ヘルプが必要ですか?
Elastic MapReduce フォーラムで質問する

サインアップが簡単、
使用料金は従量課金制です
の利用を申し込む


注目のお客様の声
foursquare

「当社独自の Hadoop クラスタを維持するよりも、Elastic MapReduce を使用して S3 に格納されたデータを分析することは明確な選択でした。Hadoop は設定および管理が困難で、小さな問題のデバッグのために何週間も費やすことになりかねません。Elastic MapReduce は、専用のサポート要員も必要なく、この無駄な時間と労力を取り除いてくれます」。導入事例の全文を読む。
「Amazon Elastic MapReduce を利用したおかげで、ハードウェアへの先行投資もなく、ハードウェア調達の遅れもなく、追加の運用スタッフを雇う必要もありませんでした。プラットフォームの柔軟性のおかげで、当社の最初の新規オンライン広告キャンペーンは、年前に行った同様のキャンペーンに比べ、広告収益が500%も増加しました」。導入事例の全文を読む。

このページには下記のカテゴリの情報が含まれています。下へジャンプしたい場合はクリックしてください。

Amazon Elastic MapReduce の機能性

Amazon Elastic MapReduce は自動的に、Amazon EC2 インスタンス上で、MapReduce フレームワークの Hadoop 実装をスピンアップし、ジョブフローのデータを小さな塊に分割して、それらが並列処理(「マップ」機能)され、最終的に処理データが最終形態に再結合(「還元」機能)されるようにします。Amazon S3 は、分析されるデータのソースとして、また最終結果の出力先として機能します。

Amazon Elastic MapReduce を使用するには、以下の手順に従うだけです:

  • データ処理アプリケーションを開発します。Amazon Elastic MapReduce では、Hive や Pig など、SQL のような言語で開発するジョブフローが可能です。これにより、データ分析スクリプトを簡単に記述できます。MapReduce 開発パラダイムについての深い知識は必要ありません。望むなら、Cascading、Java、Ruby、Perl、Python、PHP、R、C++ の中から選んで、より洗練されたアプリケーションを開発することもできます。入門ガイドにはいくつかのコードサンプルとチュートリアルが用意されています。これにより、速やかな立ち上げと稼動を開始することができるでしょう。
  • データと処理アプリケーションを Amazon S3 にアップロードします。Amazon S3 は、データの入出力のために、信頼性の高い、拡張可能な、使いやすいストレージを提供します。
  • AWS Management Console にログインし、Amazon Elastic MapReduce「ジョブフロー」を開始します。望みの Amazon EC2 インスタンスの数と種類を選択し、Amazon S3 上のデータおよび/またはアプリケーションのロケーションを指定します。それから [ジョブフローの作成] ボタンをクリックします。代わりに、コマンドラインツールまたは API を使用して、上記と同様の情報を指定し、ジョブフローを開始することもできます。より複雑なワークロードのために、追加のソフトウェアをインストールする、またはブートストラップアクションを使用して、Amazon EC2 インスタンスの設定を変更することができます。
  • AWS Management Console、コマンドラインツール、または API から直接ジョブフローの進行を監視します。ジョブフローが完了したら、Amazon S3 からの出力を取得します。オプションで、AWS Management Console のジョブフロー デバッグウィンドウから、お客様のジョブフローの手順、ジョブ、タスク、またはタスクの試みの進行度をトラッキングし、問題を特定することができます。Amazon Elastic MapReduce は、Amazon SimpleDB を使用して、ジョブフローの状態情報を格納します。
  • 実際に消費したリソースに対してのみ料金をお支払いいただきます。Amazon Elastic MapReduce はジョブフローを監視します。そして特に指定しない限り、ジョブの完了後に Amazon EC2 インスタンスをシャットダウンします。

サービス概要

柔軟性 - Amazon Elastic MapReduce では、Hadoop 上で稼動する計算処理インスタンスの数を、お客様が望むだけ使用することができます。1つ、数百、または数千のインスタンスを作動させ、ギガバイト、テラバイト、そして時にはペタバイトものデータを処理することができます。ジョブフローを実行中に数々のインスタンスを変更できます。また、制限なく複数のジョブフローを同時に実行できます。大規模な Hadoop ジョブフローを、数時間や数日ではなく、数分以内にすぐに処理を開始できます。ジョブフローの完了時、特に指定しない場合は、サービスが自動的にインスタンスを停止します。

簡単使用 - Hadoop クラスタのセットアップ、稼動、パフォーマンスの調整について心配する必要はありません。その代わりに、データ分析に集中することができます。使いやすいツールと、サンプルデータの処理アプリケーションが提供されるので、コードを一行も記述することなく、立ち上げと稼動を行うことができます。ジョブフローを開始すると、Amazon Elastic MapReduce は、Amazon EC2 インスタンスのセットアップ、セキュリティ設定、Hadoop 設定とセットアップ、ログ収集、健全度モニタリング、および実行中のジョブフローから自動的に問題のあるインスタンスを削除するなど、その他のハードウェア関連の複雑性を処理します。

信頼性 - Amazon Elastic MapReduce は、Amazon の極めて信頼性の高いインフラストラクチャ上に構築されています。また、Amazon インフラストラクチャ環境に特化するよう、Hadoop のパフォーマンスを調整しています。このサービスは、ジョブフローの実行も監視し、失敗したタスクの再実行、問題インスタンスの停止、失敗タスクに新しいノードを提供します。

その他の AWS サービスとシームレスに統合 - Amazon Elastic MapReduce は、Amazon S3 や DynamoDB、EC2 といったその他の AWS サービスと簡単に統合されるよう設計されており、データ処理アプリケーションのためのインフラストラクチャを提供します。このサービスはジョブフローを Amazon EC2 内で実行し、入出力データを Amazon S3 や Amazon DynamoDB に保管します。

セキュリティ - Amazon Elastic MapReduce は自動的に Amazon EC2 ファイヤウォール設定を行います。これがジョブフローを実行するインスタンスに対する、またはインスタンス間のネットワークアクセスをコントロールします。ジョブフローは Amazon Virtual Private Cloud(Amazon VPC)内で起動することができ、そうすることにより使用したい IP 幅を指定してコンピュートインスタンスを隔離し、業界標準の暗号化された IPsec VPN を使用して、既存の IT インフラストラクチャに接続することができます。

安価 – Amazon Elastic MapReduce は、Amazon のもつ規模の経済のメリットをお客様にもたらします。実際に使用するコンピュート能力に対してのみ、非常に低額な料金をお支払いただきます。Amazon Elastic MapReduce は、ジョブフローの進行を監視して、ジョブフローの完了時にリソースを停止することにより、コストを削減するために最適化されています。

  • オンデマンド インスタンス – オンデマンドのインスタンスを使えば、使用するコンピュータ処理能力に対して、時間単位で料金を支払います。長期間のコミットメントは必要ありません。これは、ハードウェアのプランニング、購入、管理のコストや複雑性からお客様を解放し、一般的には高額の固定費となるものを、ずっと低額の変動費へと変換します。オンデマンドインスタンスはまた、定期的なトラフィックの急上昇を処理するための、余剰設備を購入する必要性も排除します。
  • リザーブドインスタンス – リザーブドインスタンスは、お客様が予約したい各インスタンスについて、低額の、一括払いをを行うオプションを提供し、その見返りとして、そのインスタンスについて、時間当たりの使用料金に対して大幅な割引を受け取るというものです。インスタンスの一括払いが終わると、そのインスタンスがお客様のために予約されます。そしてその他の義務は発生しません。お客様の期間中、割引使用料金でインスタンスを実行することができます。またインスタンスを使用しない場合は、その使用料金は支払いません。
  • スポットインスタンス: スポットインスタンスとは、お客様が未使用の Amazon EC2 容量に値段をつけることができるもので、その値段が現在のスポット価格を上回る限り、これらのインスタンスをご利用いただけます。スポット価格は、需要と供給の関係に基づいて定期的に変化し、入札価格がそれに適合、または超過したお客様が、多くの場合大幅な割引価格で、そのスポットインスタンスにアクセスすることができます。詳細については、Amazon Elastic MapReduce 開発者ガイドのスポットインスタンスのセクションをご覧ください。スポットインスタンスに関する追加情報については、Amazon EC2 スポットインスタンスのページをご参照ください。

複数のロケーション - Amazon Elastic MapReduce は、地理的に分散した EC2 インフラストラクチャを使用しています。現在は、米国東部(バージニア北部)、米国西部(オレゴン)、米国西部(北カリフォルニア)、欧州(アイルランド)、アジアパシフィック(シンガポール)、アジアパシフィック(東京)、および南米(サンパウロ)リージョンでご利用いただけます。

サードパーティツール — Amazon Elastic MapReduce は、幅広い種類のサードパーティツールやソリューションと統合できます。たとえば、Karmasphere Analyst は、Amazon Elastic MapReduce のデータを分析するための視覚的なデスクトップのワークスペースです。これは、構造化データと非構造化データへの SQL ベースのクエリを実行し、結果を可視化するグラフィカルなツールを提供します。Karmasphere Analyst は時間単位の料金で、前金の支払いや長期的な契約は必要ありません。詳細については、Elastic MapReduce と Karamasphere Analytics の詳細ページをご覧ください。


インスタンスタイプ

Amazon Elastic MapReduce を使用するには、使用したい Amazon EC2 インスタンスの種類や数量を最初に選択する必要があります。Amazon Elastic MapReduce では、Amazon EC2 Linux/Unix インスタンスタイプを使用できます。オンデマンドおよびリザーブドインスタンスの両方がサポートされています。お客様がリザーブドインスタンスを保有していれば、最初にジョブフローが使用します。現在 Amazon Elastic MapReduce でサポートしているのは、以下に一覧されているインスタンスタイプのみです。

スタンダード Amazon EC2 インスタンス

このファミリーのインスタンスは、ほとんどのアプリケーションに適しています。

  • スモール インスタンス(デフォルト)、1.7 GB メモリ、1 ECU(1 EUC × 1 仮想コア)、160 GB のローカルインスタンス ストレージ、32ビットプラットフォーム
  • ラージ インスタンス、7.5 GB メモリ、4 ECU(2 ECU × 2 仮想コア)、850 GB のローカルインスタンス ストレージ、64ビットプラットフォーム
  • エクストララージ インスタンス、15 GB メモリ、8 ECU(2 ECU × 4 仮想コア)、1,690 GB のローカルインスタンス ストレージ、64ビットプラットフォーム

Amazon EC2 ハイメモリ インスタンス

このファミリーのインスタンスは、データベースやメモリキャッシング アプリケーションなど、高スループットのアプリケーションのために、大容量のメモリサイズを提供します。

  • ハイメモリ エクストララージ インスタンス、17.1 GB メモリ、6.5 ECU(3.25 ECU × 2 仮想コア)、420 GB のローカルインスタンス ストレージ、64ビットプラットフォーム
  • ハイメモリ ダブル エクストララージ インスタンス、34.2 GB メモリ、13 ECU(3.25 ECU × 4 仮想コア)、850 GB のローカルインスタンス ストレージ、64ビットプラットフォーム
  • ハイメモリ クアドラプル エクストララージ インスタンス、68.4 GB メモリ、26 ECU(3.25 ECU × 4 仮想コア)、1,690 GB のローカルインスタンス ストレージ、64ビットプラットフォーム

Amazon EC2 ハイ CPU インスタンス

このファミリーのインスタンスは、比率的にメモリ(RAM)よりも多くの CPU リソースを持ちます。

  • ハイ CPU ミディアムインスタンス、1.7 GB メモリ、5 ECU(2.5 ECU × 2 仮想コア)、350 GB のローカルインスタンス ストレージ、32ビットプラットフォーム
  • ハイ CPU エクストララージ インスタンス、7 GB メモリ、20 ECU(2.5 ECU × 8 仮想コア)、1,690 GB のローカルインスタンス ストレージ、64ビットプラットフォーム

高性能コンピューティング Amazon EC2 インスタンス

このファミリーのインスタンスは、大量のメモリサイズ、10 Gbps の高速 CPU ネットワークを組み合わせています。高性能、I/O 集中アプリケーション、科学的調査におけるゲノムのマッピング、エンジニアリングにおける航空宇宙や自動車設計のシミュレーション、ビジネスインテリジェンスに対するデータマイニングに適しています。

  • クラスタコンピュートクアドラプルエクストララージ、23 GB メモリ、33.5 ECU、1,690 GB のローカルインスタンスストレージ、64 ビットプラットフォーム、10 ギガビットイーサネット
  • クラスタコンピュート エイト エクストララージ、60.5 GB メモリ、88 ECU、3370 GB のローカル インスタンス ストレージ、64 ビットプラットフォーム、10 ギガバイト イーサネット
  • クラスタ GPU クアドラプル エクストララージ、22 GB メモリ、33.5 ECU、2 x NVIDIA Tesla “Fermi” M2050 GPU、1,690 GB のローカル インスタンス ストレージ、64 ビットプラットフォーム、10 ギガバイト イーサネット

EC2 Compute Unit(ECU) - 1 EC2 Compute Unit(ECU)は、1.0-1.2 GHz 2007 Opteron または 2007 Xeon プロセッサの CPU 能力と同等の能力を提供します。


価格

Amazon Elastic MapReduce は現在、米国、欧州、アジアパシフィック、および南米のリージョンでご利用いただけます。使用分に対してのみ料金をお支払いいただき、最低料金はありません。Amazon Elastic MapReduce の料金は、通常の Amazon EC2 および Amazon S3 料金に加算されます。

Amazon EC2、Amazon S3、および Amazon SimpleDB の料金は別々に請求されます。Amazon Elastic MapReduce の料金は、ジョブフローが処理を開始してから終了するまで、各インスタンスタイプについて消費されるインスタンス時間ごとに課金されます。1時間未満の各インスタンス時間は、1時間分として請求されます。Amazon EC2 インスタンスタイプ、Amazon EC2 リザーブドインスタンス料金、Amazon S3 料金、Amazon SimpleDB 料金の詳細については、以下のリンクをクリックしてください。

Amazon EC2 インスタンスタイプ

Amazon EC2 リザーブドインスタンス料金表

Amazon S3 料金表

Amazon SimpleDB 料金表


詳しい説明

Amazon Elastic MapReduce は、その分散型処理エンジンとして、Apache Hadoop を使用しています。Hadoop はオープンソースの Java ソフトウェアフレームワークで、商用ハードウェアの大規模なクラスタ上で稼動する、莫大なデータを処理する分散型アプリケーションをサポートしています。Hadoop は、「MapReduce」と呼ばれる計算モデルを実装しています。ここではジョブは小さな作業断片に分割され、その各作業断片を、クラスタ上の任意のノードで実行することができます。このフレームワークは開発者、企業、ベンチャービジネスによって利用されており、最大ペタバイトに達するデータを、何千もの商用マシンクラスタ上で処理するために、信頼性の高いソフトウェアプラットフォームであることを証明しています。

Amazon Elastic MapReduce によって、Java、Perl、Ruby、Python、PHP、R、または C++ など、様々な言語でデータ処理アプリケーションを実施できます。これらのアプリケーションを異なるインスタンスタイプやジョブフローのサイズ上でテストし、お客様独自の事例のために最適なパフォーマンス設定を行うことができます。

AWS Management Console にログインし、Amazon Elastic MapReduce「ジョブフロー」を開始します。望みの Amazon EC2 インスタンスの数と種類を選択し、Amazon S3 上のデータおよび/またはアプリケーションのロケーションを指定します。それから [ジョブフローの作成] ボタンをクリックします。代わりに、コマンドラインツールまたは API を使用して、上記と同様の情報を指定し、ジョブフローを開始することもできます。Amazon Elastic MapReduce は使いやすく柔軟性の高い、シンプルなウェブサービス インターフェイスを採用しています。

  • RunJobFlow: ジョブフロー リクエストを作成し、EC2 インスタンスを起動して処理を開始します。
  • DescribeJobFlows: ジョブフロー リクエストのステータスを提供します。
  • AddJobFlowSteps: その他の手順を、すでに実行中のジョブフローに追加します。
  • TerminateJobFlows: 実行中のジョブフローを終了し、すべてのインスタンスをシャットダウンします。

20を超えるジョブフローを実行したい場合は、インスタンス申請フォームにご記入ください。

従量課金制

実際に使用したリソース分に対してのみお支払いいただきます。例えば、Amazon Elastic MapReduce のジョブフローのために、100の Amazon EC2 スタンダード スモールインスタンスを立ち上げたとします。この場合、Amazon Elastic MapReduce のコストは1時間ごとに$0.015増加します。Amazon EC2 インスタンスはすぐにブートを開始しますが、それらのすべてが必ずしも同時に開始するわけではありません。Amazon Elastic MapReduce は、タスク処理を受け付けられるように、各インスタンスの起動時を記録し、それらをクラスタに登録します。

リクエストを起動してから最初の10分間、Amazon Elastic MapReduce はジョブフローを開始(お客様の全インスタンスが利用可能な場合)するか、または可能な限り多くのインスタンスを登録します。10分間が経過すると、Amazon Elastic MapReduce は、リクエストされたインスタンスの90%が利用可能となった時点で、可及的速やかにジョブフローの処理(または課金)を開始します。リクエストされたインスタンスの残り10%も登録されているため、Amazon Elastic MapReduce は、これらのインスタンスに対しても同様に課金を開始します。

そのため上記例では、リクエストの起動開始後10分間でリクエストされたインスタンス100がすべて利用可能な場合は、ジョブフローが完了する限り、1時間に付き$1.50(100 × $0.015)が課金されます。その10分間でリクエストされたインスタンスの90のみが利用可能であった場合は、これがジョブフローを実行するインスタンス数である限り、一時間に付き$1.35(90 × $0.015)が課金されます。残りの10インスタンスが登録された場合、ジョブフローの残りが完了する限り、1時間に付き$1.50(100 × $0.015)が課金されます。各ジョブフローは、以下のいずれかが発生するまで実行されます: TerminateJobFlows API 呼び出し(または同等のツール)でジョブフローを終了する、ジョブフローがそれ自体をシャットダウンする、ソフトウェアまたはハードウェアの障害のためにジョブフローが終了する。消費される1時間未満のインスタンス時間は、1時間分として請求されます。


使用目的と制約

このサービスの利用は、Amazon Web Services カスタマーアグリーメントによって規定されています。