IoT Hub の IP アドレス
IoT ハブ パブリック エンドポイントの IP アドレス プレフィックスは、AzureIoTHub サービス タグで定期的に発行されます。
Note
オンプレミス ネットワーク内にデプロイされているデバイスの場合、Azure IoT Hub は、プライベート エンドポイントとの VNET 接続の統合をサポートします。 詳細については、「IoT Hub による VNet のサポート」に関する記事を参照してください。
これらの IP アドレス プレフィックスを使用して、さまざまなネットワーク分離の目標を実装するために、IoT Hub とデバイスまたはネットワーク資産間の接続を制御することができます。
目標 | 該当するシナリオ | アプローチ |
---|---|---|
デバイスとサービスが IoT Hub エンドポイントのみと通信するようにする | Device-to-cloud、および cloud-to-device メッセージング、ダイレクト メソッド、デバイスとモジュールのツイン および デバイス ストリーム | AzureIoTHub サービス タグを使用して IoT Hub IP アドレス プレフィックスを検出し、これらの IP アドレス プレフィックスのデバイスとサービスのファイアウォール設定で ALLOW 規則を構成します。 他の宛先 IP アドレスへのトラフィックは削除されます。 |
IoT Hub デバイスのエンドポイントが、使用しているデバイスとネットワーク資産からのみ接続を受信するようにする | Device-to-cloud、および cloud-to-device メッセージング、ダイレクト メソッド、デバイスとモジュールのツイン および デバイス ストリーム | 使用しているデバイスとネットワーク資産の IP アドレスからの接続を許可するには、IoT Hub IP フィルター機能 を使用します。 制限の詳細については、制限事項に関するセクションを参照してください。 |
ルートのカスタム エンドポイント リソース (ストレージ アカウント、Service Bus、およびイベント ハブ) がネットワーク資産からのみアクセス可能であることを確認する | メッセージ ルーティング | 接続の制限に関するリソースのガイダンスに従います。たとえば、プライベート リンク、サービス エンドポイント、ファイアウォール規則を使用します。 ファイアウォールの制限の詳細については、制限事項に関するセクションを参照してください。 |
ベスト プラクティス
IoT ハブの IP アドレスは、予告なしに変更される可能性があります。 中断を最小限に抑えるために、可能な限り、ネットワーキングとファイアウォールの構成には IoT ハブ ホスト名 (例: myhub.azure-devices.net) を使用します。
ドメイン名解決 (DNS) を使用しない制約付き IoT システムの場合、変更を有効にする前に、IoT Hub IP アドレス範囲がサービス タグを使用して定期的に公開されます。 そのため、最新のサービス タグを定期的に取得して使用するためのプロセスを開発することが重要です。 このプロセスは、Service Tag Discovery API を使用するか、ダウンロード可能な JSON 形式でサービス タグを確認することで自動化できます。
特定のリージョン内の IoT Hub エンドポイントによって使用される IP プレフィックスを識別するには、AzureIoTHub.[リージョン名] タグを使用します。 データセンターのディザスター リカバリーまたはリージョン内フェールオーバーに対処するには、IoT Hub の geo ペア リージョンの IP プレフィックスへの接続も有効になっていることを確認してください。
IoT Hub でファイアウォール ルールを設定すると、IoT Hub に対して Azure CLI および PowerShell コマンドを実行するために必要な接続がブロックされる可能性があります。 これを回避するには、クライアントの IP アドレスのプレフィックスに ALLOW ルールを追加し、CLI または PowerShell クライアントが再び IoT Hub と通信できるようにします。
デバイスのファイアウォール構成で許可規則を追加する場合、適用されるプロトコルで使用される特定のポートを指定することをお勧めします。
制限事項と回避策
IoT Hub IP フィルター機能では、規則の数は 100 個に制限されています。 この上限は、Azure カスタマー サポートへリクエストすることで上げることができます。
構成済みの IP フィルタリング規則は、既定で、IoT Hub の組み込みイベント ハブ エンドポイントではなく、IoT Hub IP エンドポイントにのみ適用されます。 メッセージが保存されているイベント ハブにも IP フィルタリングを適用する必要がある場合は、IoT Hub ネットワーク設定の [組み込みエンドポイントに IP フィルターを適用する] オプションを選択します。 また、必要な IP フィルタリング ルールを直接構成できる独自のイベント ハブリソースを用意して、同じことを行うこともできます。 この事例では、独自のイベント ハブ リソースをプロビジョニングし、メッセージ ルーティング を設定して、IoT Hub の組み込みイベント ハブの代わりにメッセージをそのリソースに送信する必要があります。
IoT Hub サービス タグには、受信接続の IP 範囲のみが含まれます。 他の Azure サービスのファイアウォールアクセスを IoT Hub メッセージルーティングから送信されるデータに制限するには、サービスに対して適切な "信頼された Microsoft サービスを許可する" オプションを選択してください (イベント ハブ、 Service Bus、 Azure Storageなど)。
IPv6 のサポート
現在、IPv6 は IoT Hub ではサポートされていません。