ほぼ日AWS について
AWSのソリューションについて学んでいく為に、以下のAWS管理画面で見れるすべてのサービス
について、どんな時に使われてそれらがどんなソリューションなのかまとめてみたいと思います。
※ ちなみに著者はAWS初心者勢です。
ソリューションがどういうものかに重点をおいて調べてまとめているだけですので、ノウハウTipsの提供等はできません。
このブログの目標
読んだ方(主に自分)が、AWSのソリューションについて 「ああ、AWSののこのソリューションって〜〜〜っていうもんでしょ?」ってざっくり理解するのに手助けになれば幸いです。
では、本題。
分析ソリューション について
AWS分析ソリューションは簡単で、かつ費用対効果の高い「データウェアハウジング」「ビジネスインテリジェンス」「バッチ処理」「ストリーム処理」「データワークフローオーケストレーション」などで構成される分析プロセスチェーンのすべてのステップを処理する一連の包括的なサービスを提供している。
それらを総称して分析ソリューションと定義する。
主として以下のようなサービスが提供されている。
Athena
何ができるのか
Amazon Athenaはインタラクティブなクエリサービスで、Amazon S3内のデータを標準的なSQLを使用して簡単に分析することが出来るサービスである。
Athenaはサーバーレスアーキテクチャなのでインフラの管理は不要となっている。また S3のデータを指定し、スキーマを定義した後、標準的なSQLを使ってデータのクエリを実行するだけ、というように簡単に始める事が出来る。
無料利用枠ある?
なさそう。
東京リージョンある?
あるよ。
主なユースケース
メリットとしてサーバーレスアーキテクチャな為、インフラのセットアップ等の必要がない事が挙げられる。
例えばログデータに対して処理を実行して分析するような事がユースケースとしてあげられる。
EMR
何ができるのか
正式名称は Amazon Elastic MapReduceで頭文字を取って、EMRとされている。(公式ドキュメントに見当たらなくて結構探した。)
Hadoopフレームワークが提供され、ノードのプロビジョニング、クラスターのセットアップ、Hadoopの設定、クラスターのチューニングなどの煩わしい作業が不要で簡単・高速かつ高コスト効率で大量のデータを処理する事が出来る。
また Apache Spark などの一般的なフレームワークを Amazon EMRで実行する事やAmazon S3やAmazon DynamoDBといった他のAWSデータストア内でデータを操作する事も可能。
無料利用枠ある?
なさそう。
東京リージョンある?
あるよ。
主なユースケース
Amazon EMR は、ログの分析、ウェブインデックス、データ変換 (ETL)、機械学習、財務分析、科学シミュレーション、生物情報科学研究を含む、さまざまなビッグデータを確実かつ安全に処理する事が出来る。
CloudSearch
何ができるのか
AWS CloudSearchはウェブサイトまたはアプリケーション向けの検索ソリューションを容易に設定、管理出来るマネージドサービスである。
34の言語をサポートし、ハイライト表示や自動入力、地理空間検索などの検索機能が備わっている。
無料利用枠ある?
あるよ。
東京リージョンある?
あるよ。
主なユースケース
AWS CloudSerchを使用して検索の高度な知識を習得したりハードウェアの準備をしたりする事なくウェブサイトやアプリケーションに豊富な検索機能を簡単に追加する事が出来る。
AWSマネジメントコンソールで数回クリックするだけで検索ドメインを作成して検索対象にするデータをアップロードする事ができ、それによって CloudSearchは自動的に必要なリソースをプロビジョニングして高度に調整された検索インデックスをデプロイする事が出来る。
Elasticsearch Service
何ができるのか
Amazon Elasticsearch Service を使用する事で、ログ分析、フルテキスト検索、アプリケーションのモニタリングなどを目的とした Elsaticsearch を簡単にデプロイ、運用する事が出来るサービスである。
無料利用枠ある?
あるよ。
東京リージョンある?
あるよ。
主なユースケース
Elasticsearch のマネージドサービスなので、Elsaticsearchのユースケースと対応して利用される。
また、Kibana・Logstash などがデフォルトでサポートされている。
Kinesis
何ができるのか
Amazon Kinesisは、リアルタイムのストリーミングデータを容易に収集・処理できるサービスである。
Amazon kinesis はストリーミングデータをコスト効率を考慮してあらゆる規模で処理する機能と、またアプリケーションの要件にあった最適なツールを選択できる、というメリットがある。
Kinesis の機能として以下の機能がある。
無料利用枠ある?
- Kinesis Video Streams
なさそう。
- Kinesis Data Streams
なさそう。
- Kinesis Data Firehose
なさそう。
- Kinesis Data Analytics
なさそう。
東京リージョンある?
- Kinesis Video Streams
あるよ。
- Kinesis Data Streams
あるよ。
- Kinesis Data Firehose
あるよ。
- Kinesis Data Analytics
なさそう。
主なユースケース
おもに大量のストリーミングデータを分析・処理する為に使用される。
分析するストリーミングデータに応じてそれぞれKinesis の機能を選択する。
QuickSight
何ができるのか
Amazon QuickSightは高速なクラウド対応のビジネス分析サービスで、可視化の構築・アドホック分析の実行などを行い、データからビジネス上の分析をすばやく入手する事が容易にできるサービスである。
また、 SPICEエンジンを導入しており非常に高速に分析を実行する事が出来る。
無料利用枠ある?
あるよ。
東京リージョンある?
なさそう。
主なユースケース
分析機能により、高度な分析が実行できると共にすべてのブラウザやモバイルデバイスからアクセスできる魅力的な抱負なダッシュボードを作成する事が出来る。
Data Pipeline
何ができるのか
AWS Data Pipelineは指定された間隔で、AWSのさまざまなサービス・またオンプレのデータソースに定期的にアクセスを行って、必要な変換と処理を行い、その結果を S3やRDS、DynamoDBなどのサービスに効率的に転送する事を支援するウェブサービスである。
無料利用枠ある?
あるよ。
東京リージョンある?
なさそう。
主なユースケース
AWS Data Pipeline を使用する事で耐障害性があり、高い可用性をもった複雑なデータ処理ワークロードを簡単に作成する事が出来る。
メリットとして良く使用される前提条件やパイプラインテンプレートがあらかじめサービスに組み込まれている。
例えば、規則的なログファイルの処理・Amazon S3へのデータのアーカイブ・SQLクエリの定期実行などがあげられるが、それらのデータ分析パイプラインを非常に簡単に構築する事が出来る。
AWS Glue
何ができるのか
AWS Glueはユーザーの分析用データの抽出・ロード(ETL)を行うフルマネージドサービスである。
AWS Glueでは手間のかかるETLジョブの構築・管理実行のほとんどが自動化される。
データソースを自動的にクロールするし、データフォーマットを識別してスキーマと変換を提案し、データ変換とロードプロセスを実行するコードを自動的に生成する。
無料利用枠ある?
あるよ。
東京リージョンある?
あるよ。
主なユースケース
特徴にもあげたように手間のかかるETLジョブのほとんどが自動化されることがメリットである。またサーバーレスのサービスであるため、インフラの購入・設定・管理は不要でジョブの定義のみを行う事でジョブの実行に必要な環境が自動的にプロビジョニングされるような形になっている。
ユースケースとしては、膨大なデータセットをクリーニング・正規化するなどして分析のためのクリックストリームの準備やログデータ処理を実行する事ができたり、複数のデータストアを横断してデータの統合したビュー(カタログ)を作る事も可能。
所感
分析を行う際にあたって、マネージドサービス・サーバーレスアーキテクチャを利用するのは非常に効果的だな、と感じる。
分析はいかに効果的なデータセットを抽出できるか、もあるし、さらにそのデータセットに対して素早いフィードバックをもらう事が必要でもあると思う。 その中で充実したスケール機能を持つサーバーレスアーキテクチャなどを導入しながらより速度を出せるような構成にしたりする事で効率的で効果的な分析を行う事に役立つのではないかな、と感じます。