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

Microsoft AzureとSORACOMで「Hello! IoT」 【SORACOM D...

Microsoft AzureとSORACOMで「Hello! IoT」 【SORACOM Discovery 2023】

本セッションではMicrosoft Azureに注目し、SORACOMとの組み合わせによるIoTシステムの構築を徹底解説します。SORACOM BeamによるAzure IoT Hubへのデータ送信や、SORACOM Doorを使ったAzure Virtual Networkとの閉域VPN接続といった、現場とAzureとのつなげ方や、SORACOM KryptonとIoT Hubの連携によるデバイスの初期設定の簡略化、そして運用フェーズでのSORACOM活用についても紹介します。

株式会社ソラコム シニアソリューションアーキテクト 須田 桂吾

SORACOM

July 05, 2023
Tweet

More Decks by SORACOM

Other Decks in Technology

Transcript

  1. 本日のハッシュタグ #SORACOM @SORACOM_PR fb.com/soracom.jp instagram.com/soracom.official 使用例 他には… • #SORACOM IoTやDXの話を聞きにきた

    • キーノートは2日目! #SORACOM #SORACOM の検索で、最新情報が! youtube.com/@SORACOM_Japan
  2. 自己紹介 株式会社ソラコム / シニアソリューションアーキテクト 須田 桂伍 (すだ けいご) 経歴: •

    エンタープライズシステムのエンジニア ◦ 基幹システム ◦ ストリームプロセッシング • プラットフォームサービスでのプロサービス
  3. Azure IoT Hubを使うまでの流れ No. ステップ 内容 1 Azure IoT Hubの設定

    AzureポータルでAzure IoT Hubを設定します。ここで Azure IoT Hubの名前、リージョン、価格層などを指定し ます。 2 デバイス登録 Azure IoT Hubがデバイスからのメッセージを受け取る前に、デバイスを Azure IoT Hubに登録する必要があり ます。これは「Identity registry」で行われ、デバイスに一意の IDとセキュリティキーが割り当てられます。 3 デバイス側の設定 デバイスには、Azure IoT Hubと通信するためのソフトウェアが必要です。これは一般的にデバイスのファーム ウェアまたはソフトウェアに組み込まれており、デバイスが Azure IoT Hubにメッセージを送信したり、 Azure IoT Hubからのコマンドを受け取ったりする機能を提供します。 4 認証 デバイスは、通信の際に Azure IoT Hubに対して認証を行う必要があります。 Azure IoT Hubは、SAS token-based認証またはX.509証明書認証の2つの認証方法をサポートしています。 5 データ送信 デバイスは、センサーデータ、エラーメッセージ、情報メッセージなどの形式でテレメトリを Azure IoT Hubに送信 します。 6 メッセージのルーティング Azure IoT Hubは、受け取ったメッセージをさまざまなサービスにルーティングすることが可能です。これによ り、データの後処理や分析を行うことができます。 Azure IoT Hubを中心としたアーキテクチャー
  4. Azure IoT Hubを使うまでの流れ No. ステップ 内容 1 Azure IoT Hubの設定

    AzureポータルでAzure IoT Hubを設定します。ここで Azure IoT Hubの名前、リージョン、価格層などを指定し ます。 2 デバイス登録 Azure IoT Hubがデバイスからのメッセージを受け取る前に、デバイスを Azure IoT Hubに登録する必要があり ます。これは「Identity registry」で行われ、デバイスに一意の IDとセキュリティキーが割り当てられます。 3 デバイス側の設定 デバイスには、Azure IoT Hubと通信するためのソフトウェアが必要です。これは一般的にデバイスのファーム ウェアまたはソフトウェアに組み込まれており、デバイスが Azure IoT Hubにメッセージを送信したり、 Azure IoT Hubからのコマンドを受け取ったりする機能を提供します。 4 認証 デバイスは、通信の際に Azure IoT Hubに対して認証を行う必要があります。 Azure IoT Hubは、SAS token-based認証またはX.509証明書認証の2つの認証方法をサポートしています。 5 データ送信 デバイスは、センサーデータ、エラーメッセージ、情報メッセージなどの形式でテレメトリを Azure IoT Hubに送信 します。 6 メッセージのルーティング Azure IoT Hubは、受け取ったメッセージをさまざまなサービスにルーティングすることが可能です。これによ り、データの後処理や分析を行うことができます。 Azure IoT Hubを中心としたアーキテクチャー デバイス毎に必要な作業
  5. 専用線 SORACOM Beamの詳細 交換局 モノ 基地局 セルラー SORACOM Beam セルラー

    LPWA AWS IoT Core この区間は暗号化不要。 MQTT、HTTPなどの平文でも セキュアに通信が可能。 IMSIやクライアント証明書を付与。 デバイスに鍵を保つ必要がなく、セ キュアに。 この区間はサーバサイドで TLS化。 デバイス側で暗号化の通信 /計算 オーバーヘッドが不要。 MQTT<->MQTTS HTTP/TCP/UDP <-> HTTPS Generic cloud/servers beam.soracom.io Azure IoT Hubを中心としたアーキテクチャー Azure IoT Hub
  6. Azure IoT Hubへの認証方式 アクセスポリシー X.509 CA証明書 共有アクセスポリシー デバイス毎の認証情報 認証情報ストアに、共有アクセスポリシーの認証情報 を

    1 つだけ登録して、すべてのデバイスで共有する方 法 認証情報ストアに、デバイスの数だけ認証情報を登 録する方法 認証ストアにデバイス毎に作成したデバイス証明書を 認証情報ストアに登録する方法 Azure IoT Hubへの 認証方式 Azure IoT Hubを中心としたアーキテクチャー
  7. IMSIに応じたデバイス証明書をソラコムの認証情報ストアに設定することで、個々の デバイスへの配布作業が不要となります。
 デバイス毎認証情報/X.509証明書を利用する
 Device01 + imsi01 Device02 + imsi02 Device03

    + imsi03 認証情報ID 認証情報 Device-#{imsi01} Device01-Access-Key Device-#{imsi02} Device02-Access-Key Device-#{imsi03} Device03-Access-Key 認証情報ストア MQTTS SORACOM Beam Azure IoT Hub セキュアな無線区間 Azure IoT Hubを中心としたアーキテクチャー MQTT imsi01
  8. SORACOM Beamを介した構成の特徴 • デバイス側にAzure IoT Hubへ接続するためのクレデンシャル 情報を配置せずにMQTT接続できる • MQTT Clientを利用するため汎用的な実装ができSDKをデバ

    イス側に組み込む必要がない(ただしAzure IoT Hubの仕様上 利用できるトピック名に指定がある) • Azure IoT Hubと疎結合にできるため接続先をデバイス側に 透過的に切り替えられる • Azure IoT Hub固有の機能(Device TwinやDirect Methodな ど)が利用できない Azure IoT Hubを中心としたアーキテクチャー
  9. SORACOM Krypton Amazon Cognito Azure IoT Hub Device Provisioning Service

    SORACOM Krypton 1. 初期設定をリクエスト 2. 初期設定を代行 3. 各種設定、認証情報を取得 4. 各サービスにアクセス セルラー回線を利用する場合 (特定地域向けIoT SIM) AWS IoT Core Azure IoT Hubを中心としたアーキテクチャー
  10. SORACOM Kryptonによる登録の流れ 1. プロビジョニングAPIの実行 2. DPSへの登録 3. Azure IoT Hubへ

    デバイス登録 4. デバイス証明書と接続先情報の返却 5. Azure IoT Hubへ接続 4. 結果の返却 Azure IoT Hub DPS Azure IoT Hubを中心としたアーキテクチャー
  11. SORACOM Kryptonを利用した構成の特徴 • Azure IoT Hubへ接続するためのデバイス証明書の配布を自 動化できる • Azure IoT

    HubやAzure IoT Edgeの機能を利用できるため、 豊富な機能を組み込める(AMQPも利用可能) • SORACOM Kryptonはデバイス登録とデバイス証明書の配布 を自動化できますが、証明書の管理から完全に解放されるわ けではない点には注意 Azure IoT Hubを中心としたアーキテクチャー
  12. SOACOMによるMicrosoft Azure連携 SORACOM Funnel SORACOM Funk SORACOM Funnelは、デバイスからのデータを特定のクラウド サービスに直接転送するクラウドリソースアダプターです。 Funnel

    でサポートされるクラウドサービスと、そのサービスの接続先のリ ソースを指定するだけで、データを指定のリソースにインプットするこ とができます。 SORACOM Funk は、FaaS (Function as a Service) の Function を呼び出すサービスです。デバイスのスペックや消費電力の問題か ら、デバイスで複雑な計算処理ができない場合でも、複雑な計算処 理を FaaS にオフロードできます。 サーバーレスを活用するためのアーキテクチャー
  13. SORACOM Funnel 対応クラウドサービス サーバーレスを活用するためのアーキテクチャー AWS IoT Core Amazon Kinesis Data

    Streams Amazon Kinesis Data Firehose Azure Event Hubs Google Cloud Pub/Sub Partner Hosted Adaptor ― SORACOMのパートナーによって提供される SORACOM Funnel アダプタ Amazon Kinesis Video Streams 《アステリア》 Platio モバイルアプリ開 発 《ウイングアーク1st》 MotionBoard Cloud データ可視化BIツール 《Kii》 Kii IoTアプリケーション バックエンドサービス 《Acroquest Technology》 Torrentio ストリームデータ処理エンジン 《Saison Information Systems》 DataSpider ノンプログラミングデータ連携 《YE DIGITAL》 MMCloud デバイス&データ ライフサイクルマネージメント 《日本テラデータ》 IntelliCloud データ分析プラットフォーム 《ESRIジャパン》 ArcGIS 位置情報可視化 プラットフォーム 《ランドログ》 LANDLOG 建設生産プロセス向け IoT プラットフォーム 《ブレインズテクノロジー》 Impulse リアルタイム大規模 データ分析基盤 《OPTiM》 OPTiM Cloud IoT OS AI・IoT活用 統合プラットフォーム 《Fusic》 mockmock IoTシステム開発向け 疑似データ生成サービス
  14. SORACOM Funk サーバーレスを活用するためのアーキテクチャー AWS Lambda Azure Functions Cloud Functions シンプルなプロトコルで

    呼び出し開始 ファンクションを実行 戻り値を返却 戻り値を受け取り SIM による 認証 クラウド SDK が不要 (SORACOM Funk が変換) クラウド上は 「関数」を作るのみ SORACOM Funk デバイスから「クラウド関数」の 呼び出しが容易に
  15. SORACOMのアプリケーションサービス サーバーレスを活用するためのアーキテクチャー 専用線 交換局 モノ 基地局 セルラー SORACOM Funnel クラウドアダプター

    SORACOM Beam データ転送支援 Sigfox セルラー LPWA SORACOM Funk クラウドファンクション Azure Functions Azure Event Hubs Azure IoT Hub Azure Event Grid
  16. 閉域ネットワークの選択肢 SORACOM DoorによるVPN接続 SORACOM Directによる専用線接続 ソラコムプラットフォームとAzure Virtual Networkを Azure VPN

    Gatewayを介してVPN接続します。 ソラコムプラットフォームとAzure Virtual Networkを Express Routeを介して専用線接続します。 IPSec SORACOM Door 専用線 SORACOM Direct VPN GW Express Route 閉域NWを拡張するためのアーキテクチャー
  17. SORACOM Gateによる双方向通信 VPN接続 SORACOM Door 閉域NWを拡張するためのアーキテクチャー Gate Peer SORACOM Gate

    10.128.0.100 10.128.0.200 閉域接続サービスにSORACOM Gateを加えることでデバイスとクラウドを 1つのLANとして接続し、クラウドとデバイス間での双方向通信が実現できます。
  18. 10.0.1.0/24 10.0.1.0/24 Azure内プライベートリソースへのアクセス VPN接続 SORACOM Door 10.0.20.0/24 DNS Private Resolver

    10.0.0.0/16 VPN GW カスタムDNS IP: DNS Private Resolver IP DHCPにより配布 storage.privatelink.blob.core.windows.net 閉域NWを拡張するためのアーキテクチャー 名前解決 アクセス (参考)カスタムDNSとAzure DNS Private ResolverでAzureのプライベートリソースにアクセスする https://blog.soracom.com/ja-jp/2023/06/06/custom-dns-and-azure-dns/
  19. SORACOM Airを存分に活用する さいごに 通信にSORACOM Airを利用いただくだけでも多くの機能が活用できます。 SORACOM Napter デバイスへセキュアにリモートアクセスが可能 SORACOM Peek

    デバイスからの通信をソラコムプラットフォームでパケットキャプチャが可能 イベントハンドラー SIMステータスの変更などをトリガーにアクションを実行可能 通信のトラブルシュート支援機能 通信状態の確認やPingを実行したりと通信のトラブルシューティングが可能 API SIMのステータス変更や発注処理をAPIで実行可能