aws による iot - amazon web services · aws iot...

44
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS による IoT 最新動向とデザインパターン

Upload: others

Post on 18-Feb-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

AWS による IoT

最新動向とデザインパターン

Page 2: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

TwitterでAWS Summitに参加しよう!

公式アカウント@awscloud_jpをフォローしたお客様に

フリクションボールペンをプレゼント!

【配布場所】ロビーや展示会場のコンパニオンが配布中!お気軽にお声かけください。

Page 3: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

AWS Black Belt Online Seminarのご案内

AWSJ の Tech メンバーがAWSに関する様々な事を日本語で紹介・解説する無料のオンラインセミナー

AWSについてもっと勉強したい方にオススメ!

AWS イベント 検索

Page 4: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

アジェンダ

1.AWSを活用したIoT事例

2. IoTで利用されるサービス群

3. IoTのアーキテクチャ

4.アーキテクティング実践

5.デモンストレーション

Page 5: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

AWSを活用したIoT事例

Page 6: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

名前• 榎並 利晃(えなみ としあき)

[email protected]

役割• Mobile / IoT Business Development Manager

好きなAWSのサービス• AWS IoT

• AWS Lambda / API Gateway

• Mobile Services

Page 7: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

様々なところでIoTが実現

ヘルスケア

家電・スマートホーム

小売製造, 物流, サプライチェーン

農業自治体

Page 8: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

安全運行管理

Page 9: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

酪農

Page 10: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

農業

Page 11: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

スマート家電

Wi-FiルーターREX-WFIREX1

ON!

Wi-Fiもうすぐ帰るからエアコンを

つけておこう!

温度・湿度・照度を定期的に

測定し、AWS経由でアプリに

表示することも可能。

AWS IoT

Page 12: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

IoTの活用

• 歩留まり改善

• メンテナンスの効率化

• 遠隔制御

• 資源の活用(Condition based maintenance)

• 新コンセプトプロダクト

• データ販売

• コンサルティング

業務改善イノベーション

IoT活用

新規ビジネスイノベーション

Page 13: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

プラットフォーム連携による共創

プラットフォームA

プラットフォームBAPI

デバイスの抽象化とデータ連携

Page 14: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

データを価値に変える

収集 保存 分析 活用

収集したデータをリアルタイムに基盤に転送

データを長期的に保存、検索

大規模データを高速に分析(解析)

分析結果を人が参照しやすい形で提供

Page 15: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

IoT パビリオン

Page 16: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定
Page 17: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

名前• 吉田 英世(よしだ ひでよ)

[email protected]

役割• ソリューションアーキテクト

• ネットワーク/IoT担当

経歴• 某ゲーム会社インフラエンジニア

• 某組込みソフトウェア会社 IoTプラットフォーム開発

好きなAWSのサービス• AWS IoT

• Amazon Kinesis

• Amazon VPC

Page 18: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

IoTで利用されるサービス群

Page 19: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

AWS IoT

IoTに必要な機能を簡単にセキュアに利用

セキュアな双方向通信

ルールベースのアクション設定

デバイスSDKで開発も簡単

•TLS1.2を利用したクライアント証明書による認証•HTTPSとMQTTSを採用•MQTT pub/subによる双方向通信

•SQLライクなルールの定義でメッセージ処理をアクションが設定•AWSサービスとのシームレスな連携

C-SDK

(Ideal for embedded

OS)

JS-SDK

(Ideal for Embedded

Linux Platforms)

Arduino Library

(Arduino Yun)

Mobile SDK

(Android and iOS)

•AWS IoTの各種機能をデバイスから利用可能

Page 20: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

デバイスSDK デバイスゲートウェイ

認証

ルールエンジン

AWS サービス- - - - -

サードパーティ

シャドウアプリケーション

AWS IoT API

レジストリ

Page 21: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

AWS IoTと直接連携できるサービスは12!

Lambda関数の実行

S3バケットへの書込

DyanmoDBへのデータ追加、更新

SNSトピックまたはエンドポイントへの書込

Kinesis Streamへの書込

Firehoseへの書込

AWS IoTへの再パブリッシュ

Elasticsearchへの書込

CloudWatchアラーム送信

SQSキューへの書込

CloudWatchメトリクスとしてキャプチャ

Machine Learningのリアルタイム予測API

Page 22: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

Amazon Kinesis

Amazon Kinesis Streams

ストリーミングデータのプロセッシングや分析用

のカスタムアプリケーションを構築

Amazon Kinesis

Firehose大容量のストリーミングデータをS3やRedshiftに

簡単に保存

Amazon Kinesis

Analytics 標準SQLクエリにより

ストリーミングデータを簡単に分析

Page 23: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

AWS Lambda

IoTの各イベントをトリガーにいろいろなコードを実行

OS,キャパシティなどインフラの管理不要

多様なイベントに対応

コンピューティング使用時間のみの課金

•コードを書いてLambdaにアップロードするのみ•登録されたコードを自動的に実行

•AWS IoTのルールアクションとして動作可能•Kinesis Streamのストリームもイベントとして登録可能

•コードが実行される100msごと、およびコードがトリガーされた回数に対して課金

Page 24: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

Amazon API Gatewayアプリケーションだけでなくデバイス向けWeb APIの作成・保護・運用と公開を容易に

RESTfulエンドポイントに必要な豊富な機能が利用可能

•リクエスト数に応じてスケール•バックエンドへの負荷を軽減するためのスロットリング•APIのバージョンを管理•APIアクティビティのメトリクス取得

Lambdaの利用でサーバレスなAPIを作成

•API呼出し後のアクションでLambdaを指定することでプログラムの登録のみでAPIを作成

Page 25: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

IoTのアーキテクチャ

Page 26: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

IoTアーキテクチャの特徴

