Amazon EMR を使用する利点 - Amazon EMR

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon EMR を使用する利点

Amazon EMR を使用すると、多くの利点があります。このセクションでは、このようなメリットの概要と、詳しい情報へのリンクを示します。

コスト削減

Amazon EMR の料金は、デプロイするインスタンスタイプと Amazon EC2 インスタンス、およびクラスターを起動するリージョンによって異なります。オンデマンド料金は低価格ですが、リザーブドインスタンスまたはスポットインスタンスを購入すると、コストをさらに抑えることができます。スポットインスタンスを利用すると大幅に節約できます。場合によっては、オンデマンド料金の 10 分の 1 になります。

注記

EMR クラスターとともに Amazon S3、Amazon Kinesis、または DynamoDB を使用している場合、Amazon EMR の利用とは別個に請求されるサービスについては追加料金が発生します。

料金のオプションと詳細については、「」Amazon EMR の料金

AWS の統合

Amazon EMR は、他のAWSサービスを使用して、クラスターのネットワーキング、ストレージ、セキュリティなどに関連する機能を提供しています。次のリストに、この統合の例をいくつか示します。

  • クラスターのノードを構成するインスタンスの Amazon EC2

  • インスタンスを起動する仮想ネットワークを設定するための Amazon Virtual Private Cloud (Amazon VPC)

  • 入力データと出力データを保存するための Amazon S3

  • クラスターのパフォーマンスを監視し、アラームを設定する Amazon CloudWatch

  • AWS Identity and Access Management(IAM) を使用してアクセス許可を設定する

  • サービスに対して行われたリクエストを監査する AWS CloudTrail

  • クラスターをスケジュールおよび開始する AWS Data Pipeline

  • AWS Lake FormationAmazon S3 データレイク内のデータを検出、カタログ、およびセキュリティで保護します。

Deployment

EMR クラスターは、クラスターに送信した処理を実行する EC2 インスタンスで構成されます。クラスターを起動すると、選択したアプリケーション (Apache Hadoop や Spark など) を使用してインスタンスが Amazon EMR によって構成されます。クラスターの処理の必要に最も合うインスタンスサイズとタイプを選択します (バッチ処理、レイテンシークエリ、ストリーミングデータ、または大容量データストレージ)。Amazon EMR で使用できるインスタンスタイプの詳細については、」クラスターハードウェアおよびネットワークを構成する

Amazon EMR には、クラスター上のソフトウェアを設定するためのさまざまな方法があります。たとえば、Hadoop などの多用途フレームワークと Hive、Pig、Spark などのアプリケーションを含むアプリケーションセットを選択し、Amazon EMR リリースをインストールすることができます。また、いくつかの MapR ディストリビューションの 1 つをインストールすることもできます。Amazon EMR は Amazon Linux を使用するため、yum パッケージマネージャーを使用するか、ソースから手動でクラスターにソフトウェアをインストールすることもできます。詳細については、「クラスターソフトウェアを構成する」を参照してください。

スケーラビリティと柔軟性

Amazon EMR には、コンピューティングニーズの変化に合わせてクラスターを拡大または縮小できる柔軟性が備わっています。クラスターのサイズを変更し、ピークワークロード用にインスタンスを追加したり、ピークワークロードが減少したときにインスタンスを削除してコストをコントロールしたりすることができます。詳細については、「実行中のクラスターを手動でサイズ変更する」を参照してください。

Amazon EMR には、複数のインスタンスグループを実行することにより、あるグループでオンデマンドインスタンスを使用して処理能力を保証すると同時に、別のグループでスポットインスタンスを使用してジョブを高速に低コストで完了できるようにするオプションも用意されています。異なるインスタンスタイプを混ぜて、別のインスタンスタイプよりも有利なスポットインスタンスタイプの料金を活かすこともできます。詳細については、「スポットインスタンスはいつ使用すべきですか?」を参照してください。

