【レポート】IoT イノベーションを実現するたの AWS サービスと基本構成(AWS-13) #AWSSummit
こんにちは、yoshimです。
本記事は、2022年5月25日(水)に行われたAWS Summit Onlineのセッション「IoT イノベーションを実現するたの AWS サービスと基本構成」のセッションレポートとなります。
こちらのセッションでは「IoTの様々なユースケースで共通する課題」や「共通する課題へのAWSのマネージドサービスを利用したソリューション」について紹介されていました。
セッション
タイトル: IoT イノベーションを実現するたの AWS サービスと基本構成(AWS-13)
IoT を活用してビジネス価値を生み出すためには、 ユースケースに関わらず共通の実現したい機能(データ収集、 分析、 デバイス管理、 エッジ活用)がいくつかあります。 それらを実現する中で遭遇する課題に対して、 AWS サービスを活用した解決方法やそのメリットについて紹介していきます。 *「添付ファイル」タブで本セッション資料をダウンロードできます。
スピーカー: AWS ソリューションアーキテクト 三平悠磨
セッションレベル: Level 200: 初級者向け
IoTが生み出すイノベーション
- デバイスから価値を生み出すためには優れたデータ戦略が必要。具体的には以下の3ステップが必要
- 1.データ収集と保存のプロセス
- データがサイロ化しないように注意
- 2.データの民主化
- 誰でも簡単にデータを入手可能にする
- 3.データの活用
- 実用的な洞察を発見する
- 1.データ収集と保存のプロセス
- IoTとデータ戦略によって、長期的にデータドリブンなビジネス判断を加速し、収益拡大と運用効率の向上に繋がる
AWSのIoT向けサービス
- AWSを利用することでIoTワークロードに必要な以下のことが容易に実現できる
- IoTデータの収集、保存、分析
- クラウドからエッジまでセキュアに接続、管理。クラウドでのデータ保存においてもセキュリティを担保可能
- AI/MLと統合することで高機能なソリューションの提供
- インフラを容易にスケール可能
- IoTソリューションを構成する主な要素は以下3点。これらを繰り返す。
- デバイス-クラウド間の接続とセンシング
- FreeRTOS
- AWS IoT Device SDK
- AWS IoT Greengrass
- AWS IoT Device Tester
- AWS IoT ExpressLink
- データの収集と、デバイス、フリート、データの管理
- AWS IoT Core
- AWS IoT Device Management
- AWS IoT Device Defender
- 分析とアクション
- AWS IoT SiteWise
- AWS IoT Analytics
- AWS IoT Events
- AWS IoT TwinMaker
- AWS IoT FleetWise
- Amazon Kinesis Video Streams
- デバイス-クラウド間の接続とセンシング
IoTにマネージドサービスを採用する理由
- スケーラビリティとフリート管理
- インフラ管理やスケールアウト設計が不要
- セキュリティ
- デバイスとデータをセキュアに保つための機能が色々提供されている
- イノベーションを加速
- インフラ管理ではなく、ビジネス価値を生み出すアプリ開発に時間を割くことができる
- コスト削減
- 初期費用なしの従量課金制のサービスなので低コストからサービス利用可能
- データ管理
- デバイスの多種多量な非構造化データを管理するにあたって、AWSには様々なストレージ、データベースが提供されている
- デバイス、アプリのライフサイクル管理
- IoTソリューションのライフサイクル全体にわたって、デバイスとアプリをメンテナンスできる
IoTユースケースで共通する必要な機能
- 以下4機能
- データ収集
- デバイス管理・監視
- データ分析・活用
- エッジ活用
データ収集
- デバイスからセキュアにデータを収集するためには、デバイス・クラウドでそれぞれ考えるべきことがある
- デバイス
- クラウドに接続し、データを送信するための実装
- クラウド
- 大量のデバイスから接続を受け、認証認可やメッセージの送受信を行えるインフラ
- デバイス
- 「AWS IoT Core」がデバイスにとってはクラウドの接続点に、クラウド側には必要なインフラを提供している
- デバイス側実装の課題
- デバイス側実装が困難
- 「AWS IoT Device SDK」を活用すると「メッセージの送受信」や「AWS IoTの各種機能」を簡単に利用できる
- マイコン向けのリアルタイムOSである「FreeRTOS」は、「AWS IoT Core」などのサービスと接続するためのライブラリを提供している
- クラウドとのセキュアな接続や認証等の複雑な実装をしたくない場合は「AWS IoT ExpressLink」も良い
- デバイス側実装が困難
- クラウド側実装の課題
- デバイスの種類やユースケースに応じて様々なプロトコルをサポートする必要がある
- 「AWS IoT Core」では、MQTT、HTTP、MQTT over WebSocketをサポート。いずれもTLSによって暗号化されている
- また、長距離低消費電力デバイス向けにLoRaWANもサポートしている
- デバイスの認証機能
- 「AWS IoT Core」ではクライアント証明書によるデバイス認証を実現。またその他にも様々な認証方法、カスタムで実装できる認証をサポートしている
- 様々なデータ形式のサポート
- サイズの小さいなペイロードはもちろん、画像や動画もサポートしている
- クライアント証明書を用いた認証と組み合わせることも可能
- 車両データの収集にも対応
- デバイスの種類やユースケースに応じて様々なプロトコルをサポートする必要がある
デバイス管理・監視
- 「大量のデバイスを効率的に管理する仕組み」、「デバイスをセキュアに保つ仕組み」が必要
- 大量のデバイスを効率的に管理する仕組み
- 大量のデバイスの中から特定の条件を満たすデバイスを検索
- 「AWS IoT Device Management」のフリートインデックスでデバイスの属性や状態に基づいて検索可能
- デバイスをグループ化して管理
- 検索結果でグループ化したり、任意のグループを作成してデバイスを管理できる
- これらグループごとに権限設定やログ設定も可能
- 大量のデバイスの中から特定の条件を満たすデバイスを検索
- デバイスをセキュアに保つ仕組み
- セキュリティの監査
- セキュリティのベストプラクティスに則っているかを定期的にチェック可能
- デバイスが異常な挙動をしていないかの検出
- 機械学習ベース、もしくは手動設定した閾値ベースで異常な挙動を検出可能
- デバイスのアップデートを実現する仕組み
- グループ、もしくは個々のデバイスに対して、アップデートなどの遠隔配信ができる
- ジョブ実行速度を徐々に早めるロールアウト設定や、ジョブ失敗率に応じて自動中断する設定等も可能
- デバイス単位でのジョブ結果の確認も可能
- 容易にデバイス情報を確認できるようなUIが欲しい
- 「Fleet Hub for AWS IoT Device Management」を利用することで、コーディング不要でデバイス群を管理するためのダッシュボードを作成可能
- デバイス群の接続台数や切断理由、特定デバイスの状態、アラームの作成等、様々なことが実現できる
- セキュリティの監査
データ分析・活用
- デバイスから収集したデータをどのように保存、処理、活用、するかが課題
- デバイスが送信したメッセージを様々なサービスとスケーラブルに連携するためには...?
- 「AWS IoT Core」の「ルール」という仕組みを用いることで、受信したメッセージをAWSサービスと連携可能
- アプリケーションでIoTデータを活用するためには...?
- ユースケースに応じて適切なデータベースを選択する必要があるが、マネージドサービスを利用することでインフラ管理を意識せずスケーラビリティを担保できる
- ex.DynamoDB, Amazon TimeStream,Amazon Aurora...
- ユースケースに応じて適切なデータベースを選択する必要があるが、マネージドサービスを利用することでインフラ管理を意識せずスケーラビリティを担保できる
- デバイスの状態を素早く把握したい場合は...?
- 「Amazon CloudWatch」にメトリクスやログを収集し、アラートを発報する仕組みを実装する
- トラブルシューティングにも利用可能
- 「Amazon OpenSearch Service」と連携することで、ニアリアルタイムなダッシュボードも活用可能
- 「Amazon CloudWatch」にメトリクスやログを収集し、アラートを発報する仕組みを実装する
- 大量の生データを保存したい場合は...?
- S3をデータレイクとして利用することで、長期間低コストで保存可能
- Amazon QuickSightやAmazon SageMakerで分析可能
エッジ活用
- エッジ側での処理が求められる背景として以下3点が挙げられる。これらの場合、エッジ側でIoTワークロードを実行する必要がある
- デバイスのネットワーク接続が不安定
- エッジデバイスが大量のデータを生み出し、それら全てをクラウドに送信するのが難しい
- プライバシーなどの問題でクラウドへのデータアップロードが許可されていない
- エッジ側でIoTワークロードを実行する場合の課題として以下が挙げられる
- デバイスで実行されるソフトウェアの管理、デプロイ
- デバイス同士の通信
- デバイスでのデータ処理
- 「AWS IoT Greengrass」がエッジ側でのIoTワークロードをサポートする機能
- デバイスで実行されるソフトウェアの管理、デプロイ
- デバイス側で実行するアプリケーションをクラウドから取得、実行状態を管理することが可能
- デバイスのグループへソフトウェアを一括デプロイしたり、ソフトウェアのバージョン管理も可能
- デバイス同士の通信
- エッジ側でのデバイス間通信や、デバイスとゲートウェイ間の通信に「コンポーネント」という機能を利用することで、エッジデバイス同士がメッセージングしたり、デバイスからデータを収集してオンライン時にクラウドに送信したり、といったことが実現可能
- デバイスで実行されるソフトウェアの管理、デプロイ
- 高度なエッジ側の課題として「AI処理」が挙げられる
- データ量が多すぎたりプライバシーの問題から、機械学習の推論結果のみをクラウドに送信したい、というケースがある
- クラウド側にて「Amazon SageMaker」でモデルを学習し、「Amazon SageMaker Edge」によってエッジにモデルをデプロイし、エッジ側で推論処理を実行できるようになる
セッションのまとめ
- 様々な業界でIoTを用いたイノベーションが進んでいる
- AWSはエッジからクラウドに渡る幅広いソリューションを提供している
- AWSのマネージドサービスを用いることで、素早くセキュアにスケーラビリティを持ってIoTユースケースを実現できる
感想
本記事はセッション内容を要約したものですが、セッションではそれぞれのユースケースや仕組みについてより詳細に解説されていますので、是非そちらもご確認ください。