Upgrade to Pro — share decks privately, control downloads, hide ads and more …

組み込みエンジニアが知っておきたい、IoTデバイスとクラウドのアーキテクチャ/iot-arch...

SORACOM
November 04, 2021

 組み込みエンジニアが知っておきたい、IoTデバイスとクラウドのアーキテクチャ/iot-architecture-with-the-cloud-for-embedded-engineers

2021年11月4日(木)開催、Design Solution Forum 2021 にて、ソラコム松下が発表した「組み込みエンジニアが知っておきたい、IoTデバイスとクラウドのアーキテクチャ」の資料です。

SORACOM

November 04, 2021
Tweet

More Decks by SORACOM

Other Decks in Technology

Transcript

  1. 組み込みエンジニアが知っておきたい、 IoT デバイスとクラウドのアーキテクチャ Nov. 4, 2021 Design Solution Forum 2021

    株式会社ソラコム テクノロジー・エバンジェリスト 松下 享平 (Max / @ma2shita)
  2. 自己紹介 株式会社ソラコム / テクノロジー・エバンジェリスト 松下 享平 (まつした こうへい) “Max” 静岡県民

    🗻 新幹線通勤族 🚅 講演や執筆を中心に活動、登壇回数400以上 経歴: 東証二部ハードウェアメーカーで情シス部門、 EC 事業責任者、IoT 事業開発を経て2017年より現職 好きな言葉: 論よりコード AWS ヒーロー (IoT 部門) Twitter: @ma2shita
  3. SORACOM は IoT の「つなぐ」を簡単に IoT デバイス クラウドサービス ✓ 遠隔操作 ✓

    メンテナンス ✓ 蓄積・見える化 ✓ アラート通知 通信 デバイス センサ キット IoT 通信 IoT SIM LPWA パートナー デバイス パートナークラウド (AWS / Microsoft / Google) Wi-Fi / 有線 3G / LTE / 5G LTE-M
  4. データ活用までには3つの工程 受付 変換 蓄積 データ活用 《可視化・通知》 HTTP や MQTT 等

    プロトコルの API 公開と 変換処理への橋渡し フォーマット変換や マッピング(意味づけ) 集計処理 データ活用側で 利用するための 保管 IoT デバイス
  5. クラウド側、どうやって作るのか? 準備 仮想サーバーを作ってから、PHP + Laravel を インストールして API と変換処理を実装した 後、ストレージに

    MySQL を設定して… 実装 MQTT 対応は?認証処理は?規模やワーク ロード調整は?ストレージ見積は? 運用や費用 モニタリングは?スケールできる? データが流れていない時のコストは?
  6. IoT データは「いつ発生するかわからない」 ➢ 稼働時間で課金 ➢ 常にデータを処理している ワークロード向き ➢ 実行時間で課金 ➢

    データ発生時のみ処理する ワークロード向き 例) ドアの開閉をセンシングしたい IoT のデータ処理に適している データの待ち時間がムダに 仮想サーバーや マネージドサービス サーバーレス
  7. 工程毎に対応するサービスの例 受付 変換 蓄積 Amazon API Gateway AWS IoT Core

    Azure Application Gateway Azure IoT Hub Cloud IoT Core API Gateway AWS Lambda Amazon Kinesis AWS IoT Analytics Azure Event Hubs Azure Functions Azure Stream Analytics Cloud Functions Cloud Pub/Sub Cloud Storage BigQuery Firestore Azure Cosmos DB Storage Account Data Lake Storage Gen2 Amazon S3 Amazon DynamoDB Cloud Dataflow
  8. 構成例 Amazon API Gateway AWS Lambda Web API Azure Cosmos

    DB Power BI Azure Stream Analytics Azure IoT Hub Amazon S3 BigQuery ML Data Portal Cloud Dataflow Cloud IoT Core Cloud Pub/Sub HTTPS で受け付けてデータの蓄積をしつつ、条件によって外部 API を呼び出し MQTT で受け付けて Power BIにリアルタイム連携しつつ、データ蓄積と表示 HTTP と MQTT で受け付けて、実データと機械学習の推論を表示 IoT デバイス
  9. サーバーレス アーキテクチャを考えるポイント 1/2 1つのプログラム(サービス)には1つのことをうまくやらせる • サービスは「コマンド」、連携は「パイプ」 ※ UNIXという考え方 (P23) 1つのサービスで、受付と変換の機能を持つ場合もある

    • Azure Functions《変換》内の HTTP トリガー機能《受付》 • AWS IoT Core《受付》内のルール機能《変換》 「1個流し」のコスト算出が可能か • データが流れていないときには、コストを抑えらえるのが望ましい
  10. サーバーレス アーキテクチャを考えるポイント 2/2 集計や他データソース参照は《変換》上で実装 • Amazon Kinesis Data Firehose や

    Azure Stream Anaytics の ウィンドウ関数 • 変換用 Lambda 関数を経由したルックアップテーブル参照 蓄積サービスは、データ活用側(アプリケーション)が対応して いるデータソース要件から選定 • Amazon QuickSight で使いたい → Amazon S3 に蓄積 • Power BI で使いたい → Azure Stream Analytics からの リアルタイムストリーミング
  11. サーバーレス アーキテクチャも「銀の弾丸」ではない ランタイム(言語)やライブラリ利用の制約やチューニングの可否がある • AWS Lambda runtimes や AWS Fargate

    等、コンテナを利用したミドルウェア 制御の方法も出現 サーバーレスは「ステートレス」設計が原則、ステートが必要な アプリケーション設計には工夫が必要 • デバイスシャドウ機能や AWS IoT Events といったステート管理の仕組みも 利用できる データが常時発生するワークロードの場合は、コストとスループットの 両面で時間課金タイプが有利な場合もある • “1つのサービスには1つのことをうまくやらせる” ができていれば、当該部分 の差し替えも可能に
  12. SORACOM Funk SORACOM Beam / Funnel / Funk による デバイス開発の工数削減

    デバイス セキュア&クラウドネイティブな プロトコル • メガクラウド PaaS / SaaS • パートナー ソリューション SORACOM Beam SORACOM Funnel プリミティブな プロトコル • SIM を鍵としてクラウドの認証情報との紐づけ • クラウド向けプロトコルへ変換 HTTP, MQTT, TCP, UDP HTTPS(+JSON), MQTTS, TCPS SDK や認証情報をデバイスから取り払ってシンプル化 デバイス開発の工数や 運用の手間を削減
  13. デバイス開発工数や運用の手間を削減 SORACOM Funk 活用例 Amazon API Gateway AWS Lambda AWS

    Lambda • TLS ライブラリのインストール 済 • TLS 証明書のインストール 済(更新含) • 認証情報のインストール ➢ ユーザーコンソールから設定 • HTTP リクエストへの署名実装 済 • HTTP リクエスト中継 SORACOM Funk • TLS ライブラリのインストール • TLS 証明書のインストール(更新含) • 認証情報のインストール • HTTP リクエストへの署名実装 • HTTP リクエスト実装 • TLS ライブラリのインストール • TLS 証明書のインストール(更新含) • 認証情報のインストール • HTTP リクエストへの署名実装 • HTTP リクエスト実装 • クラウド対応の開発? • 認証情報の盗難防止? • 仕様変更や SDK 更新? お客様から見えづらい 開発・運用部分を SORACOM で肩代わり
  14. クラウドと「つなぐ」を簡単に SORACOM Beam / Funnel / Funk データ転送 SORACOM Beam

    クラウドアダプタ SORACOM Funnel クラウドファンクション SORACOM Funk ビーム ファネル ファンク ✓ MQTT(S) 中継 ✓ HTTP の TLS 変換 ✓ TCP/UDP を HTTPS へ変換 ✓ HTTP ヘッダ追加、編集 既存システム接続や MQTT 利用に ✓ 6つのパブリッククラウド用 アダプタ ✓ 11の SORACOM パートナ ソリューション用アダプタ 新規 IoT システムを 迅速に展開 ✓ パブリッククラウドの FaaS を 直接呼出し ✓ 実行結果をデバイスへ 返送可能 クラウドを 「デバイスの関数」化
  15. SORACOM のコネクティビティ IoT 向けデータ通信サービス SORACOM Air セルラー LPWA GSM /

    3G / LTE / 5G LTE-M Sigfox あらゆる現場を つなげる通信 セキュリティや 付加機能 IoT ビジネス向けの 料金体系 セキュアリンクサービス SORACOM Arc Wi-Fi / 有線 LAN
  16. MQTT over WireGuard で MQTTS (AWS IoT Core) へ 接続するには?

    WireGuard NGINX + Stream モジュール MQTT MQTTS AWS IoT Core Wi-Fi SORACOM Arc SORACOM Beam MQTT Wi-Fi NGINXのStreamモジュールでMQTT <=> MQTTS変換をしてAWS IoT Coreへ接続する https://qiita.com/ma2shita/items/e0b83868bf64834f3bc6 ESP32(M5Stack Basic)上でWireGuardを使用したMQTT実装サンプル https://qiita.com/ma2shita/items/0f0dce8ff0e45cf9fbac MQTTS 自前構築 SORACOM 利用
  17. ソースネクスト株式会社 「POCKETALK Ⓡ 」 外国語での双方向コミュニケーショ ンを実現するAI通訳機。 グローバル通信搭載で、電源を 入れれば、世界中ですぐに利用可能。 導入事例 利用したSORACOMサービス:SORACOM

    Air (plan01s / planX1)チップ型SIM(eSIM)搭載 サービス * 対応言語の詳細は製品ウェブサイトをご確認ください 協力パートナー:JENESIS株式会社
  18. 選択肢と組み合わせの自由 ― “Agnostic” Cloud Agnostic クラウドの自由 Connectivity Agnostic 通信の自由 アグノスティック

    グローバル プラットフォーム お互いに依存しない IoT “Agnostic” Wireless Agnostic セルラー Sigfox Wi-Fi 有線 データセンター SaaS、インターネット AWS、Azure、Google Cloud パートナークラウド