IoTはテレメトリ+αでデータを価値に変える:

• アプリケーションからデバイスを操作(コマンド)

• 入力データを元にアクションを実行(プロセッシング)

• 過去の出来事を元に未来を予測(コンテキストアウェアネス)

テレメトリ用途ではビッグデータの入力レイヤーとして扱われるのがほとんど

イベント駆動

Page 27: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

CQRS(コマンドクエリ分離責務)永続化ストア

(イベントストア)

書込(コマンド)

読込(クエリ)

コマンドプロセッサ

イベントハンドラ

クエリサービス

データストア

イベント保存

非同期でコピー

アップデート

データ読み出し

イベント送信

Page 28: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

CQRS(コマンドクエリ分離責務)

イベントストア

書込(コマンド)

読込(クエリ)

コマンドプロセッサ

イベントハンドラ

クエリサービス

データストア

AWS IoT Rules

Kinesis Stream

Lambda

API Gateway

Kinesis Stream

DynamoDB

S3

DynamoDB

RDS

Redshift

ElasticSearch Service

Lambda

DataPipeline

Kinesis(KCL)

EMR

Page 29: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

CQRSの例

Redshift

S3

QuickSight

AWS IoTルールエンジン

AWS IoTデバイス

ゲートウェイ

デバイス

読込

書込

Page 30: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

アーキテクティング実践

Page 31: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

デバイスとAWSを接続したい

AWS IoTとKinesis Streamを目的によって使い分ける

Kinesis Stream

AWS IoTデバイスゲートウェイ

MQTTS or HTTPSSSL証明書 or Sig v4による認証双方向通信メッセージプロセッシング

HTTPSSig v4による認証単方向通信(デバイス>Kinesis)ストリームプロセッシング

AWS IoTルールエンジン

AWS SDKAWSデバイスSDK

AWS SDK

Page 32: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

Kinesisへ送信する前にデータの前処理をしたい

Kinesisに渡す前処理(ex.ノイズ除去、タイムスタンプ付与、数値変換処理)MQTTのインタフェースとしても利用

AWS IoTのルールで前処理を実行

Page 33: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

ひとまずセンサーデータを保管しておきたい

S3をデータレイクとして活用ビッグデータサービス群とシームレスな連携が可能

ビッグデータサービス群

S3

Kinesis Firehose

AWS IoTルールエンジン

AWS IoTデバイス

ゲートウェイ

Machine Leaning

Redshift

Data PipelineEMR

QuickSight

Page 34: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

データストアの選択

アプリケーションでのデータ活用

分析でのデータ活用

汎用的なアーカイブ

Elasticsearch ServiceやEMR上でHBaseなども利用可能小規模であればRDSも選択

堅牢で安価なオブジェクトストレージに半永久的にファイルデータ保管

中・長期的な時系列データをBIツールを利用してアドホックに分析

ID+タイムスタンプなどの時系列データをアプリケーションでから参照

DynamoDB

Redshift

S3

Page 35: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

デバイスをリモートで制御したい

MQTTとWebsocketで持続的なコネクションからのコマンド送受信

MQTT(subscribe)

Websocket

RESTful API

AWS IoT デバイスシャドウ

AWS IoTデバイス

ゲートウェイ

Page 36: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

クライアント証明書をデバイスにインストールしたい

AWS IoTのAPI操作

aws iot create-certificate-from-csr

ロール(証明書発行のみ)

BYOC(Bring Your Own Certificates)

CSR

プライベートキー

プライベートキー証明書

デバイス証明書

AWS IoTAPIエンドポイント

AWS IoTAPIエンドポイント

プライベートCA

https://mobile.awsblog.com/post/TxP0ACB3TWZ5XB/Use-Your-Own-Certificate-with-AWS-IoT

デバイス証明書

プライベートCA証明書

Page 37: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

デバイスへファームウェアをダウンロードしたい

①ファームウェアをS3バケットにアップロード

②PUTのイベントからLambdaを起動③Lambdaから

URLを通知

Lambda

⑤ファームウェアをS3バケットからダウンロード

⑥ファームウェアを更新

AWS IoTデバイスゲートウェイ

④トピックからURLを受信

S3

ファームウェア

S3イベント+LambdaとAWS IoTの連携

Page 38: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

デバイス管理

AWS IoTデバイスレジストリ

OR

DynamoDB

デバイス属性、ステータスを更新(AWS SDK, など)

デバイス属性・ステータスを更新(MQTT)

DeviceName LastUpdate Serial # Location

device001 2016-06-

02T00:00:00

A12345 room1

LambdaAWS IoTルールエンジン

AWS IoTデバイスゲートウェイ

{"things": [

{"attributes": {

”serialnumber": ”12345678"},"thingName": "mydevice"

}]

}

AWS IoTデバイスレジストリやDynamoDBを利用

Page 39: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

デバイスからAWSまでを閉域ネットワーク接続例

3G/LTE

AWSサービス群

お客様拠点

Direct Connect(専用線)

Lambda RDS

AWS IoT

AWS クラウド

お客様VPC

Direct Connectやパートナー様のサービスを利用

Page 40: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

デモンストレーション

Page 41: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

デモ構成

AuroraLambda

KinesisStream

S3

AWS IoTルールエンジン

AWS IoTデバイス

ゲートウェイ

Shiny by RSudio

AWSSDK

Page 42: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定
Page 43: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定

まとめ

IoTを”つなげる”から”データ活用”に、AWSでシステムを

構築して、データ活用にフォーカスする

ソフトウェアアーキテクチャを取り入れることでIoTアーキテクチャを最適化

AWSのマネージドサービスをはビッグデータだけでなくIoTにおいても強力なツールとなる

Page 44: AWS による IoT - Amazon Web Services · aws iot iotに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定