仮想ネットワークの迅速なインジェクション方法

適用対象: Azure Data Factory Azure Synapse Analytics

ヒント

Data Factory in Microsoft Fabric は、よりシンプルなアーキテクチャ、組み込みの AI、および新機能を備えた次世代のAzure Data Factoryです。 データ統合を初めて使用する場合は、Fabric Data Factory から始めます。 既存の ADF ワークロードをFabricにアップグレードして、データ サイエンス、リアルタイム分析、レポートの新機能にアクセスできます。

注記

Express 仮想ネットワーク インジェクション機能は、以下のリージョンの SSIS Integration Runtime ではまだサポートされていません。

  • Jio インド西部またはスイス西部
  • US Gov テキサスまたは US Gov アリゾナ
  • 中国北部 2 または中国東部 2

Azure Data Factory (ADF) または Synapse Pipelines で SQL Server Integration Services (SSIS) を使用する場合、Azure-SSIS 統合ランタイム (IR) を仮想ネットワークに参加させるには標準と高速の 2 つの方法があります。 高速方法を使用する場合は、次の要件を満たした仮想ネットワークを構成する必要があります:

  • Microsoft.Batchが、Azure-SSIS IRが参加するための仮想ネットワークを持つAzureサブスクリプションに登録されたリソースプロバイダーであることを確認します。 詳細な手順については、「リソース プロバイダーとしてAzure Batch 登録する」セクションを参照 してください。

  • 仮想ネットワークにリソース ロックが設定されていないことを確認します。

  • Azure-SSIS IR が参加するための仮想ネットワーク内の適切なサブネットを選択します。 詳細については、後続の「サブネットを選択する」セクションを参照してください。

  • Azure-SSIS IR を作成するユーザーに、仮想ネットワークまたはサブネットに参加するためのロールベースのアクセス制御 (RBAC) アクセス許可が付与されていることを確認します。 詳細については、後続の「仮想ネットワークのアクセス許可を選択する」セクションを参照してください。

特定のシナリオに応じて、必要に応じて次の設定を構成できます。

  • Azure-SSIS IR のアウトバウンド トラフィックに対して静的パブリック IP アドレスを使用する場合は、後続の「静的パブリック IP アドレスを構成する」セクションを参照してください。

  • 仮想ネットワークで独自のドメイン ネーム システム (DNS) サーバーを使用する場合は、後続の「カスタム DNS サーバーを構成する」セクションを参照してください。

  • ネットワーク セキュリティ グループ (NSG) を使用してサブネット上のアウトバウンドのトラフィックを制限する場合は、後続の「NSG を構成する」セクションを参照してください。

  • アウトバウンド トラフィックを監査および検査するためにユーザー定義ルート (UDR) を使用する場合は、後続の「UDR を構成する」セクションを参照してください。

次の図は、Azure-SSIS IR に必要な接続を示しています。

Express 仮想ネットワーク インジェクションでの Azure-SSIS IR に必要な接続を示す図。

サブネットを選択する

高速仮想ネットワーク挿入を有効にするには、Azure-SSISIRが参加する適切なサブネットを選択する必要があります:

  • GatewaySubnetは仮想ネットワークゲートウェイ専用であるため、選択しないでください。

  • 選択したサブネットに、Azure-SSIS IRノード番号の少なくとも2倍の使用可能なIPアドレスがあることを確認してください。 これらは、Azure-SSISIRのパッチ/アップグレードをロールアウトする際の中断を回避するために必要です。 また、Azureも、各サブネットで使用できないIPアドレスをいくつか予約しています。 最初と最後の IP アドレスはプロトコルコンプライアンスのために予約され、さらに 3 つのアドレスは Azure サービス用に予約されています。 詳細については、「サブネット IP アドレスの制限」セクションを参照 してください。

  • 他の Azure サービス (Azure SQL Managed Instance、App Service など) によって排他的に占有されているサブネットは使用しないでください。

  • 選択したサブネットは、Microsoft.Batch/batchAccounts サービスに委任する必要があります。 詳細については、サブネット委任の概要に関する記事を参照してください。 詳細な手順については、サブネットをAzureBatch に委任するセクションを参照してください。

仮想ネットワークのアクセス許可を選択する

