本記事はソラコムが提供する「SORACOM公式ブログ」に掲載された「SORACOM KryptonでAzure IoT Edgeデバイスを登録する」を再編集したものです。
こんにちは、ソラコムの須田(ニックネーム:kei)です。
SORACOM Kryptonはブートストラップの連携先としてAzure IoT Hub Device Provisioning Service(以降DPS)をサポートしています。本ブログでは、SORACOM Kryptonを使って、デバイスをAzure IoT EdgeとしてAzure IoT Hubへ登録する方法をご紹介します。
なお本ブログでは、SORACOM Kryptonを使ったAzure IoT Hubへのデバイス登録の詳細手順はリンク先のドキュメントを参照いただき、Azure IoT Edgeとして登録するための追加手順を中心にご紹介します。
SORACOM Kryptonとは
IoT において重要な課題の一つに、デバイスとクラウドサービス間の認証があります。たとえばデバイスのデータを Azure IoT Hub へ安全に送信したいのであれば、認証が必要です。このとき、証明書などの認証情報をどのようにデバイスへ配布すればよいでしょうか。デバイスが 1 台であれば PC をデバイスに接続して手作業で配布しても良いかもしれません。しかし 100 台、1000 台になったらどうでしょう。セキュア・プロビジョニングサービスの SORACOM Krypton は、デバイスへ認証情報を安全かつ効率的に配布するために利用できます。
手順
デバイスへAzure IoT Edgeをインストールする
事前にMicrosoftのドキュメントをもとにデバイスへIoT Edgeをインストールしておいてください。IoT Edgeの設定ファイルの編集や動作確認は『デバイスを登録する』、『動作確認をする』にて実施します。
事前セットアップ
ユーザードキュメントに沿ってAzureやSORACOMのセットアップ、IoT デバイスとSORACOM IoT SIM のセットアップをします。IoT デバイスはSORACOM Onyx LTE USBドングルで IoT SIM を利用しています。
Azure IoT Edgeデバイスとして登録する際は、「Azure IoT Hub Device Provisioning Service に登録グループを追加する」にて、「IoT Edge デバイス」をTrue
にしてください。
デバイスを登録する
デバイスをAzure IoT EdgeデバイスとしてAzure IoT Hubへ登録していきます。SORACOM KryptonのAPIを実行するまでの流れは『ステップ 6: Krypton を使用して IoT Hub にデバイスを登録して接続する』と同様です。以下のAPIを順次実行していきます。
- registerAzureIotDevice: Azure IoT Hubへのデバイスの登録
- getAzureIotDeviceRegistrationStatus: 登録したAzure IoT Hubデバイス用の認証情報の取得
2.で取得した認証情報をもとにAzure IoT Hubへ接続をします。Azure IoT Edgeデバイスとして接続する際には取得した認証情報をもとにAzure IoT Edgeの設定ファイル(config.toml)を作成する必要があります。
SORACOM Kryptonを介してAzure IoT Edgeデバイスを登録する場合、SORACOM Kryptonがデバイスに代わってDPSへデバイス登録のためのAPIを実行します。そして、デバイスはSORACOM KryptonのgetAzureIotDeviceRegistrationStatus APIにより取得したデバイス証明書を用いて、直接Azure IoT Hubへ接続します。そのため、Azure IoT Edgeの設定ファイルであるconfig.toml内で指定するprovisioning
のsource
はmanual
となります。デバイスが直接DPSと連携しないのでsource
はdps
とならない点に注意してください。
[provisioning] source = "manual" # getAzureIotDeviceRegistrationStatus APIのレスポンスにあるhostの値を指定 iothub_hostname = "IOTHUB_HOSTNAME" # getAzureIotDeviceRegistrationStatus APIのレスポンスにあるdeviceIdの値を指定 device_id = "DEVICE_ID" [provisioning.authentication] method = "x509" # getAzureIotDeviceRegistrationStatus APIのレスポンスにあるcertificateの値をファイル保存し、そのファイルパスを指定 identity_cert = "file:///<path to device cert>" # getAzureIotDeviceRegistrationStatus APIのレスポンスにあるprivateKeyの値をファイル保存し、そのファイルパスを指定 identity_pk = "file:///<path to private cert>"
動作確認をする
最後に動作確認を進めます。デバイス上でAzure IoT EdgeがAzure IoT Hubと連携し正常に稼働できているかを確認します。まず設定ファイルの内容をIoT Edgeへ反映します。
sudo iotedge config apply
次にMicrosoftドキュメントをもとにAzure IoT EdgeへモジュールデプロイとAzure IoT Edgeのランタイムの動作確認及びデプロイしたモジュールが動作していることを確認してください。Azure IoT Edgeのランタイムが正常に稼働し、edgeAgentモジュールのRuntime Status
がrunning
となっていればプロビジョニングは成功です。
さいごに
SORACOM Kryptonにより、デバイスをAzure IoT EdgeデバイスとしてAzure IoT Hubへ登録する方法をご紹介しました。SORACOM Kryptonを利用することで、デバイスの初期キッティングとしてAzure IoT Edgeのデバイス登録を自動化できます。ぜひお試しください。
― ソラコム須田(kei)
投稿 SORACOM KryptonでAzure IoT Edgeデバイスを登録する は SORACOM公式ブログ に最初に表示されました。
この連載の記事
-
第403回
デジタル
日本最大級 “IoT” に触れる・学べるイベント「SORACOM Discovery 2024」お申し込み開始! -
第402回
デジタル
技術評論社の書籍「IoTの知識地図」が発売、Soracom Onyx用防水・防塵アンテナセットの販売を開始 takuyaのほぼ週刊ソラコム 04/15-05/03 -
第401回
デジタル
IoTの基礎知識から実務を網羅した一冊「IoTの知識地図」 ― 見どころ解説 -
第400回
デジタル
USB型LTEデバイス「Soracom Onyx」向け、防水・防塵アンテナセットの販売開始 -
第399回
デジタル
クラウド型カメラの新たな使い方を提案!ソラカメの新機能「ライブ視聴見放題」ご紹介 -
第398回
デジタル
見える化、監視の次は? ソラコムが考える製造業IoTのメリットと課題 -
第397回
デジタル
Make a Global Impact as a Technical Writer at Soracom -
第396回
デジタル
SORACOM LTE-M Button powered by AWSの移行受付を開始、SPSアワード 2023の表彰を発表 takuyaのほぼ週刊ソラコム 04/01-04/14 -
第395回
デジタル
SORACOMの新機能開発の舞台裏 ― お客様の声からリリースまでの道のり -
第394回
デジタル
動画で分かる!SORACOM Lagoon 3への移行の手順
この記事の編集者は以下の記事もオススメしています
-
デジタル
IoTの「時系列データ」をChatGPTで分析・未来予測するには? ― IoT-Tech Meetup レポート -
デジタル
IoTを体験できる、3つのワークショップのご紹介 【SORACOM Discovery 2023】 -
デジタル
グローバルDXもワンストップで支援|KDDI【SORACOM Discovery 2023】 -
デジタル
大規模事業から研究的PoCまで二人三脚でサポート|Fusic【SORACOM Discovery 2023】 -
デジタル
ソラカメ専用セルラーパック ルーター新機種(L13)提供開始 -
デジタル
ColaboratoryでChatGPTのAPIを使うには?― IoT-Tech Meetup #1