aws iotアーキテクチャパターン

1

Upload: amazon-web-services-japan

Post on 08-Jan-2017

6.085 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: AWS IoTアーキテクチャパターン

1

AWS IoTアーキテクチャ パターン

アマゾン ウェブ サービスジャパン株式会社ソリューション アーキテクト福井 厚、下佐粉 昭

Page 2: 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

自己紹介

Page 3: AWS IoTアーキテクチャパターン

3

自己紹介

• 名前:下佐粉 昭(しもさこ あきら)• Twitter - @simosako

• 所属:– アマゾン ウェブ サービス ジャパン株式会社– 技術本部 ソリューションアーキテクト

• 好きなAWSサービス:Redshift, RDS, S3• 人間が運用等から開放されて楽になる系のサービスが好きです

Page 4: AWS IoTアーキテクチャパターン

4

アジェンダ

• IoT の原則

• MQTT のパターン

• AWS IoT アーキテクチャ

• Demo

• まとめ

Page 5: AWS IoTアーキテクチャパターン

5

IoT の原則

Page 6: AWS IoTアーキテクチャパターン

6

IoT の原則

• 迅速さ(Agility)

Page 7: AWS IoTアーキテクチャパターン

7

IoT の原則

• 迅速さ(Agility)

• スケーラビリティ

Page 8: AWS IoTアーキテクチャパターン

8

IoT の原則

• 迅速さ(Agility)

• スケーラビリティ

• コストより多くのAWS利用

より多くのインフラ

インフラコストの低下

価格の低下

より多くの顧客

スケールの経済

Page 9: AWS IoTアーキテクチャパターン

9

IoT の原則

• 迅速さ(Agility)

• スケーラビリティ

• コスト

• セキュリティ

Page 10: AWS IoTアーキテクチャパターン

10

IoT 活用分野

ヘルスケアとライフサイエンス

地方自治体インフラ

スマートホーム 流通

製造、物流、サプライチェーン

農業 教育 自動車関連

Page 11: AWS IoTアーキテクチャパターン

11

MQTT のパターン

Page 12: AWS IoTアーキテクチャパターン

12

ポイント ツー ポイント

SUB: vacuum/10930デバイス ゲートウェイ

モバイル アプリ

{ “status”: “home” }

PUB: vacuum/10930

自宅に通知

Page 13: AWS IoTアーキテクチャパターン

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

Page 14: AWS IoTアーキテクチャパターン

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

Page 15: AWS IoTアーキテクチャパターン

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” }

クリーニングを通知

待機を通知

Page 16: AWS IoTアーキテクチャパターン

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を解析クライアント トークンを

解析診断結果を発行

Page 17: AWS IoTアーキテクチャパターン

17

AWS IoT アーキテクチャ

Page 18: 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

Page 19: AWS IoTアーキテクチャパターン

19

IoT はイベント駆動アーキテクチャ (EDA)

• イベント駆動アーキテクチャはシステムで発生する作成、消費、関心のあるイベントへの反応を通じてコミュニケーションを促進するソフトウェア アーキテクチャ

Page 20: AWS IoTアーキテクチャパターン

20 操作パネル

Amazon

QuickSight

Amazon EMR

Amazon

Elasticsearch

Service

Kinesis

FirehoseKinesis Stream

Amzon S3

AWS Lambda

Amazon

Redshift

Page 21: AWS IoTアーキテクチャパターン

21

Demo

Page 22: AWS IoTアーキテクチャパターン

22

デモ環境

Page 23: AWS IoTアーキテクチャパターン

23

Amazon Kinesis

Firehose

Amazon

Redshift

Amazon

S3

Amazon

QuickSight

Demo Architecture:バックエンドはノン・コーディングで実現

Page 24: AWS IoTアーキテクチャパターン

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) |

Page 25: AWS IoTアーキテクチャパターン

25

AWS IoT Rule の作成

デバイスの登録

デバイスに対するポリシーを定義

証明書にデバイスとポリシーを紐付け

ルールを定義

ここではトピックをKinesis Firehose で処理することを指定

Page 26: AWS IoTアーキテクチャパターン

26

Kinesis Firehose の設定

Redshiftインスタンスの情報

COPYコマンドにJSON

オプションを渡す20MB蓄積もしくは300

秒経過を条件にCOPY

蓄積するS3

バケット

Page 27: AWS IoTアーキテクチャパターン

27

Kinesis Firehose のモニタリング

Kinesis Firehose の処理状況をモニタ

Page 28: AWS IoTアーキテクチャパターン

28

Redshift の Load (Copy) History

5分間隔でCOPYが自動実行されている

Page 29: AWS IoTアーキテクチャパターン

29

Redshift, QuickSight側での設定

• データを使いやすいように変形• Timestampを+9時間してJSTを作成• X,Y,Zの絶対値を合計して移動量合計に• VIEWを作成 or QuickSightにクエリ登録

• QuickSightにデータ登録する際に列名を日本語にして登録

Page 30: AWS IoTアーキテクチャパターン

30

実行結果 … !?

demo

Page 31: AWS IoTアーキテクチャパターン

31

深夜2時、明るさ(Lux)はゼロだが、椅子は動き続け

ている…

Page 32: AWS IoTアーキテクチャパターン

32

まとめ

Page 33: AWS IoTアーキテクチャパターン

33

まとめ

• 迅速さ、スケーラビリティ、コスト、セキュリティ

• MQTT パターンから初めてクラウドのアーキテクチャへ

• IoT はイベント駆動アーキテクチャ

• ビジネスに価値を加えるために IoT に投資

Page 34: AWS IoTアーキテクチャパターン

34