Amazon Web Services ブログ
Amazon EMR Update – EBS および M4 & C4 インスタンスタイプのサポート
同僚の Abhishek Sinha が Amazon EMR の最新の追加機能について記述したゲストポストを、以下に掲載します。
–
Jeff
Amazon EMR は、Apache Hadoop、Apache Spark、Presto などの分散データ処理フレームワークを使って、EC2 インスタンスのマネージドクラスター上のデータを処理することを可能にするサービスです。
新しいバージョンの EMR (3.10 および 4.x) では、Amazon EBS ボリュームを使用して、各インスタンスのローカルストレージを増やすことができます。これは、サポートされるインスタンスタイプの既存のセットですぐれた機能を発揮し、EMR で M4 と C4 のインスタンスタイプを使用することを可能にします。ここでは、これらの両方の機能について詳しく説明します。
Amazon EBS の使用によるインスタンスストレージの拡大
EMR は HDFS (Hadoop Distributed File System) 用に各インスタンスのローカルストレージを使用して、S3 からのデータを処理する際に EMRFS を使用して中間ファイルを保存します。このストレージを拡張するために、EBS ボリュームを使用できるようになりました。EBS ボリュームは、関連付けられているインスタンスのライフサイクルに結び付けられ、インスタンスの既存のストレージが増えます。クラスターが終了すると、関連付けられている EBS ボリュームも一緒に削除されます。
次のシナリオでは、EMR インスタンスのストレージをカスタマイズできる利点を活用できます。
- 処理要件として、インスタンスのデフォルトで利用できる HDFS (またはローカル) ストレージよりも多くのストレージが必要 – EBS ボリュームのサポートにより、インスタンスが提供するコンピューティング性能に応じて、インスタンスのストレージキャパシティーをカスタマイズできます。また、インスタンスのストレージを最適化することでコストを節約できます。
- M4、C4、R3 などの最新世代の EC2 インスタンスタイプのメリットを活用する必要があり、しかもこれらのインスタンスタイプで利用できるよりも多くのストレージが必要 – EBS ボリュームを追加してストレージをカスタマイズすることにより、ニーズをよりよく満たせるようになります。旧式の M1 や M2 のインスタンスを使用している場合、より新しい M4、C4、および R3 のインスタンスに移行することによって、コストを削減し、パフォーマンスを改善できます。お使いのアプリケーションのベンチマークテストを行い、特定のワークロードへの影響を計測することをお勧めします。
注意する必要がある点として、Amazon EMR クラスターに追加される EBS ボリュームでは、クラスターがシャットダウンするとデータが消滅するということがあります。EMR では、クラスターの終了時にボリュームは自動的にクリーンアップされます。
クラスターへの EBS ボリュームの追加
EMR では、現在、クラスター内のノードは 3 つの論理インスタンスグループにまとめられます。これらのグループとしては、YARN Resource Manager と HDFS Name Node サービスを実行するマスターグループ、HDFS DataNode デーモンと YARN Node Manager サービスを実行するコアグループ、および YARN Node Manager サービスを実行するタスクグループがあります。EMR では、クラスターごとに最大 50 のインスタンスグループがサポートされ、グループごとにインスタンスタイプを選択できます。特定のインスタンスグループの各インスタンスに追加する EBS ストレージのサイズを指定できるようになりました。複数の EBS ボリュームの指定、インスタンスストレージのあるインスタンスへの EBS ボリュームの追加、さらには、異なるタイプの異なるボリュームの組み合わせを行うことができます。次に、EMR コンソールでストレージ構成を指定する方法を示します。
例えば、コアグループとして、m4.2xlarge インスタンスを使用し、1 ペアの 1 TB gp2 (汎用 SSD) ボリュームをアタッチし、グループ内に 10 のインスタンスが存在するように構成して、結果として、コアグループには、10 のインスタンスと合計 20 ボリュームが存在するようにします。次の図に、このセットアップの例を示します。
詳細については、EBS の「よくある質問」を参照してください。 EBS のサポートは、AMI 3.10 および EMR リリース 4.0 から利用できます。
EBS ボリュームのパフォーマンス特性
Amazon EMR では、汎用 SSD (GP2)、マグネティック、プロビジョンド IOPS (SSD) の 3 つの異なる EBS ボリュームタイプが利用できます。使用するボリュームのタイプは、ジョブの特性に応じて選択できます。当社の内部テストでは、汎用 SSD ボリュームはほとんどのワークロードの要件を満たすことが示されていますが、お客様においては、自身のワークロードを使用してテストすることが推奨されます。注目すべき点として、汎用 SSD ボリュームは基準パフォーマンスとして 3 IOPS/GiB (最大 10,000 IOPS) を備えており、バースト時には 1,000 GiB 以下のボリュームで 3,000 IOPS を達成します。詳細については、「I/O クレジットおよびバーストパフォーマンス」を参照してください。次の表に、ボリュームタイプごとのパフォーマンス特性を示します。
汎用 (SSD) | プロビジョンド IOPS | マグネティック | |
ストレージメディア | SSD タイプ | SSD タイプ | 磁気タイプ |
最大ボリュームサイズ | 16 TB | 16 TB | 1 TB |
ボリューム当たりの最大 IOPS | 10,000 IOPS | 20,000 IOPS | ~100 IOPS |
最大 IOPS バーストパフォーマンス | 3000 IOPS (1 TB 以下のボリューム時) | 該当なし | 数百 |
ボリューム当たりの最大スループット | 160 MB/秒 | 320 MB/秒 | 40~90 MB/秒 |
最大 IOPS/ノード (16K) | 48,000 | 48,000 | 48,000 |
最大スループット/インスタンス | 800 MB/秒 | 800 MB/秒 | 800 MB/秒 |
レイテンシー (ランダム読み取り) | 1~2 ms | 1~2 ms | 20~40 ms |
API 名 | gp2 | io1 | スタンダード |
M4 および C4 のインスタンスのサポート
M4 および C4 のインスタンスが利用可能なリージョンで、それらのインスタンスを使用する EMR クラスターを起動できるようになりました。M4 インスタンスは、独自の Intel Xeon E5-2676 v3 (Haswell) プロセッサで動作し、C4 インスタンスは、Intel Xeon E5-2666 v3 プロセッサで動作します。これらのインスタンスは、EC2 で最高レベルのプロセッサパフォーマンスを提供するように設計されています。両方のタイプのインスタンスは、拡張ネットワーキングをサポートします。拡張ネットワーキングは、それが無効な場合に比べて最大 4 倍のインスタンスパケットレートを達成します。さらに、高ネットワーク I/O の状況下でも一貫したレイテンシーを維持します。M4 と C4 の両方のインスタンスは、デフォルトで EBS 最適化されており、I/O 操作用に専用のネットワークキャパシティーが追加されています。これらのインスタンスは、64 ビット HVM AMI をサポートし、VPC 内でのみ起動できます。
これらのインスタンスの料金の詳細については、Amazon EMR の「料金」ページを参照してください。
生産性向上に役立つヒント
EBS ボリュームを含む既存の EMR 4.x クラスターの構成を作成する create-cluster
コマンドを生成できます。コマンドを生成することで、AWS コマンドラインインターフェイス (CLI) を使用して、クラスターを再作成できるようになります。
すぐに利用できます
これらの新機能はすでに利用可能であり、すぐに使用を開始できます。
– Abhishek Sinha、シニア製品マネージャー