IoT ハブをリンクおよび管理する方法
Azure IoT Hub デバイス プロビジョニング サービス (DPS) を使用すると、1 つ以上の IoT ハブにデバイスをプロビジョニングすることができます。 DPS は、IoT ハブにデバイスをプロビジョニングする前に、IoT Hub デバイス レジストリに書き込めるようにする必要があります。 この記事では、IoT ハブをリンクして DPS インスタンスで管理する方法について説明します。 リンクすると、割り当てポリシーで IoT ハブを使用できます。 割り当てポリシーは、DPS でデバイスを IoT ハブに割り当てる方法を決定します。
リンクされた IoT ハブの設定
デバイス プロビジョニング サービスでは、このサービスにリンクされた IoT Hub にのみデバイスをプロビジョニングできます。 IoT ハブを DPS インスタンスにリンクすると、DPS インスタンスに IoT ハブのデバイス レジストリに対する読み取り/書き込みアクセス許可が付与されます。 これらのアクセス許可を使うと、DPS によってデバイス ID が登録され、デバイス ツインに初期構成が設定されます。 リンクされた IoT Hub は、任意の Azure リージョン内に置くことができます。 お使いの DPS インスタンスに他のサブスクリプションのハブをリンクすることもできます。
IoT ハブは、DPS にリンクされると、割り当てに参加できるようになります。 割り当てへの関与の有無とその方法は、プロビジョニングするデバイスの登録の設定と、リンクされた IoT ハブ自体の設定によって異なります。
次の設定は、DPS でのリンクされた IoT ハブの使用方法を制御します。
接続文字列: リンクされた IoT ハブに接続するために DPS で使用される IoT Hub 接続文字列を設定します。 接続文字列は、IoT ハブの共有アクセス ポリシーのいずれかに基づきます。 DPS には、IoT ハブに対する RegistryWrite および ServiceConnect のアクセス許可が必要です。 これらのアクセス許可を持つ共有アクセス ポリシー用の接続文字列を指定する必要があります。 IoT Hub の共有アクセス ポリシーの詳細については、IoT Hub のアクセス制御とアクセス許可に関するページを参照してください。
割り当ての重み: DPS で、一連の IoT ハブ間でデバイスの割り当てをハッシュするときに、IoT ハブが選択される可能性を決定します。 値は、1 から 1000 の範囲で設定できます。 既定値は 1 (または null) です。 値が大きいほど、IoT ハブが選択される確率が高くなります。
割り当てポリシーの適用: IoT ハブが割り当てポリシーに参加するかどうかを設定します。 既定値は、[はい] (true) です。 [いいえ] (false) に設定すると、デバイスは IoT ハブに割り当てられません。 登録で IoT ハブを選択することもできますが、その IoT ハブは割り当てに参加しません。 この設定を使用して、IoT ハブを一時的または永続的に割り当てに参加させないようにすることができます。たとえば、許可された数のデバイスに近づいている場合などがあります。
DPS 割り当てポリシーと、リンクされた IoT ハブがそれらに参加する方法については、割り当てポリシーの管理に関するページを参照してください。
制限事項
リンクされた IoT ハブとプライベート エンドポイントを操作する場合、いくつかの制限があります。 詳細については、「プライベート エンドポイントの制限事項」を参照してください。
リンクされた IoT Hub では、[共有アクセス ポリシーを使用した接続] を [許可] に設定する必要があります。
リンクされた IoT ハブを追加する
サブスクリプション内または外にある IoT ハブを追加できます。 IoT ハブをリンクしても、それを既存の登録での割り当てに使用できる場合と使用できない場合があります。
割り当てポリシーを適用する IoT ハブを明示的に設定しない登録の場合、新しくリンクされた IoT ハブは即座に割り当てに参加します。
割り当てポリシーを適用する IoT ハブを明示的に設定する登録の場合、新しい IoT ハブを割り当てに参加させるためには、手動またはプログラムで登録の設定に追加する必要があります。
Azure portal では、DPS インスタンスの左側のメニューから、または登録の作成時または更新時に登録から IoT ハブをリンクできます。 どちらの場合も、IoT ハブのスコープは、(登録だけでなく) DPS インスタンスに設定されます。
Azure portal で IoT ハブを DPS インスタンスにリンクするには、次の手順を行います。
DPS インスタンスの左側のメニューで、[リンクされた IoT ハブ] を選択します。
ページの最上部で [追加] を選択します。
[IoT ハブへのリンクを追加する] ページで、IoT ハブを含むサブスクリプションを選択し、[IoT ハブ] の一覧から IoT ハブの名前を選択します。
IoT ハブを選択した後、IoT ハブに接続するために DPS で使用されるアクセス ポリシーを選択します。 [アクセス ポリシー] の一覧には、RegistryWrite および ServiceConnect のアクセス許可が定義されており、選択した IoT ハブに対して定義されているすべての共有アクセス ポリシーが表示されます。 既定値は、iothubowner ポリシーです。 使用するポリシーを選択します。
[保存] を選択します。
Note
Azure portal では、リンクされた IoT ハブを追加するときに、"割り当ての重み" と "割り当てポリシーの適用" の設定を指定することはできません。 代わりに、IoT ハブがリンクされた後に、これらの設定を更新します。
DPS では、DPS リソースの作成または更新 REST API、Resource Manager テンプレート、DPS Management SDK を使用した IoT ハブのリンクもサポートされています。
リンクされた IoT ハブを更新する
リンクされた IoT ハブの設定を更新して、割り当ての重み、割り当てポリシーを適用できるかどうか、DPS で接続に使用される接続文字列を変更できます。 IoT ハブの設定を更新すると、IoT ハブが登録で指定されているか、または既定で使用されているかに関係なく、変更はすぐに有効になります。
Azure portal では、"割り当ての重み" と "割り当てポリシーの適用" の設定を更新できます。
Azure portal を使用して、リンクされた IoT ハブの設定を更新するには、次の手順を行います。
DPS インスタンスの左側のメニューで、[リンクされた IoT ハブ] を選択し、一覧から IoT ハブを選択します。
[リンクされた IoT ハブの詳細] ページで、次の操作を行います。
[割り当ての重み] スライダーまたはテキスト ボックスを使用して、1 から 1000 の範囲で重みを選択します。 既定値は 1 です。
[割り当てポリシーの適用] スイッチを設定して、リンクされた IoT ハブを割り当てに含める必要があるかどうかを指定します。
設定を保存します。
Note
Azure portal から、IoT ハブに接続するために DPS で使用される接続文字列を更新することはできます。 代わりに、Azure CLI を使用して接続文字列を更新するか、リンクされた IoT ハブを DPS インスタンスから削除してから再リンクします。 詳細については、「リンクされた IoT ハブのキーを更新する」セクションを参照してください。
DPS では、DPS リソースの作成または更新 REST API、Resource Manager テンプレート、DPS Management SDK を使用した IoT ハブの更新もサポートされています。
リンクされた IoT ハブを削除する
リンクされた IoT ハブを DPS インスタンスから削除すると、その後の登録で設定できなくなります。 ただし、既存の登録の割り当てから削除される場合と削除されない場合があります。
割り当てポリシーを適用する IoT ハブを明示的に設定しない登録の場合、リンクされた IoT ハブを削除すると、割り当てに使用できなくなります。
割り当てポリシーを適用する IoT ハブを明示的に設定する登録の場合、IoT ハブを割り当ての参加から削除するには、手動またはプログラムでその IoT ハブを登録の設定から削除する必要があります。 これを行わないと、デバイスが登録を通じてプロビジョニングしようとしたときにエラーが発生する場合があります。
Azure portal で、リンクされた IoT ハブを DPS インスタンスから削除するには、次の手順を行います。
DPS インスタンスの左側のメニューで、[リンクされた IoT ハブ] を選択します。
IoT ハブの一覧で、削除する IoT ハブの横にあるチェック ボックスをオンにするか、削除する IoT ハブを選択します。 次に、ページの上部にある [削除]を選択し、プロンプトが表示されたら、選択内容を確認します。
DPS では、DPS リソースの作成または更新 REST API、Resource Manager テンプレート、DPS Management SDK を使用した、DPS インスタンスからの IoT ハブの削除もサポートされています。
リンクされた IoT ハブのキーを更新する
DPS にリンクされている IoT ハブの対称キーをローテーションまたは更新することが必要な場合があります。 この場合、リンクされた IoT ハブの DPS の接続文字列の設定も更新する必要があります。
IoT ハブのキーを更新してから、そのキーに基づいて新しい接続文字列で DPS インスタンスが更新されるまでの間は、IoT ハブへのプロビジョニングが失敗することがあります。 したがって、Azuer CLI を使用してキーを更新することをお勧めします。こうすることで、リンクされたハブの接続文字列を直接更新できます。 Azure portal を使用すると、接続文字列を更新するために、IoT ハブを DPS インスタンスから削除して再リンクする必要があります。
Azure portal を使用する場合、リンクされた IoT ハブの接続文字列の設定を更新することはできません。 代わりに、リンクされた IoT ハブを DPS インスタンスから削除してから再度追加する必要があります。
Azure portal で、リンクされた IoT ハブの対称キーを更新するには、次の手順を行います。
Azure portal の DPS インスタンスの左側のメニューで、1 つ以上のキーを更新する対象となる IoT ハブを選択します。
[リンクされた IoT ハブの詳細] ページで、[割り当ての重み] と [割り当てポリシー] の値をメモします。 これらの値は、後で IoT ハブを DPS インスタンスに再リンクするときに必要になります。 次に、[リソースの管理] を選択して IoT ハブに移動します。
IoT ハブの左側のメニューにある [セキュリティ設定] の下で、[共有アクセス ポリシー] を選択します。
[共有アクセス ポリシー] の [共有アクセス ポリシーの管理] の下で、リンクされた IoT ハブに接続するために DPS インスタンスで使用されるポリシーを選択します。
ページの上部で、[主キーの再生成]、[セカンダリ キーの再生成]、または [キーのスワップ] を選択し、プロンプトが表示されたら選択内容を確認します。
DPS インスタンスに戻ります。
「リンクされた IoT ハブを削除する」セクションの手順に従って、DPS インスタンスから IoT ハブを削除します。
「リンクされた IoT ハブの追加」の手順に従って、ポリシー用に新しい接続文字列を使用して IoT ハブを DPS インスタンスに再リンクします。
割り当ての重みを復元し、割り当てポリシーの設定を適用する必要がある場合は、手順 2 でメモした値を使用して、「リンクされた IoT ハブを更新する」の手順を実行します。
次のステップ
- 割り当てポリシーの詳細については、割り当てポリシーの管理に関するページを参照してください。