Azure仮想ネットワークでAzure Stream Analytics (ASA) ジョブを実行して、ネットワークを分離し、リソースへのアクセスをセキュリティで保護する方法について説明します。
仮想ネットワークのサポートの概要
Virtual Network のサポートを使うと、Azure Stream Analytics へのアクセスを、仮想ネットワーク インフラストラクチャのみに制限できます。 仮想ネットワーク統合は、ネットワーク分離の利点を提供し、 仮想ネットワーク内に ASA ジョブのコンテナー化されたインスタンスをデプロイすることで実現できます。 仮想ネットワークに挿入された ASA ジョブは、次の方法で仮想ネットワーク内のリソースにプライベートにアクセスできます。
- プライベート エンドポイント。仮想ネットワークに挿入された ASA ジョブを、Azure Private Link を利用したプライベート リンク経由でデータ ソースに接続します。
- サービス エンドポイント。データ ソースを仮想ネットワークに挿入された ASA ジョブに接続します。
- サービス タグ。Azure Stream Analytics へのトラフィックを許可または拒否します。
対応リージョン
仮想ネットワーク統合は、現在、次のリージョンでサポートされています。
米国東部、米国東部 2、米国西部、米国西部 2、米国中北部、米国中北部、カナダ中部、西ヨーロッパ、北ヨーロッパ、東南アジア、ブラジル南部、東日本、英国南部、インド中部、オーストラリア東部、フランス中部、ドイツ西部、アラブ首長国連邦北部。
リージョンが一覧に表示されておらず、この機能の使用に関心がある場合は、 このフォームに入力 します。
要求は、要求と実現可能性に基づいて評価されます。 リージョンがサポート可能かどうかが通知されます。
[前提条件]
仮想ネットワークに挿入された ASA ジョブには、汎用 V2 (GPV2) ストレージ アカウントが必要です。
仮想ネットワークに挿入された ASA ジョブでは、チェックポイントなどのメタデータへのアクセスを、運用のために Azure テーブルに格納する必要があります。
ASA ジョブで GPV2 アカウントが既にプロビジョニングされている場合は、追加の手順は必要ありません。
Premium Storage を使う大規模なジョブがあるユーザーは、GPV2 ストレージ アカウントを引き続き提供する必要があります。
パブリック IP ベースのアクセスからストレージ アカウントを保護する場合は、マネージド ID と信頼されたサービスを使用して構成することを検討してください。
ストレージ アカウントについて詳しくは、「ストレージ アカウントの概要」と「ストレージ アカウントを作成する」をご覧ください。
Azure仮想ネットワーク。 既存の仮想ネットワークを使用することも、 新しい仮想ネットワークを作成することもできます。
稼働中のAzure NAT Gateway。
重要
ASA 仮想ネットワークに挿入されたジョブでは、Azure ネットワークによって提供される内部コンテナー インジェクション テクノロジが使われます。
Azure Stream Analytics ジョブのセキュリティと信頼性を強化するには、次のいずれかを行う必要があります。
NAT ゲートウェイの構成: この構成により、仮想ネットワークからのすべての送信トラフィックが、セキュリティで保護された一貫性のあるパブリック IP アドレス経由でルーティングされます。
既定の送信アクセスを無効にする: この設定により、仮想ネットワークからの意図しない送信トラフィックが防止され、ネットワークのセキュリティが強化されます。
Azure NAT Gateway は、フル マネージドで回復性の高いネットワーク アドレス変換 (NAT) サービスです。 サブネットで構成すると、すべてのアウトバウンド接続に NAT ゲートウェイの静的パブリック IP アドレスが使用されます。
Azure NAT Gateway の詳細については、Azure NAT Gateway に関する記事を参照してください。
プライベート エンドポイントを使用して Azure IoT Hub を構成する場合は、組み込みの Event Hubs 互換エンドポイントのプライベート エンドポイントと対応する DNS 設定も構成してください。 IoT Hubはこのエンドポイントを使用してメッセージをルーティングします。適切な DNS 解決がないと、Azure Stream Analyticsなどのサービスが接続に失敗する可能性があります。
IoT Hubと Event Hubs のプライベート エンドポイントと DNS の設定に関するガイダンスについては、次のリソースを参照してください。
サブネットに関する考慮事項
仮想ネットワーク統合は、専用サブネットに依存します。
委任されたサブネットを構成する場合は、ASA ワークロードの現在と将来の両方の要件に対応するために IP 範囲を検討してください。 作成後にサブネット サイズを変更できないため、ジョブの潜在的なスケールをサポートできるサブネット サイズを選択します。 Azureネットワークは、内部使用のためにサブネット範囲内の最初の 5 つの IP アドレスを予約します。
スケール操作は、特定のサブネット サイズでサポートされる実際の使用可能なインスタンスに影響します。
IP 範囲の推定に関する考慮事項:
- サブネットの範囲が ASA のサブネットの範囲と競合していないことを確認します。 IP 範囲 10.0.0.0 から 10.0.255.255 は、ASA で使われるため避けてください。
- 予約:
- Azure ネットワーク用に 5 つの IP アドレス
- このサブネットに関連付けられているジョブのサンプル データ、テスト接続、メタデータ検出などの機能を容易にするために、1 つの IP アドレスが必要です。
- 2 IP アドレスは、6 つのストリーミング ユニット (SU) または 1 つの SU V2 ごとに必要です。 V2 価格モデルの詳細については、Azure Stream Analytics価格に関するページを参照してください。
サブネットの委任とリリースの動作:
Azure Stream Analytics (ASA) ジョブの仮想ネットワーク統合を有効にすると、Azure portal によって指定されたサブネットが ASA サービスに自動的に委任されます。
ASA は、次のいずれかの場合にサブネットの割り当てを自動的に解除します。
- Azure portal を使用して、そのサブネットを使用して、最後の ASA ジョブの仮想ネットワーク統合を無効にします。
- サブネットに関連付けられている最後の ASA ジョブを削除します。
注
複数の ASA ジョブが同じサブネットを共有できます。 "最後のジョブ" とは、他の ASA ジョブがそのサブネットを使用していない場合のポイントを指します。 最後のジョブが削除されると、ASA は委任されたサブネットを解放します。 このリリースの完了には数分かかる場合があります。
サブネットは、Intra-Subnet トラフィックを許可する必要があります。
- サブネット構成では、サブネット内ネットワーク トラフィックを有効にする必要があります。
- つまり、ソースおよび宛先 IP アドレスの両方が同じサブネット内に存在する、受信および送信トラフィックを許可する必要があります。 詳細については、「 サブネット内トラフィック」を参照してください。
仮想ネットワーク統合を設定する
Azure portal
Azure ポータルの Stream Analytics ジョブ ページで、左側のメニューの [設定] で [ネットワーク] を選択します。
[ 仮想ネットワークでこのジョブを実行する] を選択し、プロンプトに従って設定を構成して、[ 保存] を選択します。
Visual Studio Codeで仮想ネットワーク統合を設定する
Visual Studio Code で、ASA ジョブ内のサブネットを参照します。 このステップにより、サブネットで動作する必要があることがジョブに指示されます。
JobConfig.jsonで、次の図に示すようにVirtualNetworkConfigurationを設定します。
関連付けられたストレージ アカウントを設定する
Stream Analytics ジョブ ページの左側のメニューの [設定] で、[ストレージ アカウントの設定] を選択します。
[ストレージ アカウントの設定] ページで、[ストレージ アカウントの追加] を選びます。
手順に従って、ストレージ アカウントの設定を構成します。
重要
- 接続文字列を使って認証を行うには、ストレージ アカウントのファイアウォールの設定を無効にする必要があります。
- マネージド ID で認証するには、Stream Analytics ジョブを、ストレージ BLOB データ共同作成者ロールとストレージ テーブル データ共同作成者ロール用のストレージ アカウントのアクセス制御リストに追加する必要があります。 ジョブにアクセス権を付与しない場合、ジョブは操作を実行できません。 アクセス権を付与する方法に関する詳細については、「Azure RBAC を使用して他のリソースにマネージド ID アクセスを割り当てる」を参照してください。
アクセス許可
Azure portal や CLI を使って、または virtualNetworkSubnetId サイト プロパティを直接設定するときに、仮想ネットワーク統合を構成するには、サブネットまたはそれより上のレベルで、少なくとも次のロールベースのアクセス制御のアクセス許可が必要です。
| アクション | 説明 |
|---|---|
Microsoft.Network/virtualNetworks/read |
仮想ネットワークの定義を読み取ります |
Microsoft.Network/virtualNetworks/subnets/read |
仮想ネットワーク サブネットの定義を読み取ります |
Microsoft.Network/virtualNetworks/subnets/join/action |
仮想ネットワークに参加します。 |
Microsoft.Network/virtualNetworks/subnets/write |
任意。 サブネットの委任を実行する必要がある場合は必須 |
仮想ネットワークが ASA ジョブとは異なるサブスクリプションにある場合は、仮想ネットワークがあるサブスクリプションが Microsoft.StreamAnalytics リソース プロバイダーに登録されていることを確認する必要があります。 「リソース プロバイダーの 登録」の手順に従ってプロバイダーを明示的に登録できますが、サブスクリプションでジョブを作成するときに自動的に登録されます。
仮想ネットワーク統合の制限事項
- 仮想ネットワークのジョブには、少なくとも 1 つの SU V2 (新しい価格モデル) または 6 つの SU (現在) が必要です
- サブネットの範囲が ASA のサブネットの範囲と競合していないことを確認します (つまり、サブネット範囲 10.0.0.0/16 を使わないでください)。
- ASA のジョブと仮想ネットワークは、同じリージョンに存在する必要があります。
- 委任されたサブネットは、Azure Stream Analytics でのみ使用できます。
- ASA と統合されている仮想ネットワークは削除できません。 委任されたサブネット上の最後のジョブ* の関連付けを解除するか、削除する必要があります。
- ドメイン ネーム システム (DNS) の更新は現在サポートされていません。 仮想ネットワークの DNS 構成が変更された場合は、その仮想ネットワーク内のすべての ASA ジョブを再デプロイする必要があります (サブネットもすべてのジョブとの関連付けを解除し、再構成する必要があります)。 詳細については、「Azure 仮想ネットワーク内のリソースの名前解決」を参照してください。
オンプレミスのリソースにアクセスする
仮想ネットワーク経由でオンプレミスのリソースにアクセスするために、仮想ネットワーク統合機能に対する追加の構成は必要ありません。 必要なのは、単に ExpressRoute またはサイト間 VPN を使用して仮想ネットワークをオンプレミスのリソースに接続することだけです。
価格の詳細
このドキュメントに記載されている基本的な要件以外では、仮想ネットワークの統合に関して、Azure Stream Analytics の価格料金以外に追加される使用料金はありません。
Virtual Network 統合のトラブルシューティング
目的のエンドポイントへのアクセスで問題が発生する場合は、Microsoft サポートにお問い合わせください。
注
この機能に関する直接のフィードバックを得る場合は、Azure サポート要求を作成します。