Azure Stream Analytics ジョブを Azure Virtual Network で実行する
この記事では、Azure Stream Analytics (ASA) ジョブを Azure 仮想ネットワークで実行する方法について説明します。
概要
Virtual Network のサポートを使うと、Azure Stream Analytics へのアクセスを、仮想ネットワーク インフラストラクチャのみに制限できます。 ネットワークの分離という利点が得られるこの機能は、ASA ジョブのコンテナー化されたインスタンスをユーザーの仮想ネットワーク内にデプロイすることで実現できます。 仮想ネットワークに挿入された ASA ジョブは、次の方法で仮想ネットワーク内のリソースにプライベートにアクセスできます。
- プライベート エンドポイント。仮想ネットワークに挿入された ASA ジョブを、Azure Private Link を利用したプライベート リンク経由でデータ ソースに接続します。
- サービス エンドポイント。データ ソースを仮想ネットワークに挿入された ASA ジョブに接続します。
- サービス タグ。Azure Stream Analytics へのトラフィックを許可または拒否します。
可用性
現在、この機能は、米国東部、米国東部 2、米国西部、米国中部、米国中北部、カナダ中部、西ヨーロッパ、北ヨーロッパ、東南アジア、ブラジル南部、東日本、英国南部、インド中部、オーストラリア東部、フランス中部の一部のリージョンでのみ利用できます。 ご自分のリージョンで仮想ネットワーク統合を有効にしてほしい場合は、こちらのフォームにご記入ください。
仮想ネットワーク統合のサポート要件
仮想ネットワークに挿入された ASA ジョブには、汎用 V2 (GPV2) ストレージ アカウントが必要です。
仮想ネットワークに挿入された ASA ジョブでは、チェックポイントなどのメタデータへのアクセスを、運用のために Azure テーブルに格納する必要があります。
ASA ジョブで GPV2 アカウントが既にプロビジョニングされている場合は、追加の手順は必要ありません。
Premium Storage を使う大規模なジョブがあるユーザーは、GPV2 ストレージ アカウントを引き続き提供する必要があります。
パブリック IP ベースのアクセスからストレージ アカウントを保護する場合は、マネージド ID と信頼されたサービスも使って構成することを検討してください。
ストレージ アカウントについて詳しくは、「ストレージ アカウントの概要」と「ストレージ アカウントを作成する」をご覧ください。
既存の Azure Virtual Network、または作成します。
重要
ASA 仮想ネットワークに挿入されたジョブでは、Azure ネットワークによって提供される内部コンテナー インジェクション テクノロジが使われます。 ネットワーク要件に従って、セキュリティと信頼性を確保するために、仮想ネットワークに挿入された ASA ジョブ用に Azure NAT Gateway を構成する必要があります。
Azure NAT Gateway は、フル マネージドで回復性の高いネットワーク アドレス変換 (NAT) サービスです。 サブネットで構成すると、すべてのアウトバウンド接続に NAT ゲートウェイの静的パブリック IP アドレスが使用されます。
Azure NAT Gateway の詳細については、Azure NAT Gateway に関する記事を参照してください。
サブネットの要件
仮想ネットワーク統合は、専用サブネットに依存します。 サブネットを作成すると、Azure サブネットは先頭から 5 つの IP を使います。
ASA ワークロードをサポートするために将来必要になるニーズについて考えるときは、委任されたサブネットに関連付けられる IP 範囲を考慮する必要があります。 サブネットのサイズは割り当てた後では変更できないため、ジョブが達する可能性のあるスケールに対応できる十分な大きさのサブネットを使ってください。
スケール操作は、特定のサブネット サイズでサポートされる実際の使用可能なインスタンスに影響します。
IP 範囲の見積もりに関する考慮事項
- サブネットの範囲が ASA のサブネットの範囲と競合していないことを確認します。 IP 範囲 10.0.0.0 から 10.0.255.255 は、ASA で使われるため避けてください。
- 予約:
- Azure ネットワーク用に 5 つの IP アドレス
- このサブネットに関連付けられているジョブのサンプル データ、テスト接続、メタデータ検出などの機能を容易にするために、1 つの IP アドレスが必要です。
- 6 ストリーミング ユニット (SU) または 1 SU V2 ごとに 2 つの IP アドレスが必要です (ASA の V2 の価格体系は 2023 年 7 月 1 日に開始されます。詳しくは、こちらをご覧ください)
仮想ネットワークと Azure Stream Analytics ジョブの統合を指定すると、Azure portal によってサブネットが ASA サービスに自動的に委任されます。 次のシナリオでは、Azure portal はサブネットの委任を解除します。
- ASA ポータルで指定されたサブネットに関連付けられている最後のジョブに仮想ネットワーク統合が必要なくなったことを、お客様が Microsoft に通知します ("方法" に関するセクションを参照)。
- お客様が、指定されたサブネットに関連付けられている最後のジョブを削除します。
最後のジョブ
複数の Stream Analytics ジョブで同じサブネットを利用できます。 ここでの最後のジョブとは、指定されたサブネットを使っている他のジョブがないことを示します。 最後のジョブが関連付けによって削除または除去されると、Azure Stream Analytics はサブネットをリソースとして解放します。これは、サービスとして ASA に委任されたものです。 このアクションが完了するまで数分かかります。
仮想ネットワーク統合を設定する
Azure portal
Azure portal のメニュー バーから [ネットワーク] に移動し、[Run this job in virtual network] (仮想ネットワークでこのジョブを実行する) をオンにします。 このステップにより、お客様のジョブが仮想ネットワークで動作する必要があることが、Microsoft に通知されます。
プロンプトに従って設定を構成し、[保存] を選びます。
VS 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 の価格料金以外に追加される使用料金はありません。
トラブルシューティング
機能は簡単にセットアップできますが、問題が発生しないという意味ではありません。 目的のエンドポイントへのアクセスで問題が発生する場合は、Microsoft サポートにお問い合わせください。
Note
この機能に関して直接フィードバックする場合は、askasa@microsoft.com にご連絡ください。