[レポート] AWS で実現する IoT 入門 #AWSSummit

このレポートは、AWS Summit Tokyo 2018 Tech 初級「 AWS で実現する IoT 入門」です。スピーカーは、アマゾン ウェブ サービス ジャパン株式会社 技術統括本部 ソリューションアーキテクトの榎並 利晃氏です。
2018.05.31

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、中村です。
AWS Summit Tokyo 2018からセッションリポートします。

このレポートは、Tech 初級「 AWS で実現する IoT 入門」です。スピーカーは、アマゾン ウェブ サービス ジャパン株式会社 技術統括本部 ソリューションアーキテクトの榎並 利晃氏です。

レポート

本セッションでは、 IoT 関連の7つのサービスの特徴を伝えていきます。

IoT ビジネスの状況

  • IoT のビジネス利用がかなり増えている。
  • 内容は、収益改善・新規事業/新製品開発・顧客とのエンゲージメント・運用改善など多岐にわたる。
  • 日本は製造業が多く、運用改善用途(中でも予防保全)が多い。
  • ソニーは、工場内利用や aibo ・ヤンマーは Greengrass ・ ML Inference を用いた IoT Smart Greenhouseなど。
  • デバイス(センサー等の製造)・ネットワーク(どのようにデバイスとクラウドを接続するか)・分析・変更管理などの考えるべきこともたくさんある。

レイヤー


Device Control を検討から外す会社さんもあるが、ソフトウェアのアップデート等で重要です。

サービスの紹介

AWS IoT Core

2016年にリリース。一言で表すと、「 Device と Cloud のフロントエンド 」

  • 認証/認可サービス: Device とのフロントエンドに証明書を作成し管理する機能がある/ポリシー(アクセス制御)の管理
  • デバイスゲートウェイ: IoT デバイスが AWS に接続する入口。長時間の、双方向性接続を維持して、これらのデバイスが低レイテンシーでいつでもメッセージを送受信できる。フルマネージド型でインフラの管理をしなくていい。
  • メッセージブローカー: メッセージを使って、他サービスへの連携/ルーティング、 MQTT サーバーのスケーリングも検討せず運用できる
  • ルールエンジン: AWS を含む他サービスに展開する時に、データの変換やルーティングを実施できる
  • デバイスシャドウ: デジタルツイン(リアルデバイスと仮装デバイス)
  • レジストリ: キーバリューストアでデバイス管理している

AWS Greengrass

物理的な光の速度は超えられない・映像データをクラウドに上げて処理するのはネットワークの帯域的にも難しいので、エッジ側で処理したい。 デバイス上で生成データをローカル処理可能にするために、ハードウェア上に AWS IoT Core を実行してもらう。

  • ローカルメッセージとトリガー: ブローカーの機能、紐づくデバイスのルーティングをする
  • ローカルアクション: Lambda にあるビジネスロジックをデプロイすれば、ローカル実行できる(常時ループでエッジ実行も可能)
    • フィルタリング/アグリゲーション/機械学習の3つが主な目的
  •  ローカルリソースアクセス: Lambda からローカル・リソースへアクセスできる(設定しないとアクセスできない)
  •  ML Inference: SageMaker などを使用してモデル学習。
    • エッジで動く&機械学習したい = Greengrass を使う!
  •  OPC-UA 向けプロトコルアダプター: MQTT が基本だが、 OPC-UA をサポート
  • OTA( Over The Air ) アップデート: デバイスをリモートアップデートできる

FreeRTOS

FreeRTOS とは、組み込みOSの OSS です。マイクロコントローラーでも動かすことができます。
OSS のため、エンタープライズ利用には消極的だったが、 Amazon がコミットすることでより安心に利用できるようになりました。
アクセスライブラリやセキュリティライブラリも完備しており、チップベンダーも一部対応しています。

IoT Device Management

IoT デバイスの管理機能。プロビジョニングのサポートや OTA でのアップデート。
OTA は単一のデバイスのみや特定のグループのみなど細かい設定可能。

Device Defendar

AWS re:Invent 2017で発表。IoT サービス利用しているデバイスを継続的に保護します。
デバイスの設定チェックや異常時のアラートなどを設定可能。

IoT Analytics

分析と可視化のサポートを行う。装置からきたデータには分析ノイズがいっぱいで手で修正したりしているお客様も多い。また時系列データの保存方法等の検討も必要。

  • チャンネル: スケーラブルなエントリーポイント( API からも入力可能)、データは形式依存しない。
  • パイプライン: データの ETL (フィルタリングや変換)をし、デバイスデータの正規化。
  • カスタム事前処理: Lambda で下処理できる
  • データ保存: 生データ・処理データの保存/時系列保存サポート。IoT ワークロード用に最適化されたフルマネージドデータストア(S3 等は使わなくてOK)、データリテンション(ポリシーで期間の設定等ができる)
  • データセット: クエリの実行(標準SQLでクエリ実行・ QuickSight でもできる・API / Jupyter Notebookから利用可能)

Jupyter Notebookとテンプレート
カスタムノートブック・ビルトイン ML Notebook テンプレートを用意しています。(予防保全・異常検知・ segmentation )
Sagemakerとの連携が容易に。

AWS IoT 1-Click

Amazon Dush Button のエンタープライズ版のイメージ。ワンクリックで Lambda 等を簡単に起動できます。

アセットモニタリング

  • 装置から AWS IoT Core を経由して IoT Analyticsを使う。
  • IoT Core から Kinesis を利用してリアルタイム処理。
  • IoT Core が抽象レイヤーになっており、後から追加可能

デバイスコントロール

デバイスシャードを利用した設定変更。 Job機能を利用するか API Gateway で Lambda を実行。

発注・呼び出し

クリックで、 AWS IoT 1-Click 経由で Lambda を実行。

エッジコンピューティング

データをクラウドに溜めて、ML モデルを Greengrass に展開。 エッジで推論する。

セッションまとめ

  • IoT 導入からサポートまでをマネージドサービスとして提供しています。
  • デザインパターンのように、要件をサービスの組み合わせで実現を可能にします。

まとめ

いかがでしたでしょうか。
AWS IoT 関連のサービスを使ったことがほぼなかったので、触りだけですが少し知ることができました。
今後使っていきたいと思います!