この記事はAWSシニアエバンジェリスト Jeff BarのAmazon Web Services Blogの記事、Store and Process Large Sequential Data Sets with EC2 Cluster Instancesを堀内康弘 (Facebook, Twitter)が翻訳したものです。
これまで、EC2のクラスターインスタンスとEBSを組みあわせたときに可能となるパフォーマンスについて、あまり話をしたことはありませんでした。 本日は声を大にしてこのことをお伝えしたいと思います!
EC2のクラスターインスタンスタイプ (CC2、CR1、CG1、HI1、HS1)は、インスタンスとElastic Block Storage (EBS)のボリューム間の高性能(10ギガビット)なネットワークをサポートしています。 このタイプのインスタンスは、高性能なリレーショナルおよびNoSQLのデータベースをホストするのに最適です。また、高いスループットや大量のデータに対するシーケンシャルなアクセスを必要とするようなワークロードを処理するのにも適しています。
EBS プロビジョンド IOPSのボリュームを使って、ストレージアレイを作成すれば、最大数十テラバイトを保存できるだけでなく、上述したインスタンスタイプのインスタンスからアクセスした場合、最大48,000 IOPS (16kバイト)の性能を発揮します。 これは、秒間768メガバイトのデータ転送が行えることを意味します。mdadmを使って、複数のEBSボリュームにまたがるストレージアレイを作成することができます。もちろん構築するアプリケーションやデータベースに最も適した、他の並列I/O処理のテクニックを使うこともできます。
下記のCloudWatchグラフは、CC2インスタンスで稼働中の12のEBSボリュームを示しています。 各ボリュームは4000IOPSをプロビジョンしており、テストを実行している間、ボリュームあたり、一貫して秒間64メガバイトを配信していることが確認できます。

このスループットを達成するため、ボリュームをpre-warmし、EBS Volume Performanceドキュメントに記述されているqueue depthを最適化しています。
アカウントあたり、10,000プロビジョンドIOPSおよび、20テラバイトのEBSストレージの制限があります。これ以上必要な場合は、このフォームより、EBSボリュームの上限緩和のリクエストをお送りください。
-- Jeff;
この記事はAWSシニアエバンジェリスト Jeff BarのAmazon Web Services Blogの記事、Store and Process Large Sequential Data Sets with EC2 Cluster Instancesを堀内康弘 (Facebook, Twitter)が翻訳したものです。