awsおよびパートナーサービスを使った、 データの集約および … ·...
TRANSCRIPT
-
AWSおよびパートナーサービスを使った、データの集約および活⽤用設計パターン
荒⽊木靖宏アマゾンデータサービスジャパン株式会社プリンシパルソリューションアーキテクト
-
⾃自⼰己紹介
! 名前• 荒⽊木 靖宏
! 所属• アマゾンデータサービスジャパン株式会社 プリンシパルソリューションアーキテクト
! 好きなAWSサービス• Amazon Virtual Private Cloud• AWS Direct Connect
-
データ集約システム構成例例
運⽤用LAN
社内LAN
本番
ADDNS
VMware
StorageGateway
ManagementConsole
OperationTerminal
アクセスチェック
Hybrid監視
Internet
データセンター
VM
Router
閉域広域網
Internet
専⽤用SIM
データ
-
データ集約の基本⽅方針
あらゆるデータの発⽣生源に対応する既存のアセットを最⼤大限に活かすAWSのメリットを享受する
-
AWSのデータ関連サービス
-
ストレージ
AWSのデータ関連サービスデータウェア
ハウスNoSQL
データ
DynamoDB RedShift
S3
Glacier
Data Pipeline
データベース
バッチ
⾃自動化 RDS
Elastic MapReduce
-
Elastic MapReduce
RedShift
S3データ処理理の主要3サービス
-
Elastic MapReduce
RedShift
S3データ処理理の主要3サービス
オリジナルデータの保存中間データの保存
データのバッチ処理理⾮非構造化→構造化
ビジネスアナリティクスSQLアクセス
-
S3
! ⾮非常に耐久性の⾼高い(99.999999999%)のオンラインストレージサービス
! 格納容量量に制限がない! ストレージ⽤用サーバやディスクの運⽤用から解放される
! 1GB約10円程度度からの従量量課⾦金金により低コストにデータを保存
! アクセスコントロール、暗号化などセキュリティ機能も万全
ストレージ
-
Elastic MapReduce(EMR)! Hadoopクラスタのサービス! ⼤大量量のバッチ計算処理理をサーバを⼤大量量に並べて短時間で解決する
! 1時間単位の従量量課⾦金金• 使い終わったら課⾦金金は停⽌止する• 勿論論ずっと稼働も可能
! 組み合わせ爆発、データ変換など利利⽤用例例は多数
10
バッチ
-
EMRの仕組み
EMR
EMR ClusterS3
1. S3にデータを置く
3.結果はS3に出⼒力力
2. Hadoopクラスタを起動する• ディストリビューション
• ノード数• インスタンスタイプ• ミドルウェア(Hive、機械学習等)
-
EMR
EMR Cluster
EMRの仕組み(2)
S3
クラスタを後から拡張する事も可能
-
EMR
EMR Cluster
EMRの仕組み(3)
S3
同じデータに対して、複数のクラスタを並列列に起動する事が可能→ロジック変更更の影響をみたり、A/Bテスティングが容易易
-
EMRの仕組み(4)
EMR Cluster S3
処理理が終了了したらクラスタは削除するので処理理実⾏行行の時間内だけ課⾦金金
-
RedShift! データウェアハウスサービス! 運⽤用管理理の⼿手間がほぼない! 初期費⽤用ゼロ、低価格! SQLが使えるため、既存ツールなどの連携も容易易
! S3連携が可能で、データのロード・アンロードが容易易
! ペタバイトまでもスケール可能
15
データウェアハウス
-
データ処理理の流流れ
Redshift
⾃自社DC
RDBMS
S3
Amazon EC2
テキストファイル 1,Book,100⏎ 2,Pen,50⏎ … n,Eraser,10⏎
アプリサーバ
Webアクセス・ログ 2013-06-05 12:00:00 192.168.0.2 http://www.amazon.com 2013-06-05 12:00:01 … VPN
または専⽤用線
・データエクスポート ・データの圧縮・移動
・BI ツールによる解析 ・データクレンジング
・データ変換
EMR
-
RedShiftへのデータロード
! データロードツールも充実
JDBC/ODBC S3からのLoad
Amazon Redshift
-
BIツールとの連携
! 既存のBIツールとの連携が可能
JDBC/ODBC
Amazon Redshift
-
ビッグ・データのソリューション
• ビッグ・データへの⼀一般的なアプローチ – クエリー・エンジン(データ・ウェアハウス、YesSQL、NoSQL)
• 構造化データに対して、クエリーの繰り返し実⾏行行 • 索索引、ディメンションによるクエリー性能の向上
– バッチ・エンジン(Map-Reduce) • ⾮非構造化データに対して、低い頻度度でクエリー・解析の実⾏行行
• ビッグ・データへのストリーム処理理 – コンテンツ(データ・ストリーム)へのリアルタイムな応答 – ⽐比較的にシンプルなデータ処理理(集約、フィルター、スライドウィンドウ等)
– 他のデータ・ストアへの移動によるデータのライフ・サイクル
-
ビッグ・データのソリューション• ビッグ・データへの⼀一般的なアプローチ
– クエリー・エンジン(データ・ウェアハウス、YesSQL、NoSQLデータベース) • 構造化データに対して、クエリーの繰り返し実⾏行行 • 索索引、ディメンションによるクエリー性能の向上
– バッチ・エンジン(Map-Reduce) • ⾮非構造化データに対して、低い頻度度でクエリー・解析の実⾏行行
• ビッグ・データへのストリーム処理理 – コンテンツ(データ・ストリーム)へのリアルタイムな応答 – ⽐比較的にシンプルなデータ処理理(集約、フィルター、スライドウィンドウ等) – 他のデータ・ストアへの移動によるデータのライフ・サイクル
蓄積された「過去」データの処理理
「今」流流れているデータの処理理
-
フルマネージドなリアルタイムデータ処理理サービスAmazon Kinesis
Data Sources
App.4
[Machine Learning]
AW
S En
dpoint
App.1
[Aggregate & De-‐Duplicate]
Data Sources
Data Sources
Data Sources
App.2
[Metric Extrac@on]
S3
DynamoDB
Redshift
App.3 [Sliding Window Analysis]
Data Sources
Availability Zone
Shard 1 Shard 2 Shard N
Availability Zone
Availability Zone
使いやすさ リアルタイム処理 高スループット /伸縮自在性
インテグレーション アプリ開発SDK 低コスト
-
DynamoDBとは! NoSQL as a Service! 超⾼高速・予測可能な⼀一貫したパフォーマンス! ⾼高いスケーラビリティ、そして低コスト
運⽤用管理理必要なし
低レイテンシ、SSD
プロビジョンスループット
無限に使えるストレージ
-
AWSを使ったIoTアーキテクチャイメージ
AW
S En
dpoint
Kinesis App.1
Kinesis App.2 Redshift
DynamoDB
Kinesis App.3
Availability Zone
Shard 1 Shard 2 Shard N
Availability
Zone
Availability
Zone
RDS
企業内データ アナリスト
BIツールで 統計分析
データ as a Serviceを提供
エンドユーザ向けサービス提供
S3
企業データの保存
エンドユーザへの通知
Kinesisによるストリーム保存
-
AWSを使ったIoTアーキテクチャイメージ
AW
S En
dpoint
Kinesis App.1
Kinesis App.2 Redshift
DynamoDB
Kinesis App.3
Availability Zone
Shard 1 Shard 2 Shard N
Availability
Zone
Availability
Zone
RDS
企業内データ アナリスト
BIツールで 統計分析
データ as a Serviceを提供
エンドユーザ向けサービス提供
S3
企業データの保存
エンドユーザへの通知
Kinesisによるストリーム保存
リアルタイムに流れる データの処理部分
用途によったデータ変換と データ保存
部分
ユーザエクスペリエンス部分 (付加価値の提供部分)
-
データ処理理を⽀支えるサービス
-
Virtual Private Cloud(VPC)
! クラウド内に、専⽤用のネットワークを構築! VPN接続することで、ハイブリッド環境が可能
プライベートサブネット
VPC Subnet
パブリックサブネット
VPC Subnet
InternetGW
オンプレミス
専用NW領域
Internet
専用線
InternetVPN VPN GW
Region
-
VPC内のシステム構築のために
! ネットワーク分割のベストプラクティス• ログインする必要のないELB,RDS, Elasticache⽤用のサブネット
• ⽬目的別には分けずに、/22や/24など、わかりやすく⼤大きめのネットワークを指定する。
• ログインする必要のあるEC2は⽬目的別に。! AWSのAPI使⽤用にはインターネット接続が必要
• EIPを使⽤用• NATインスタンスを使⽤用• オンプレ側インターネット線の使⽤用
! AWSのリソースは原則ホスト名を使ってアクセス
-
AWS Direct Connect
! AWSとデータセンター、オフィス、コロケーション環境間を専⽤用線で接続
! 特徴• ネットワークのコスト削減• スループット向上• インターネットベースの接続より帯域が安定
お客様
AWS CloudEC2, S3などのPublic サービス
Amazon VPC
専⽤用線サービス
コロケへの専⽤用線引き込みと違ってサーバ設置場所を限定しない。相互接続ポイントはサーバの置かれた建屋とは独⽴立立した場所
-
CloudHubのHubとしてのVPC
Virtual Private Cloud
本社
Virtual Gateway
VPN Connection
AWS Direct Connect
Router
-
Customer Routers
Customer Backbone Network
AWS Direct Connect Routers
AWSリージョン
ネットワークキャリアによる拡張
閉域網へのアクセス手段も多数あり。 LTE、3G、フレッツ網、専用線など
-
S3へのファイルコピー
S3へファイル転送⾼高速化のために! バケットのリージョンを確認
! 数⼗十MBを超えるならばマルチパート化
! 並列列転送! 数⼗十TPSを超えるならばキー名を分散化
! 無駄なオペレーションは使わない
⽀支援プログラム例例S3への転送に特化! Attunity CloudBeam
! ExpeDat S3 Gateway
! CloudBerry
-
インスタンスへのファイルコピー
任意のプロトコル、任意のアプリケーションを利利⽤用可
転送⾼高速化プログラムも! Tsunami-‐‑‒UDP! Aspera! Skeed
-
ブロックデバイスコピー
AWS Storage Gatewayキャッシュ型:32TB/ボリューム保管型:1TB/ボリューム
インスタンスへDRBD DRBD Proxy
DataKeeper
-
awsofa.info
⻄西海岸 東海岸
転送最適化サービスを使った例例
! データ圧縮! 重複排除! TCP最適化! 伝送路路暗号化
! OFAではCloudOptを利利⽤用! Market Place でAMIも
• CloudOpt (時間課⾦金金有り)• Silver Peak (BYOL)
-
CloudOptの動作イメージ(MySQLのサンプル)
AWS Cloud
Region Region
MySQLSlave
MySQLMaster
Internet
-
データ活⽤用のためのシステム設計
! 対象アプリ決定! リージョン設計! VPC設計! インターネットVPN
! 専⽤用線
! Redshift! Elastic Map Reduce
! RDS! Dynamo! Data Pipeline
インフラ データ集約 データ活⽤用! S3! EC2
• ブロックデバイス• ファイル• VM
! Kinesis! Storage Gateway! Glacier
-
まとめ37
-
AWSの特徴初期投資が不不要 実際の使⽤用分
のみ⽀支払い
調達・構築が容易易なインフラ
スケールアップ・ダウンが容易易
低額な変動価格
Deploy
市場投⼊入と俊敏性の改善
インフラコストの削減
柔軟性の確保
不不確実なものへのチャレンジ
-
まとめ
! AWSはデータ収集、保存、解析、共有まで トータルでカバーできるプラットフォーム• S3、EMR、Redshiftの組み合わせは強⼒力力• 更更にKinesis, DynamoDBなどあわせるとリアルタイムからバッチまで全体をカバー
• しかも低コストで!! AWSを使いこなす様々なツールの存在
• データの扱いソフトウェアからネットワークキャリアによるサービスまで。
-
backup40
-
S3/EMR/Redshiftの利利⽤用イメージ
RDBMS Amazon Redshift AWS Data Pipeline
フロー制御(オプション)
BI ツール・アプリによる解析処理理
Amazon S3 テキスト・データ
Amazon EMR
データ整形(ETL)
FlyData Client
or
-
Amazon Redshift
Customer Data Center or Cloud
FlyData Client
Replication
binlog access
binlog access
Read Replica is Optional
scalable data servers
Amazon S3
Load Controller
Load Optimization for Redshift
FlyData Sync for MySQL