さらに、Amazon EMR には入力データ、出力データ、中間データに複数のファイルシステムを使用する柔軟性も備わっています。たとえば、クラスターのライフサイクル後に保存する必要がないデータを処理するために、クラスターのマスターノードとコアノードで実行される Hadoop Distributed File System (HDFS) を選択することができます。EMR File System (EMRFS) を選択し、コンピューティングとストレージを分離して、データをクラスターのライフサイクル外に保持できるように、Amazon S3 をクラスターで実行されるアプリケーションのデータレイヤーとして使用することができます。EMRFS には、コンピューティングのニーズとストレージのニーズそれぞれに合わせて拡大または縮小できるという利点もあります。コンピューティングのニーズが変化した場合はクラスターのサイズを変更することができ、ストレージのニーズが変化した場合は Amazon S3 を使用することができます。詳細については、「ストレージおよびファイルシステムの操作」を参照してください。

Reliability

Amazon EMR は、クラスター内のノードを監視し、障害が発生した場合はインスタンスを自動的に終了して置き換えます。

Amazon EMR には、クラスターが自動的に終了するか手動で終了するかを制御する設定オプションがあります。クラスターが自動的に終了されるように設定した場合、すべてのステップが完了すると終了されます。これは一時的なクラスターと呼ばれます。一方、クラスターが必要なくなったときに手動で終了を選択できるように、処理が完了した後もクラスターが実行され続けるように設定することもできます。または、クラスターを作成して、インストールされたアプリケーションを直接操作した後、必要なくなった時に手動で終了することもできます。このようなクラスターは長時間稼働クラスターと呼ばれます。

さらに、削除保護を設定し、処理中にエラーや問題が発生した場合にクラスター内のインスタンスが削除されないようにすることもできます。終了保護が有効になると、終了前にインスタンスからデータを回復できます。これらのオプションのデフォルト設定は、クラスターの起動方法 (コンソール、CLI、または API) によって異なります。詳細については、「終了保護の使用」を参照してください。

Security

Amazon EMR は、他のAWSIAM や Amazon VPC などのサービス、および Amazon EC2 キーペアなどの機能を利用して、クラスターやデータを保護します。

IAM

Amazon EMR は、アクセス権限を管理するため IAM と統合されています。アクセス権限は、IAM ユーザーまたは IAM グループにアタッチする IAM ポリシーを使用して定義します。ポリシーで定義したアクセス権限により、それらのユーザーまたはグループのメンバーが実行できるアクションと、アクセスできるリソースが決まります。詳細については、「Amazon EMR と IAM の連携」を参照してください。

さらに、Amazon EMR は Amazon EMR サービス自体の IAM ロールとインスタンスの EC2 インスタンスプロファイルを使用します。これらのロールは、サービスおよびインスタンスに対して、他のAWSのサービスをお客様に代わって Amazon EMR サービスのデフォルトロールと EC2 インスタンスプロファイルのデフォルトロールが存在します。デフォルトのロールは、AWS管理ポリシーが適用されます。初めてコンソールから EMR クラスターを起動してデフォルトアクセス権限を選択したときに自動的に作成されます。デフォルトの IAM ロールは、AWS CLI。代わりに、アクセス権限を管理する場合AWSサービスプロファイルにカスタムロールを選択し、サービスとインスタンスプロファイルにカスタムロールを選択できます。詳細については、「Amazon EMR アクセス許可の IAM サービスロールをAWSのサービスとリソース」を参照してください。

セキュリティグループ

Amazon EMR は、セキュリティグループを使用して、EC2 インスタンスへのインバウンドトラフィックとアウトバウンドトラフィックをコントロールします。クラスターを起動すると、Amazon EMR はマスターインスタンスのセキュリティグループと、コア/タスクインスタンスにより共有されるセキュリティグループを使用します。Amazon EMR は、クラスター内のインスタンス間の通信を確実にするために、セキュリティグループルールを設定します。オプションで、追加のセキュリティグループを設定し、高度なルールで、マスターインスタンスとコア/タスクインスタンスにそのグループを割り当てることができます。詳細については、「セキュリティグループを使用してネットワークトラフィックの制御」を参照してください。

Encryption

Amazon EMR では、Amazon S3 に保存するデータを保護するため、EMRFS を使用したオプションの Amazon S3 サーバー側の暗号化とクライアント側の暗号化がサポートされます。サーバー側の暗号化を使用すると、Amazon S3 後にデータを暗号化します。

クライアント側の暗号化を使用すると、暗号化および復号プロセスは EMR クラスターの EMRFS で行われます。クライアント側の暗号化のマスターキーは、AWS Key Management Service (AWS KMS) またはユーザー独自のキー管理システムのキーを使用して管理します。

