Share
Embed
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(ソラコム) PRO
July 05, 2023
Transcript
36 slides
-
本日のハッシュタグ #SORACOM @SORACOM_PR fb.com/soracom.jp instagram.com/soracom.official 使用例 他には… • #SORACOM IoTやDXの話を聞きにきた
• キーノートは2日目! #SORACOM #SORACOM の検索で、最新情報が! youtube.com/@SORACOM_Japan -
自己紹介 株式会社ソラコム / シニアソリューションアーキテクト 須田 桂伍 (すだ けいご) 経歴: •
エンタープライズシステムのエンジニア ◦ 基幹システム ◦ ストリームプロセッシング • プラットフォームサービスでのプロサービス -
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を中心としたアーキテクチャー -
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を中心としたアーキテクチャー デバイス毎に必要な作業 -
SORACOM Beam SORACOM Beamは、通信の暗号化やプロトコル変 換、接続先切り替えを支援するサービスです。 制限により暗号化できないIoTデバイスの通信を、プ ラットフォームから接続先サーバーまで暗号化し、 TCPやUDPをHTTPSに変換します。 設定情報はプラットフォーム上に保存され、ユーザー コンソールやAPIで変更可能で、複数のIoTデバイス
に適用でき、効率的な管理を実現します。 Azure IoT Hubを中心としたアーキテクチャー -
専用線 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 -
Azure IoT Hubへの認証方式 アクセスポリシー X.509 CA証明書 共有アクセスポリシー デバイス毎の認証情報 認証情報ストアに、共有アクセスポリシーの認証情報 を
1 つだけ登録して、すべてのデバイスで共有する方 法 認証情報ストアに、デバイスの数だけ認証情報を登 録する方法 認証ストアにデバイス毎に作成したデバイス証明書を 認証情報ストアに登録する方法 Azure IoT Hubへの 認証方式 Azure IoT Hubを中心としたアーキテクチャー -
SORACOM BeamからAzure IoT Hubへ接続する際、共有アクセスポリシーを認証に 利用します。デバイス間で同一の共有ポリシーを利用し接続します。 共有アクセスポリシーを利用する 認証情報ID 認証情報 Share-Key 共有アクセスポリシー情報
認証情報ストア SORACOM Beam MQTTS Azure IoT Hub セキュアな無線区間 Device01 + imsi01 Device02 + imsi02 Device03 + imsi03 Azure IoT Hubを中心としたアーキテクチャー MQTT -
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 -
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を中心としたアーキテクチャー -
SORACOM Krypton SORACOM Kryptonは、IoTデバイスのプロビジョニン グを自動化するためのサービスです。 SORACOM Kryptonは必要な設定とパラメータを提供 し、デバイスのプロビジョニングを支援します。 さらに、他のクラウドサービスとの統合により、これらの デバイスはAzure
Device Provisioning Serviceなどと シームレスに連携できます。 Azure IoT Hubを中心としたアーキテクチャー -
SORACOM Krypton Amazon Cognito Azure IoT Hub Device Provisioning Service
SORACOM Krypton 1. 初期設定をリクエスト 2. 初期設定を代行 3. 各種設定、認証情報を取得 4. 各サービスにアクセス セルラー回線を利用する場合 (特定地域向けIoT SIM) AWS IoT Core Azure IoT Hubを中心としたアーキテクチャー -
SORACOM Kryptonによる登録の流れ 1. プロビジョニングAPIの実行 2. DPSへの登録 3. Azure IoT Hubへ
デバイス登録 4. デバイス証明書と接続先情報の返却 5. Azure IoT Hubへ接続 4. 結果の返却 Azure IoT Hub DPS Azure IoT Hubを中心としたアーキテクチャー -
SORACOM Kryptonを利用した構成の特徴 • Azure IoT Hubへ接続するためのデバイス証明書の配布を自 動化できる • Azure IoT
HubやAzure IoT Edgeの機能を利用できるため、 豊富な機能を組み込める(AMQPも利用可能) • SORACOM Kryptonはデバイス登録とデバイス証明書の配布 を自動化できますが、証明書の管理から完全に解放されるわ けではない点には注意 Azure IoT Hubを中心としたアーキテクチャー -
SOACOMによるMicrosoft Azure連携 SORACOM Funnel SORACOM Funk SORACOM Funnelは、デバイスからのデータを特定のクラウド サービスに直接転送するクラウドリソースアダプターです。 Funnel
でサポートされるクラウドサービスと、そのサービスの接続先のリ ソースを指定するだけで、データを指定のリソースにインプットするこ とができます。 SORACOM Funk は、FaaS (Function as a Service) の Function を呼び出すサービスです。デバイスのスペックや消費電力の問題か ら、デバイスで複雑な計算処理ができない場合でも、複雑な計算処 理を FaaS にオフロードできます。 サーバーレスを活用するためのアーキテクチャー -
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システム開発向け 疑似データ生成サービス -
SORACOM Funk サーバーレスを活用するためのアーキテクチャー AWS Lambda Azure Functions Cloud Functions シンプルなプロトコルで
呼び出し開始 ファンクションを実行 戻り値を返却 戻り値を受け取り SIM による 認証 クラウド SDK が不要 (SORACOM Funk が変換) クラウド上は 「関数」を作るのみ SORACOM Funk デバイスから「クラウド関数」の 呼び出しが容易に -
SOACOM Funkによる連携例 HTTPS SORACOM Funk 2. SASトークン生成 サーバーレスを活用するためのアーキテクチャー 1. URLリクエスト
3. URLを返す 4. ファイルのアップロード/ダウンロード Azure Functions Azure Storage -
SORACOMのアプリケーションサービス サーバーレスを活用するためのアーキテクチャー 専用線 交換局 モノ 基地局 セルラー SORACOM Funnel クラウドアダプター
SORACOM Beam データ転送支援 Sigfox セルラー LPWA SORACOM Funk クラウドファンクション Azure Functions Azure Event Hubs Azure IoT Hub Azure Event Grid -
閉域ネットワークの選択肢 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を拡張するためのアーキテクチャー -
SORACOM Gateによる双方向通信 VPN接続 SORACOM Door 閉域NWを拡張するためのアーキテクチャー Gate Peer SORACOM Gate
10.128.0.100 10.128.0.200 閉域接続サービスにSORACOM Gateを加えることでデバイスとクラウドを 1つのLANとして接続し、クラウドとデバイス間での双方向通信が実現できます。 -
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/ -
回線冗長化 閉域NWを拡張するためのアーキテクチャー 【Ask SA!】 障害に強いIoTの閉域網を作る方法 ― Azure VPN GatewayとSORACOM Door
https://blog.soracom.com/ja-jp/2022/08/02/door-redundant-network-with-azure-vpn/ -
SORACOM Airを存分に活用する さいごに 通信にSORACOM Airを利用いただくだけでも多くの機能が活用できます。 SORACOM Napter デバイスへセキュアにリモートアクセスが可能 SORACOM Peek
デバイスからの通信をソラコムプラットフォームでパケットキャプチャが可能 イベントハンドラー SIMステータスの変更などをトリガーにアクションを実行可能 通信のトラブルシュート支援機能 通信状態の確認やPingを実行したりと通信のトラブルシューティングが可能 API SIMのステータス変更や発注処理をAPIで実行可能