クラウド図鑑 Vol.24

AWSはビッグデータのためのさまざまなサービスを提供しており、必要なときに必要なサービスを、従量課金で必要な時間だけ利用できる。Hadoopなどのビッグデータのインフラを自社のオンプレミス環境に構築するには、相当な費用や時間/労力を要するが、AWSでは環境構築のコストは限りなくゼロに近い。Hadoopのマネージドサービス(「Amazon Elastic MapReduce」)、データウェアハウスの「Amazon Redshift」、NoSQLの「Amazon DynamoDB」、リアルタイムのストリーミング処理のための「Amazon Kinesis」、そして、巨大なデータの蓄積には、人気の高いストレージサービスの「Amazon S3」が利用できる。これらを組み合わせることで、データ収集から蓄積、分析までエンドトゥエンドのビッグデータ基盤をオンデマンドで簡単に実現できる。当然のことながら、多ノードによるクラスターに関するハードウェアやOS、基本ソフトウェアの管理・運用の手間もない。また、本稿では割愛するが北米とヨーロッパのリージョンでは機械学習(Machine Learning)のサービスを提供開始している。

Elastic MapReduceの設定画面
Screenshot 2015-09-23 at 17.52.27
(クリックで拡大)

URL   https://aws.amazon.com/jp/big-data/
2015年9月25日 株式会社クラウディット 中井雅也

機能

ビッグデータに必要な「データ収集」「データ蓄積」「データ分析」の処理をサポートできるサービスを提供している。データ収集には、膨大な数のモバイル機器、さらにはIoTにも対応できるリアルタイムのストリーミング処理のマネージドサービス「Kinesis」を提供する。ウェブサイトのクリックストリーム、金融データ、ソーシャルメディアフィード、IoTのセンサーデータなど、何十万ものソースから送られてくる 1 時間あたり何テラバイトにもなるデータを連続的に取得しストリームに格納する。取得したデータはS3やRedshift、Elastic MapReduceに移動させることができる。データ蓄積の中心となるのはオブジェクトストレージの「S3」で、非構造データも含めて、あらゆるデータと巨大な容量に対応できる。他にもAWSはニーズにあわせて、さまざまなストレージサービスを提供する。また、RDBを超える膨大な数のデータ蓄積にはNoSQLのマネージドサービス「DynamoDB」を提供する。データ分析には、通常のリレーショナルデータベース(RDB)を超えるペタバイト級のデータウェアハウス(DWH)のマネージドサービス「Redshift」を提供し、複数ノードでの並列クエリー処理と列指向のデータベースで巨大なデータに対する高速な検索処理を可能とする。他にもAWSではニーズにあわせて複数のデータベースのサービスを提供している。さらにRDBで対応できない巨大なデータ分析には、Hadoopのマネージドサービスとして、AWSのHadoopディストリビューション「Elastic MapReduce」、または、商用Hadoopディストリビューションの「MapR」を提供している。どちらもコンソールから簡単にクラスターを構成して利用開始できる。Elastic MapReduceは、データをHDFSだけでなくS3から読み出せたり、HiveやSparkからKinesisのデータを利用できるなど、AWSのサービスとの連携が強化されている。MapRは、AZ間のミラーリングやファイルシステムなどの高可用性を強化し、データ圧縮などでパフォーマンスを向上させている。

使いやすさ

Kinesis、Redshift、Elastic MapReduceは、他のAWSのサービス同様に、基本設定はAWSコンソールからの操作となり、簡単にサービスを利用開始できる。

マニュアルや書籍など

AWSによって豊富なマニュアルやチュートリアル、リファレンスアーキテクチャなどのドキュメントが用意されている。

拡張性

Kinesisのストリームのスループットは、1 時間当たりにメガバイト単位からテラバイト単位に、また 1 秒当たりに数千から数百万の 書き込みが可能。シャーディングにより、ストリームを複数に分割、あるいは統合して処理能力を増減できる。Elastic MapReduceのインスタンスは、 1 つでも数百、数千でもプロビジョニングが可能で、容易に増減ができる。また、使い終わったらインスタンスを削除すれば使用料も最小化できる。RedshiftやDynamoDBなどデータベース系のサービスの拡張性については、「AWSのデータベースサービス」を、S3などストレージ系のサービスの拡張性については、「AWSのストレージサービス」を参照。

可用性

Kinesis は、AWS リージョン内の 3 つの施設の間でストリーミングデータを同期的に複製し、24 時間データを保持し、アプリケーション障害、個別のマシンの故障、施設の災害などによるデータの紛失を防 ぐ。Elastic MapReduceは、データレベルでは、S3またはHDFSによりデータを3重化して、さまざまな障害からの損失を防ぐ。プロセスレベルでもクラスターをモニタリングして失敗したタスクを再試行する。RedshiftやDynamoDBなどデータベース系のサービスの可用性については、「AWSのデータベースサービス」を、S3などストレージ系のサービスの可用性については、「AWSのストレージサービス」を参照。

SLA

Kinesis、Redshift、Elastic MapReduceのSLAは定めれていない。

自動化機能

Kinesis、Redshift、Elastic MapReduceはマネージドサービスとして提供されており、管理はAWSによって行われ運用タスクも自動化される。

セキュリティ

ストレージのインフラをS3にすることでデータが暗号化される。RedshiftやElastic MapReduceで機密性の高いデータを分析する必要がある場合は、VPC(Virtual Private Cloud)と専用線の接続サービスのDirect Connectによってネットワークを論理的に隔離することができる

データセンターの場所

Kinesis、Redshift、Elastic MapReduceは、東京リージョンを含む、米国、ヨーロッパの主要リージョンで利用できるようになっている。

実績・シェアなど

Kinesisの事例として「あきんどスシロー」が有名である。スシローのレーン上を流れるすし皿の ICタグ情報をリアルタイムにクラウド上に転送し、注文情報、来店状況などをリアルタイムで把握し、データをAmazon Redshiftに蓄積し分析している。Redshiftの事例としては、NTTドコモ、リクルート、すかいらーく、クックパッドなどがある。Elastic MapReduceの事例としてはSo-net、Yelp、クックパッドなど。

エコシステム

Redshiftには豊富なパートナーエコシステムが形成されており、BIツールやデータ統合のソフトウェアやインテグレータが数多く名前を連ねている。Kinesisもログ収集のfluentdやIoT向けのプロトコルMQTTとの接続、Twitterの開発したStormフレームワークを利用できるなどエコシステムが広がっている。

価格および支払い方法

Kinesisはシャードというスループットの単位(1 MB/秒のデータ入力と 2 MB/秒のデータ出力を)ごとに1時間あたりの費用$0.015を必要なシャード数でかけた金額と、100万回のPUTペイロードごとに$0.014の金額の合算で課金する。Elastic MapReduceは、EC2のインスタンスの料金に加算される形になり、m3.xlargeインスタンスの場合でEc2の料金$0.266 /1 時間とElastic MapReduceの$0.070/1時間の合算となる。Redshiftは、2VCPU、メモリー15GIBのdc1.largeの場合で、$0.250 /1 時間から。