仮想ネットワークの注入機能を有効化するためには、Azure-SSIS IR を作成するユーザーが仮想ネットワークやサブネットに参加できる RBAC アクセス許可を付与される必要があります。 2 つのオプションがあります。

  • 組み込みのネットワーク共同作成者ロールを使用します。 必要以上のスコープを持つ Microsoft.Network/* アクセス許可がこのロールに与えられています。

  • 必要な Microsoft.Network/virtualNetworks/subnets/join/action アクセス許可のみを含むカスタム ロールを作成します。

詳細な手順については、「仮想ネットワークのアクセス許可を 付与する」セクションを参照してください。

静的パブリック IP アドレスを構成する

Azure-SSIS IR の送信トラフィックに静的パブリック IP アドレスを使用してファイアウォールで許可する場合は、仮想ネットワーク ネットワーク アドレス変換 (NAT) を構成して設定する必要があります。

カスタム DNS サーバーを構成する

仮想ネットワーク内の独自の DNS サーバーを使用してプライベート ホスト名を解決する場合は、グローバルな Azure ホスト名(たとえば、<your storage account>.blob.core.windowsという名前のAzure Blob Storage)も解決できることを確認してください。

未解決のDNS 要求を Azure 再帰リゾルバーの IP アドレス (168.63.129.16) に転送するように独自の DNS サーバーを構成することをお勧めします。

詳細については、「DNS サーバーの名前解決」セクションを参照 してください。

現在、Azure-SSIS IR で独自の DNS サーバーを使用するには、これらの手順に従って標準のカスタム セットアップを使用してサーバーを構成する必要があります。

  1. https://github.com/Azure/Azure-DataFactory/tree/main/SamplesV2/SQLServerIntegrationServices/customScript/SetupCustomDnsからカスタム セットアップ スクリプト main.cmd + 関連付けられているファイル setupdnsserver.ps1 をダウンロードします。

  2. main.cmdの "your-dns-server-ip "をご自身のDNSサーバーのIPアドレスに置き換えてください。

  3. main.cmd + setupdnsserver.ps1を独自のAzureStorage BLOBコンテナーにアップロードして、標準のカスタムセットアップを行い、Azure-SSIS IRをプロビジョニングするときにそのSAS URIを入力します。Azure-SSIS IR のカスタマイズの記事を参照してください。

注記

プライベート ホスト名には完全修飾ドメイン名 (FQDN) を使用します (たとえば、<your_private_server>.contoso.com ではなく <your_private_server> を使用します)。 または、Azure-SSIS IR で標準のカスタム セットアップを使用して、独自の DNS サフィックス (例として contoso.com) を修飾されていない単一ラベルドメイン名に自動的に追加し、DNS クエリで使用する前に FQDN に変換することもできます。「標準 カスタム セットアップ のサンプル」セクションを参照してください。

NSG を構成する

Azure-SSIS IRによって参加されたサブネットでNSGを使用する場合は、次のアウトバウンドトラフィックを許可します:

トランスポート プロトコル ソース 送信元ポート 宛先 送信先ポート コメント
TCP VirtualNetwork * DataFactoryManagement 443 Azure-SSIS IRがADFサービスにアクセスするために必要です。

そのアウトバウンドトラフィックは、現時点ではADFパブリックエンドポイントのみを使用します。
TCP VirtualNetwork * Sql/VirtualNetwork 1433、11000 ~ 11999 (オプション)Azure SQLデータベースサーバー/マネージドインスタンスを使用してSSISカタログ(SSISDB)をホストする場合にのみ必要です。

Azure SQLデータベースサーバー/マネージドインスタンスがパブリックエンドポイント/仮想ネットワークサービスエンドポイントで構成されている場合は、宛先としてSqlサービスタグを使用します。

Azure SQLデータベースサーバー/マネージドインスタンスがプライベートエンドポイントで構成されている場合は、宛先としてVirtualNetwork サービスタグを使用します。

サーバー接続ポリシーがリダイレクトではなくプロキシに設定されている場合は、ポート1433 のみが必要です。
TCP VirtualNetwork * Storage/VirtualNetwork 443 (オプション)Azure Storage blob コンテナーを使用して標準のカスタムセットアップスクリプト/ファイルを格納する場合にのみ必要です。

Azure Storageがパブリックエンドポイント/仮想ネットワークサービスエンドポイントで構成されている場合は、宛先として Storage サービスタグを使用します。

Azure Storageがプライベートエンドポイントで構成されている場合は、宛先として VirtualNetwork サービスタグを使用します。
TCP VirtualNetwork * Storage/VirtualNetwork 445 (オプション)Azure Filesにアクセスする必要がある場合にのみ必要です。

Azure Storageがパブリックエンドポイント/仮想ネットワークサービスエンドポイントで構成されている場合は、宛先として Storage サービスタグを使用します。

Azure Storageがプライベートエンドポイントで構成されている場合は、宛先として VirtualNetwork サービスタグを使用します。

UDRs を構成する

Azure-SSIS IR からの送信トラフィックを監査/検査する場合は、ユーザー定義ルート(UDRs)を使用して、境界ゲートウェイ プロトコル (BGP) ルート0.0.0.0/0を仮想ネットワークにアドバタイズする Azure ExpressRoute 強制トンネリングを介して、ファイアウォールとして構成されたネットワーク仮想アプライアンス (NVA) またはAzure Firewallサービスにリダイレクトできます。

上記のNSGの構成セクションのガイダンスに従って、Azure-SSIS IRからのアウトバウンドトラフィックを許可するために、ファイアウォールアプライアンス/サービスに同様のルールを実装する必要があります:

  • Azure Firewallを使用する場合:

    • DataFactoryManagementサービスタグを宛先として、アウトバウンドTCPトラフィック用にポート443を開く必要があります。

    • Azure SQLデータベースサーバー/マネージドインスタンスを使用してSSISDBをホストする場合は、Sql / VirtualNetworkサービスタグを宛先として、アウトバウンドTCPトラフィック用にポート1433、11000-11999を開く必要があります。

    • Azure Storage BLOBコンテナーを使用して、標準のカスタムセットアップスクリプト/ファイルを格納する場合は、Storage / VirtualNetworkサービスタグを宛先として、アウトバウンドTCPトラフィック用にポート443を開く必要があります。

    • Azure Files にアクセスする必要がある場合は、Storage/VirtualNetworkサービス タグを宛先として使用して送信 TCP トラフィック用にポート445を開く必要があります。

  • 他のファイアウォール アプライアンス/サービスを使用する場合:

    • 宛先として0.0.0.0/0または次の Azure 環境固有の FQDN を使用する送信 TCP トラフィック用にポート443を開く必要があります:

      Azure 環境 FQDN
      Azure パブリック *.frontend.clouddatahub.net
      Azure Government *.frontend.datamovement.azure.us
      21Vianet によって運営される Microsoft Azure *.frontend.datamovement.azure.cn
    • Azure SQL Database server/Managed Instance を使用して SSISDB をホストする場合は、送信先として0.0.0.0/0または Azure SQL Database server/Managed Instance FQDN を使用する送信 TCP トラフィック用にポート1433、11000-11999を開く必要があります。

    • Azure Storage BLOB コンテナーを使用して標準のカスタム セットアップ スクリプト/ファイルを格納する場合は、送信先として0.0.0.0/0または Azure Blob Storage FQDN を使用して送信 TCP トラフィック用にポート443を開く必要があります。

    • Azure Files にアクセスする必要がある場合は、宛先として 0.0.0.0/0 または Azure Files の FQDN が指定されたアウトバウンド TCP トラフィック用に、ポート 445 を開く必要があります。

Azure-SSIS IR の詳細については、次の記事を参照してください。

  • Azure-SSIS IR」。 この記事では、Azure-SSIS IR を含め、IR に関する全般的な概念情報が説明されています。
  • チュートリアル: Azure への SSIS パッケージのデプロイ このチュートリアルでは、Azure-SSIS IR の作成手順を示しています。 ここでは、SSISDB をホストするために Azure SQL Database サーバーを使用しています。
  • Azure-SSIS IR を作成する」。 この記事は、このチュートリアルを拡張しています。 仮想ネットワーク サービス エンドポイント、IP ファイアウォール規則、プライベート エンドポイントで構成された Azure SQL Database サーバー、または仮想ネットワークに参加する Azure SQL Managed Instance を使用して SSISDB をホストする手順について説明しています。 Azure-SSIS IR を仮想ネットワークに参加させる方法について説明します。
  • Azure-SSIS IR を監視する: この記事では、Azure-SSIS IR についての情報を取得して理解するための方法を示します。
  • Azure-SSIS IR を管理する: この記事では、Azure-SSIS IR を停止、開始、または削除する方法を示しています。 また、ノードを追加することで Azure-SSIS IR をスケールアウトする方法も説明されています。