既定では、IoT Hubホスト名は、インターネット経由でパブリックにルーティング可能な IP アドレスを持つパブリック エンドポイントにマップされます。 この IoT Hub パブリック エンドポイントはさまざまな顧客によって共有され、IoT デバイスはワイドエリア ネットワークやオンプレミス ネットワーク経由ですべてアクセスできます。
Note
IoT Hubでは、TLS 1.3 (プレビュー) をサポートするための追加のエンドポイントが導入されています。 これらのエンドポイントは追加的であり、Private Link (<hub>.azure-devices.net) によって使用される既存のエンドポイントは置き換えられません。 既存のプライベート エンドポイント構成は、変更なしで引き続き機能します。
これらのエンドポイントの詳細については、「 TLS 1.3 対応エンドポイント」を参照してください。
メッセージ ルーティング、ファイル のアップロード、デバイスの一括インポート/エクスポートなど、一部の IoT Hub 機能では、パブリック エンドポイント経由で IoT Hub から顧客所有の Azure リソースへの接続も必要です。 これらの接続パスは、IoT Hub から顧客リソースへのエグレス トラフィックを構成します。
次のようないくつかの理由で、所有および運用する仮想ネットワークを介して Azure リソース (IoT Hub を含む) への接続を制限したい場合があります。
パブリック インターネットへの接続の露出を防ぐことで、IoT ハブのネットワーク分離を導入します。
オンプレミスのネットワーク資産からプライベート接続エクスペリエンスを有効にすると、データとトラフィックが Azure バックボーン ネットワークに直接送信されます。
機密性の高いオンプレミス ネットワークからの流出攻撃を防ぎます。
プライベート エンドポイントを使用して確立された Azure 全体の接続パターンに従います。
この記事では、IoT Hubへのイングレス接続に Azure Private Link を使用し、IoT Hubから他のAzure リソースへのエグレス接続に信頼されたMicrosoft サービス例外を使用して、これらの目標を達成する方法について説明します。
Azure Private Link を使用した IoT Hub へのイングレス接続
プライベート エンドポイントは、Azure リソースに到達できる顧客所有の仮想ネットワーク内に割り当てられたプライベート IP アドレスです。 Azure Private Linkを使用すると、仮想ネットワーク内のサービスがIoT Hubのパブリック エンドポイントにトラフィックを送信することなくIoT Hubに到達できるように、IoT hubのプライベート エンドポイントを設定できます。 同様に、オンプレミスのデバイスでは、 Azure VPN Gateway または Azure ExpressRoute ピアリングを使用して、仮想ネットワークと IoT ハブ (プライベート エンドポイント経由) への接続を取得できます。 その結果、IoT Hub IP フィルターまたはパブリック ネットワーク アクセスの切り替えを使用して、IoT hubのパブリック エンドポイントへの接続を制限または完全にブロックできます。 この方法では、デバイスのプライベート エンドポイントを使用してハブへの接続を維持します。 このセットアップの主な焦点は、オンプレミス ネットワーク内のデバイスです。 このセットアップは、ワイド エリア ネットワークに展開されているデバイスには推奨されません。
続行する前に、次の前提条件が満たされていることを確認します。
プライベート エンドポイントを作成するサブネットを含む Azure 仮想ネットワーク を作成しました。
オンプレミス ネットワークで動作するデバイスの場合は、 Azure VPN Gateway または Azure ExpressRoute プライベート ピアリングを Azure 仮想ネットワークに設定します。
IoT Hub イングレス用のプライベート エンドポイントを設定する
プライベート エンドポイントは、IoT Hub デバイス API (デバイスからクラウドへのメッセージなど) とサービス API (デバイスの作成や更新など) で機能します。
Azure ポータルで、IoT ハブに移動します。
左側のウィンドウの [ セキュリティ設定] で、[ ネットワーク>プライベート アクセス] を選択し、[ プライベート エンドポイントの作成] を選択します。
サブスクリプション、リソース グループ、名前、ネットワーク インターフェイス名、リージョンを入力して、新しいプライベート エンドポイントを作成します。 ハブと同じリージョンにプライベート エンドポイントを作成します。
Next: Resource を選択し、IoT Hub リソースのサブスクリプションを入力します。 次に、リソースの種類として Microsoft.Devices/IotHubs 、リソースとして IoT ハブ名、ターゲット サブリソースとして iotHub を選択します。
Next: Virtual Network を選択し、プライベート エンドポイントの作成先となる仮想ネットワークとサブネットを入力します。
[次へ: DNS] を選択し、必要に応じてプライベート DNS ゾーンと統合するオプションを選択します。
[次へ: タグ] を選択し、必要に応じてリソースのタグを入力します。
[次へ: 確認と作成] を選択してプライベート リンク リソースの詳細を確認し、[作成] を選択してリソースを作成します。
組み込みの Event Hubs 互換エンドポイント
プライベート エンドポイント経由で、組み込みの Event Hubs 互換エンドポイント にアクセスすることもできます。 プライベート リンクを構成すると、組み込みエンドポイントの別のプライベート エンドポイント接続と構成が表示されます。 FQDN に servicebus.windows.net が含まれるものになります。
必要に応じて、IoT Hubの IP フィルターを使用して、組み込みエンドポイントへのパブリック アクセスを制御できます。
IoT ハブへのパブリック ネットワーク アクセスを完全にブロックするには、 パブリック ネットワーク アクセスをオフに するか、IP フィルターを使用してすべての IP をブロックし、組み込みのエンドポイントに規則を適用するオプションを選択します。
Private Link の価格
料金の詳細については、「Azure Private Link の料金」をご覧ください。
IoT Hub から他の Azure リソースへのエグレス接続
IoT Hubは、リソースのパブリック エンドポイント経由で、message ルーティング、file upload、bulk device import/export のAzure BLOB ストレージ、イベント ハブ、およびService Bus リソースに接続できます。 リソースを仮想ネットワークにバインドすると、既定でリソースへの接続がブロックされます。 その結果、この構成により、IoT ハブがリソースにデータを送信できなくなります。 この問題を解決するには、IoT Hub リソースからストレージ アカウント、イベント ハブ、Service Bus リソースへの接続を、信頼されたMicrosoft サービス オプションを使用して有効にします。
他のサービスが信頼できる Microsoft サービスとして IoT ハブを検索できるようにするには、ハブでマネージド ID を使用する必要があります。 マネージド ID がプロビジョニングされたら、カスタム エンドポイントにアクセスするためのアクセス許可をハブのマネージド ID に付与します。 マネージド ID の IoT Hub サポートに記載されている手順に従って、Azure ロールベースのアクセス制御 (RBAC) アクセス許可を持つマネージド ID をプロビジョニングし、カスタム エンドポイントを IoT ハブに追加します。 IoT ハブがカスタム エンドポイントにアクセスできるようにするには、ファイアウォール構成が設定されている場合は、信頼された Microsoft ファースト パーティの例外を有効にしてください。
信頼できる Microsoft サービス オプションの価格
信頼された Microsoft ファースト パーティ サービスの例外機能は無料です。 プロビジョニングされたストレージ アカウント、イベント ハブ、または Service Bus リソースの料金は個別に適用されます。
次のステップ
IoT Hub機能の詳細については、次のリソースを参照してください。