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

Post on 08-Jan-2017

6.087 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related