Download - AWS IoTアーキテクチャパターン
1
AWS IoTアーキテクチャ パターン
アマゾン ウェブ サービスジャパン株式会社ソリューション アーキテクト福井 厚、下佐粉 昭
2
名前:福井 厚(@fatushi)
所属:アマゾンウェブサービスジャパン株式会社技術本部エンタープライズソリューション部ソリューション アーキテクト
経歴:メーカーサポート、ソフトハウス、SIベンダー(国産、外資)、開発系コンサルティング ファームを経て2015年7月 よりアマゾン ウェブ サービス ジャパン株式会社でソリューション アーキテクトとして活動。2008年8月、Microsoft Certified Architect for Solutions Certification (MCA) に認定される。マイクロソフトMVPアワード受賞歴11回(2015年7月にMVP 終了)C#を愛し、.NETが大好きなエンジニアとして .NET開発者向けにAWSを普及する活動を実施中。
好きなAWSサービス: AWS IoT
自己紹介
3
自己紹介
• 名前:下佐粉 昭(しもさこ あきら)• Twitter - @simosako
• 所属:– アマゾン ウェブ サービス ジャパン株式会社– 技術本部 ソリューションアーキテクト
• 好きなAWSサービス:Redshift, RDS, S3• 人間が運用等から開放されて楽になる系のサービスが好きです
4
アジェンダ
• IoT の原則
• MQTT のパターン
• AWS IoT アーキテクチャ
• Demo
• まとめ
5
IoT の原則
6
IoT の原則
• 迅速さ(Agility)
7
IoT の原則
• 迅速さ(Agility)
• スケーラビリティ
8
IoT の原則
• 迅速さ(Agility)
• スケーラビリティ
• コストより多くのAWS利用
より多くのインフラ
インフラコストの低下
価格の低下
より多くの顧客
スケールの経済
9
IoT の原則
• 迅速さ(Agility)
• スケーラビリティ
• コスト
• セキュリティ
10
IoT 活用分野
ヘルスケアとライフサイエンス
地方自治体インフラ
スマートホーム 流通
製造、物流、サプライチェーン
農業 教育 自動車関連
11
MQTT のパターン
12
ポイント ツー ポイント
SUB: vacuum/10930デバイス ゲートウェイ
モバイル アプリ
{ “status”: “home” }
PUB: vacuum/10930
自宅に通知
13
ブロードキャスト パターンSUB: cars/us_MA/weather
デバイス ゲートウェイ
天気サービス
{ “forecast”: “snow”
“prob”: “85%”
“geo”: [42.3,71.0] }
PUB: cars/us_MA/weather
スピードを減速
無視
スピードを減速Connected Vehicle: https://www.youtube.com/watch?v=o1cN0KDaOf4
14
ファンアウト通知パターン
Device Gateway
Repair Service
{ “rep-102”: “shipped” }
PUB: SN/{serial}/repair
{ “rep-111”: “delayed” }
到着日を通知
ギアスピードを変更
SUB: SN/SN-2390/repair
SUB: SN/SN-2289/repair
PUB: SN/SN-2390/repair
PUB: SN/SN-2289/repair
15
集約パターン
PUB: cleaning/vac-1203/home1234
PUB: cleaning/vac-1204/home1234
デバイス ゲートウェイSUB: cleaning/+/home1234
{ “vac-1203”: “cleaning” }
{ “vac-1204”: “waiting” }
{ “vac-1203”: “cleaning” }
{ “vac-1204”: “waiting” }
クリーニングを通知
待機を通知
16
ポイント ツー ポイント コミュニケーションのコンテキスト
SUB:
hm/v1/vac3/cmd/REQ/diagnostics
PUB:
hm/v1/vac3/cmd/REQ/diagnostics
Device Gateway
PUB:
hm/v1/vac3/cmd/RES/1234/phn1
SUB:
hm/v1/vac3/cmd/RES/+/phn1
{ “clientId:”:”phn1” ,
“clientToken”: “1234” }
{ “code”: “200”,
“state”: “[12,55,234]” } クライアントIDを解析クライアント トークンを
解析診断結果を発行
17
AWS IoT アーキテクチャ
18 操作パネル
AWS
Lambda
Amazon Kinesis
Firehose
Amazon Kinesis
Streams
Amazon EMR
Amazon
Redshift
Amazon
S3
Amazon Machine
Learning
Amazon
QuickSight
Amazon
Elasticsearch Service
19
IoT はイベント駆動アーキテクチャ (EDA)
• イベント駆動アーキテクチャはシステムで発生する作成、消費、関心のあるイベントへの反応を通じてコミュニケーションを促進するソフトウェア アーキテクチャ
20 操作パネル
Amazon
QuickSight
Amazon EMR
Amazon
Elasticsearch
Service
Kinesis
FirehoseKinesis Stream
Amzon S3
AWS Lambda
Amazon
Redshift
21
Demo
22
デモ環境
23
Amazon Kinesis
Firehose
Amazon
Redshift
Amazon
S3
Amazon
QuickSight
Demo Architecture:バックエンドはノン・コーディングで実現
24
構成
目黒オフィス
QuickSightFirehoseAWS IoT SDK
Intel Edison
COPY5分間隔
SQLMQTT/S
{"timestamp":"2016-02-24T10:27:33.818Z","x":0,"y":0,"z":0.29,"lux":9
}
Msg
Column | Type |-----------+-----------------------------+timestamp | timestamp without time zone |x | real |y | real |z | real |lux | numeric(4,0) |
25
AWS IoT Rule の作成
デバイスの登録
デバイスに対するポリシーを定義
証明書にデバイスとポリシーを紐付け
ルールを定義
ここではトピックをKinesis Firehose で処理することを指定
26
Kinesis Firehose の設定
Redshiftインスタンスの情報
COPYコマンドにJSON
オプションを渡す20MB蓄積もしくは300
秒経過を条件にCOPY
蓄積するS3
バケット
27
Kinesis Firehose のモニタリング
Kinesis Firehose の処理状況をモニタ
28
Redshift の Load (Copy) History
5分間隔でCOPYが自動実行されている
29
Redshift, QuickSight側での設定
• データを使いやすいように変形• Timestampを+9時間してJSTを作成• X,Y,Zの絶対値を合計して移動量合計に• VIEWを作成 or QuickSightにクエリ登録
• QuickSightにデータ登録する際に列名を日本語にして登録
30
実行結果 … !?
demo
31
深夜2時、明るさ(Lux)はゼロだが、椅子は動き続け
ている…
32
まとめ
33
まとめ
• 迅速さ、スケーラビリティ、コスト、セキュリティ
• MQTT パターンから初めてクラウドのアーキテクチャへ
• IoT はイベント駆動アーキテクチャ
• ビジネスに価値を加えるために IoT に投資
34