(レポート) BDT307: ゼロインフラストラクチャ、リアルタイムのデータ収集および分析 #reinvent

2015.10.13

AWSでは、EC2を使わない『サーバレス』なアーキテクチャの構築方法がより注目を浴びていますが、ビッグデータ周りについてもその傾向を見ることが出来ます。当エントリではそんな流れを組んだAWS諸サービスのサービス毎の特徴と事例紹介に関する紹介セッションの内容をレポートしたいと思います。

IMG_0369

当セッションについては既にスライド資料がSlideshareで公開されていたので共有します。

Amazon API Gateway

  • RESTベースのエンドポイント作成
  • フルマネージド
  • 自動的にスケール
  • 高速な開発が可能に
  • 柔軟なセキュリティ制御
  • Integrationタイプ
  • Lambda/Proxy AWSサービス/Proxy既存サービス/モック
  • ステージングデプロイ
  • クロスオリジンリソース共有(CORS)のサポート
  • 自動生成SDK:Android/iOS/Javascript
  • 料金周りの情報:

bdt307_01

AWS Lambda

  • フルマネージドなサーバレスコンピュートサービス
  • イベントドリブン
  • プラッフォーム
  • Amazon Linux, Node.js/Java, メモリ設定/CPU, タイムアウト
  • 料金周りの情報

bdt307_05

AWS Lambdaの活用例

Direct Innovation Model

bdt307_02

Pull Model

bdt307_03

Push Model

bdt307_04

AWS LambdaとAmazon API Gateway

  • AWS LambdaとAmazon API Gatewayの組み合わせ
  • 高速且つデプロイが容易
  • 自動スケーリング
  • 100%フル活用可能
  • フルマネージド
  • Amaozn EC2
  • 既存インフラ
  • 90%以上の活用状況

Amazon Kinesis

Amazon S3

  • セキュア
  • 持続可能(Durable)
  • スケーラブル
  • キー名称での分散
  • ライフサイクルポリシー
  • Amazon Glacier AWS Key Management Service
  • 暗号化キーの管理
  • データを直接暗号化/復号化
  • Amazon S3/RDS/Reshiftと直接連携
  • AWS Lambda連携(API経由)
  • 料金周り:
  • bdt307_07

Amazon SQS

  • シンプル
  • セキュア
  • 持続可能(複数サーバ・データセンター構成)
  • スケーラブル(自動でスケール)
  • 料金周り:
  • bdt307_08

Amazon Redshift

  • フルマネージドなペタバイト級のDWH
  • 高速/スケーラブル/フォールトトレラント/親和性
  • COPYコマンドの実施
  • 並行ロード
  • 単一トランザ九品
  • AWS KMSを使った暗号化認証
  • 区切り文字、固定長、JSON、AVRO対応
  • GZIP&LZOP対応
  • マイクロバッチローディング対応
  • 無限ループ
  • Amazon Kinesisストリーム1つを1シャードに作成
  • Lambda FunctionをAmazon Kinesis Streamにアタッチ
  • 複数シャードを複数スレッドに作成
  • 費用面について / 見積り例
  • bdt307_09

Amazon Aurora

  • フルマネージドRDB
  • MySQL5.6
  • MySQLよりも5倍以上良いパフォーマンス
  • 1秒あたり50万のSELECT
  • 1秒あたり10万のUPDATE
  • Multi-AZ
  • データは3つのゾーンに6通り複製

Amazon Aurora or Amazon Redshift?

  • Amazon Redshift
  • DWHワークロード
  • データは64TB以上に対応
  • 同時実行クエリは50
  • Amazon Aurora
  • OLTPワークロード
  • データは64TB未満
  • 50万回のSELECT/10万回のUPDATEを秒間で実施可能
  • 費用面について
  • Compute
  • bdt307_10
  • Storage
  • bdt307_11

Zillow社の事例紹介

オンライン不動産データベースを運営するアメリカの企業。

bdt307_13

  • ユースケース:
  • モバイルアプリメトリクスのサブセットを収集する必要があった
  • ソリューションが3週間以内に届けられる事が必要だった
  • ビジネスオーナーに1日数回,、収集の要求とメトリクスのレポートが返って来る
  • 我々は既にAWSの中にDWHを持っていたので(支援の為のAWSソリューションアーキテクトである)スティーブには接触していた
  • 我々は何を行なったか?
  • Amazon API Gatewayの中にカスタムエンドポイントを作成
  • 1日1600万以上のPOST
  • AWS Lambdaを使ってAPI GatewayからAmazon Kinesisにデータを送信
  • Lambdaを使い、Amazon S3の中にAWS KMSを使って暗号化データを蓄積
  • Amazon EMR上でSparkを使ってデータを分析
  • AWS Data Pipelineを使ってSparkのジョブを実行、データを生成
  • ユースケースが挙がった場合、Amazon Kinesisを使ってAmaozn EMRのSpark上でデータをリアルタイム分析を行なう
  • 構成図
  • bdt307_14

さいごに

ゼロインフラストラクチャ、リアルタイムのデータ収集に関するセッションのレポートでした。この辺りのサービスを活用したインフラ構築は今後どんどん多くなってくる事と思われます。使いどころを押さえて、より良いインフラ環境を整えて行きたいところですね!以上、サンフランシスコの現場からお送りしました。