AWS による IoT 最新動向とデザインパターン © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. TwitterでAWS Summitに参加しよう! @awscloud_jp 公式アカウント をフォローしたお客様に フリクションボールペンをプレゼント! 【配布場所】ロビーや展示会場のコンパニオンが配布中!お気軽にお声かけください。 AWS Black Belt Online Seminarのご案内 AWSJ の Tech メンバーがAWSに関する様々な事を日本語で 紹介・解説する無料のオンラインセミナー AWSについてもっと勉強したい方にオススメ! AWS イベント 検索 アジェンダ 1. AWSを活用したIoT事例 2. IoTで利用されるサービス群 3. IoTのアーキテクチャ 4. アーキテクティング実践 5. デモンストレーション AWSを活用したIoT事例 名前 • 榎並 利晃(えなみ としあき) • [email protected] 役割 • Mobile / IoT Business Development Manager 好きなAWSのサービス • AWS IoT • AWS Lambda / API Gateway • Mobile Services 様々なところでIoTが実現 車 製造, 物流, サプライ チェーン 自治体 農業 家電・スマート ホーム ヘルスケア 小売 安全運行管理 酪農 農業 スマート家電 AWS IoT ON! もうすぐ帰るから エアコンを つけておこう! 温度・湿度・照度を定期的に 測定し、AWS経由でアプリに 表示することも可能。 Wi-Fi Wi-Fiルーター REX-WFIREX1 IoTの活用 業務改善 イノベーション • • • • 歩留まり改善 メンテナンスの効率化 遠隔制御 資源の活用 (Condition based maintenance) IoT 活用 新規ビジネス イノベーション • 新コンセプトプロダクト • データ販売 • コンサルティング プラットフォーム連携による共創 デバイスの抽象化とデータ連携 プラットフォーム A API プラットフォーム B データを価値に変える 収集 収集した データを リアルタイム に基盤に転送 保存 データを 長期的に保存、 検索 分析 活用 大規模データ を高速に分析 (解析) 分析結果を 人が参照 しやすい形で 提供 IoT パビリオン 名前 • • 吉田 英世(よしだ ひでよ) [email protected] 役割 • • ソリューションアーキテクト ネットワーク/IoT担当 経歴 • • 某ゲーム会社インフラエンジニア 某組込みソフトウェア会社 IoTプラットフォーム開発 好きなAWSのサービス • • • AWS IoT Amazon Kinesis Amazon VPC IoTで利用されるサービス群 AWS IoT IoTに必要な機能を簡単にセキュアに利用 セキュアな 双方向通信 ルールベースの アクション設定 • TLS1.2を利用した クライアント証明書による認証 • HTTPSとMQTTSを採用 • MQTT pub/subによる双方向 通信 • SQLライクなルールの定義で メッセージ処理をアクション が設定 • AWSサービスとのシームレス な連携 デバイスSDKで 開発も簡単 • AWS IoTの各種機能を デバイスから利用可能 C-SDK (Ideal for embedded OS) Arduino Library (Arduino Yun) JS-SDK (Ideal for Embedded Linux Platforms) Mobile SDK (Android and iOS) 認証 ルール エンジン AWS サービス ----サードパーティ デバイス ゲートウェイ デバイスSDK シャドウ レジストリ AWS IoT API アプリケーション AWS IoTと直接連携できるサービスは12! Lambda関数の実行 Firehoseへの書込 S3バケットへの書込 AWS IoTへの再パブリッシュ DyanmoDBへのデータ 追加、更新 CloudWatchアラーム送信 SNSトピックまたは エンドポイントへの書込 CloudWatchメトリクスとして キャプチャ Kinesis Streamへの書込 SQSキューへの書込 Elasticsearchへの書込 Machine Learningの リアルタイム予測API Amazon Kinesis Amazon Kinesis Streams Amazon Kinesis Firehose Amazon Kinesis Analytics ストリーミングデータの プロセッシングや分析用 のカスタム アプリケーションを構築 大容量のストリーミング データをS3やRedshiftに 簡単に保存 標準SQLクエリにより ストリーミングデータを 簡単に分析 AWS Lambda IoTの各イベントをトリガーにいろいろなコードを実行 OS,キャパシティなど インフラの管理不要 • コードを書いてLambdaに アップロードするのみ • 登録されたコードを自動的に 実行 多様なイベント に対応 • AWS IoTのルールアクション として動作可能 • Kinesis Streamのストリーム もイベントとして登録可能 コンピューティング 使用時間のみの課金 • コードが実行される100msごと、 およびコードがトリガーされた 回数に対して課金 Amazon API Gateway アプリケーションだけでなくデバイス向けWeb APIの 作成・保護・運用と公開を容易に RESTfulエンドポイントに必要な 豊富な機能が利用可能 • リクエスト数に応じてスケール • バックエンドへの負荷を軽減するための スロットリング • APIのバージョンを管理 • APIアクティビティのメトリクス取得 Lambdaの利用でサーバレスな APIを作成 • API呼出し後のアクションでLambdaを 指定することでプログラムの登録のみで APIを作成 IoTのアーキテクチャ IoTアーキテクチャの特徴 テレメトリ用途ではビッグデータの入力レイヤーとして扱われるのがほとんど IoTはテレメトリ+αでデータを価値に変える: • アプリケーションからデバイスを操作(コマンド) • 入力データを元にアクションを実行(プロセッシング) • 過去の出来事を元に未来を予測(コンテキストアウェアネス) イベント駆動 CQRS(コマンドクエリ分離責務) 永続化ストア (イベントストア) 書込(コマンド) コマンドプロセッサ イベント保存 イベント送信 イベントハンドラ 読込(クエリ) クエリサービス アップデート 非同期で コピー データ 読み出し データストア CQRS(コマンドクエリ分離責務) イベントストア 書込(コマンド) コマンドプロセッサ AWS IoT Rules Kinesis Stream Lambda API Gateway Kinesis Stream DynamoDB S3 イベントハンドラ 読込(クエリ) DynamoDB RDS クエリサービス Redshift ElasticSearch Service データストア Lambda DataPipeline Kinesis(KCL) EMR CQRSの例 書込 デバイス AWS IoT デバイス ゲートウェイ AWS IoT ルールエンジン S3 QuickSight Redshift 読込 アーキテクティング実践 デバイスとAWSを接続したい AWS IoTとKinesis Streamを目的によって使い分ける AWS SDK AWSデバイスSDK AWS SDK AWS IoT AWS IoT ルールエンジン デバイスゲートウェイ Kinesis Stream MQTTS or HTTPS SSL証明書 or Sig v4による認証 双方向通信 メッセージプロセッシング HTTPS Sig v4による認証 単方向通信(デバイス>Kinesis) ストリームプロセッシング Kinesisへ送信する前にデータの前処理をしたい AWS IoTのルールで前処理を実行 Kinesisに渡す前処理(ex.ノイズ除去、タイムスタンプ付与、数値変換処理) MQTTのインタフェースとしても利用 ひとまずセンサーデータを保管しておきたい S3をデータレイクとして活用 ビッグデータサービス群とシームレスな連携が可能 EMR Data Pipeline Kinesis Firehose Redshift QuickSight S3 AWS IoT デバイス ゲートウェイ AWS IoT ルールエンジン Machine Leaning ビッグデータサービス群 データストアの選択 DynamoDB ID+タイムスタンプなどの時系列データを アプリケーションでから参照 アプリケーションでのデータ活用 Redshift 中・長期的な時系列データを BIツールを利用してアドホックに分析 分析でのデータ活用 S3 汎用的なアーカイブ 堅牢で安価なオブジェクトストレージに 半永久的にファイルデータ保管 Elasticsearch ServiceやEMR上でHBaseなども利用可能 小規模であればRDSも選択 デバイスをリモートで制御したい MQTTとWebsocketで持続的な コネクションからのコマンド送受信 Websocket MQTT(subscribe) AWS IoT デバイス ゲートウェイ RESTful API AWS IoT デバイスシャドウ クライアント証明書をデバイスにインストールしたい AWS IoTのAPI操作 BYOC (Bring Your Own Certificates) プライベートCA プライベートCA証明書 ロール(証明書発行のみ) デバイス証明書 CSR aws iot create-certificate-from-csr デバイス証明書 AWS IoT APIエンドポイント プライベートキー 証明書 AWS IoT APIエンドポイント プライベートキー https://mobile.awsblog.com/post/TxP0ACB3TWZ5XB/Use-Your-Own-Certificate-with-AWS-IoT デバイスへファームウェアをダウンロードしたい S3イベント+LambdaとAWS IoTの連携 ファームウェア ⑥ファームウェアを 更新 ①ファームウェアを S3バケットに アップロード ⑤ファームウェアを S3バケットからダウンロード S3 ④トピックから URLを受信 ③Lambdaから URLを通知 AWS IoT デバイスゲートウェイ ②PUTのイベントから Lambdaを起動 Lambda デバイス管理 AWS IoTデバイスレジストリやDynamoDBを利用 DeviceName LastUpdate Serial # Location device001 2016-0602T00:00:00 A12345 room1 デバイス属性、ステータスを更新(AWS SDK, など) OR デバイス属性・ステータスを更新(MQTT) AWS IoT DynamoDB デバイスレジストリ { AWS IoT デバイスゲートウェイ AWS IoT ルールエンジン "things": [ { "attributes": { ”serialnumber": ”12345678" }, "thingName": "mydevice" } ] Lambda } デバイスからAWSまでを閉域ネットワーク接続例 Direct Connectやパートナー様のサービスを利用 AWS クラウド 3G/LTE 網 AWS IoT AWSサービス群 お客様VPC Direct Connect (専用線) お客様拠点 Lambda RDS デモンストレーション Shiny by RSudio デモ構成 Lambda Kinesis Stream AWS SDK AWS IoT AWS IoT デバイス ルールエンジン ゲートウェイ S3 Aurora まとめ IoTを”つなげる”から”データ活用”に、AWSでシステムを 構築して、データ活用にフォーカスする ソフトウェアアーキテクチャを取り入れることで IoTアーキテクチャを最適化 AWSのマネージドサービスをはビッグデータだけでなく IoTにおいても強力なツールとなる
© Copyright 2026 Paperzz