詳細については、「」を参照してください。EMRFS を使用した Amazon S3 データの暗号化Amazon EMR リリース ガイド

Amazon VPC

Amazon EMR は、Amazon VPC 内の仮想プライベートクラウド (VPC) でのクラスターの起動をサポートします。VPC は、AWSには、ネットワーク設定およびアクセスの細かい側面をコントロールする機能が備わっています。詳細については、「ネットワーキングを設定する」を参照してください。

AWS CloudTrail

Amazon EMR は CloudTrail と統合されており、お客様の代わりに実行されたリクエストに関する情報をログ記録します。AWSアカウント. この情報を使用すると、クラスターにアクセスしたユーザーや日時に加え、リクエストの生成元 IP アドレスを追跡できます。詳細については、「での Amazon EMR API コールのログ記録AWS CloudTrail 」を参照してください。

Amazon EC2 のキーペア

リモートコンピュータとマスターノードの間で安全な接続を確立することにより、クラスターを監視して操作することができます。セキュアシェル (SSH) ネットワークプロトコルを使用して接続するか、Kerberos で認証することができます。SSH を使用する場合は Amazon EC2 EC2 key pair が必要です。詳細については、「SSH 認証情報に Amazon EC2 のkey pair を使用する」を参照してください。

Monitoring

Amazon EMR 管理インターフェイスとログファイルを使用して、障害やエラーなどのクラスターの問題をトラブルシューティングできます。Amazon EMR には、ログファイルを Amazon S3 にアーカイブする機能があるため、クラスターの終了後もログを保存し、問題のトラブルシューティングを行うことができます。Amazon EMR では、ステップ、ジョブ、およびタスクに基づいてログファイルを参照するための、オプションのデバッグツールを Amazon EMR コンソールで提供しています。詳細については、「クラスターのロギングとデバッグの構成」を参照してください。

Amazon EMR は CloudWatch と統合して、クラスターとクラスター以内のジョブのパフォーマンスメトリクスを追跡します。クラスターがアイドル状態かどうかや使用されているストレージの割合など、さまざまなメトリクスに基づいてアラームを設定できます。詳細については、「CloudWatch によるメトリクスのモニタリング」を参照してください。

管理インターフェイス

Amazon EMR を操作するには、いくつかの方法があります。

  • コンソール— クラスターの起動と管理に使用できるグラフィカルユーザーインターフェイス。起動するクラスターの詳細をウェブフォームに入力することで指定し、既存のクラスターの詳細を確認して、クラスターのデバッグや終了を行うことができます。コンソールは、初めて Amazon EMR を使う場合に最も簡単な方法です。プログラミングの知識は必要ありません。コンソールは、からオンラインで使用できます。https://console.aws.amazon.com/elasticmapreduce/home

  • AWS Command Line Interface(AWS CLI)— Amazon EMR に接続し、クラスターを作成して管理するためにローカルマシンで実行するクライアントアプリケーション。-AWS CLIには、Amazon EMR 固有の機能が豊富な 1 つのコマンド一式が含まれています。これを利用すると、クラスターの起動と管理のプロセスをスクリプトで自動化できます。コマンドラインから作業する場合は、AWS CLI を使用するのが最適の選択肢です。詳細については、「」を参照してください。Amazon EMR()AWS CLIコマンドリファレンス

  • ソフトウェア開発キット (SDK)— SDK には、Amazon EMR を呼び出してクラスターを作成し、管理する機能が備わっています。これを利用すると、クラスターの作成や管理のプロセスを自動化するアプリケーションを作成できます。Amazon EMR の機能を拡張したりするには、SDK が最適の選択肢です。Amazon EMR は現在、次の SDK で利用可能です。Go、Java、.NET (C#、C#、VB.NET)、Node.js、、、、PHP、PHP、PHP、.NET これらの SDK の詳細については、「」を参照してください。用のツールAWSおよびAmazon EMR サンプルコードとライブラリ

  • ウェブサービス API— JSON を使用して直接ウェブサービスを呼び出すことができる低レベルインターフェイスです。Amazon EMR を呼び出すカスタム SDK を作成するには、この API が一番の選択肢です。詳細については、「」を参照してください。Amazon EMR API リファレンス