Azure Data Factory 用の Azure Private Link

適用対象: Azure Data Factory Azure Synapse Analytics

ヒント

企業向けのオールインワン分析ソリューション、Microsoft Fabric の Data Factory をお試しください。 Microsoft Fabric は、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新しい試用版を開始する方法について説明します。

Azure Private Link を使用すると、プライベート エンドポイント経由で Azure のさまざまなサービスとしてのプラットフォーム (PaaS) のデプロイに接続できます。 プライベート エンドポイントは、特定の仮想ネットワークおよびサブネット内のプライベート IP アドレスです。 Private Link 機能をサポートしている PaaS デプロイの一覧については、「Private Link のドキュメント」を参照してください。

カスタマー ネットワークと Data Factory 間の通信をセキュリティで保護する

クラウド内のネットワークを論理的に表すように Azure 仮想ネットワークをセットアップできます。 これにより、次のような利点があります。

  • パブリック ネットワークでの攻撃から Azure リソースを保護することができます。
  • ネットワークと Data Factory が相互に安全に通信できるようになります。

オンプレミス ネットワークを仮想ネットワークに接続することもできます。 サイト間接続であるインターネット プロトコル セキュリティ VPN 接続を設定します。 または、Azure ExpressRoute 接続を設定します。 これはプライベート ピアリング接続です。

オンプレミスのマシンまたは仮想ネットワーク内の仮想マシンに、セルフホステッド統合ランタイム (IR) をインストールすることもできます。 これにより、次のことが可能になります。

  • クラウドのデータ ストアとプライベート ネットワーク内のデータ ストアの間でコピー アクティビティを実行する。
  • オンプレミス ネットワークまたは Azure Virtual Network 内のコンピューティング リソースに対して変換アクティビティをディスパッチする。

次の表に示すように、Azure Data Factory とお客様の仮想ネットワークの間にはいくつかの通信チャネルが必要です。

Domain Port 説明
adf.azure.com 443 Data Factory ポータルは、Data Factory の作成と監視に必要です。
*.{region}.datafactory.azure.net 443 Data Factory に接続するためにセルフホステッド IR で必要です。
*.servicebus.windows.net 443 インタラクティブな作成を行うためにセルフホステッド IR で必要です。
download.microsoft.com 443 更新プログラムをダウンロードするためにセルフホステッド IR で必要です。

注意

パブリック ネットワーク アクセスの無効化は、セルフホステッド IR にのみ適用され、Azure IR および SQL Server Integration Services IR には適用されません。

Data Factory への通信は、Private Link を経由し、セキュリティで保護されたプライベート接続が提供されます。

Data Factory アーキテクチャの Private Link を示す図。

上記の各通信チャネルに対して Private Link を有効にすると、次の機能が提供されます。

  • サポート対象:

    • 送信方向の通信をすべてブロックした場合でも、ご利用の仮想ネットワークから Data Factory ポータルで作成と監視を行うことができます。 ポータルのプライベート エンドポイントを作成した場合でも、他のユーザーはパブリック ネットワーク経由で Data Factory ポータルに引き続きアクセスできます。
    • セルフホステッド IR と Data Factory の間のコマンド通信をプライベート ネットワーク環境内で安全に実行できます。 セルフホステッド IR と Data Factory の間のトラフィックは Private Link を経由します。
  • 現在、サポートされていません:

    • テスト接続、フォルダー リストやテーブル リストの参照、スキーマの取得、データのプレビューなど、セルフホステッド IR を使用したインタラクティブな作成が Private Link を経由します。 自己完結型のインタラクティブな編集が有効になっている場合、トラフィックはプライベート リンクを経由することに注意してください。 「自己完結型のインタラクティブな編集」を参照してください。

    注意

    自己完結型のインタラクティブな編集が有効になっている場合、"IP の取得" と "ログの送信" はどちらもサポートされません。

    • 自動更新を有効にする場合に Microsoft ダウンロード センターから自動的にダウンロードできる、セルフホステッド IR の新しいバージョンは、この時点ではサポートされていません。

    現在サポートされていない機能については、前述の仮想ネットワーク内のドメインとポートまたは企業ファイアウォールを構成する必要があります。

    プライベート エンドポイント経由の Data Factory への接続は、Data Factory のセルフホステッド IR にのみ適用されます。 これは Azure Synapse Analytics ではサポートされていません。

警告

Private Link Data Factory を有効にし、同時にパブリック アクセスをブロックする場合、資格情報を Azure Key Vault に格納してこれらをセキュリティで保護するようにしてください。

セルフホステッド IR と Data Factory の間の通信用にプライベート エンドポイントを構成する

このセクションでは、セルフホステッド IR と Data Factory の間の通信用にプライベート エンドポイントを構成する方法について説明します。

プライベート エンドポイントは、セルフホステッド IR と Data Factory の間の通信用に仮想ネットワークに作成されます。 「Data Factory 用のプライベート エンドポイント リンクをセットアップする」の手順に従います。

DNS 構成が正しいことを確認する

プライベート エンドポイントの DNS の変更」の手順に従って、DNS 設定を確認または構成します。

Azure Relay とダウンロード センターの FQDN をファイアウォールの許可リストに含める

セルフホステッド IR が仮想ネットワーク内の仮想マシンにインストールされている場合は、仮想ネットワークの NSG で以下の FQDN への送信トラフィックを許可します。

セルフホステッド IR がオンプレミス環境のマシンにインストールされている場合は、オンプレミス環境のファイアウォールと仮想ネットワークの NSG で以下の FQDN への送信トラフィックを許可してください。

Domain Port 説明
*.servicebus.windows.net 443 インタラクティブな作成を行うためにセルフホステッド IR で必要です
download.microsoft.com 443 更新プログラムをダウンロードするためにセルフホステッド IR で必要です

ファイアウォールと NSG で上記の送信トラフィックを許可しない場合、セルフホステッド IR は制限付きの状態で表示されます。 ただし、引き続きそれを使用してアクティビティを実行できます。 インタラクティブな編集と自動更新のみが機能しません。

注意

1 つの (共有) データ ファクトリにセルフホステッド IR があり、セルフホステッド IR が他の (リンクされた) データ ファクトリと共有されている場合は、共有データ ファクトリのプライベート エンドポイントのみを作成する必要があります。 他のリンクされたデータ ファクトリでは、セルフホステッド IR と Data Factory の間の通信にこのプライベート リンクを利用できます。

Note

現在、セルフホステッド統合ランタイムと Synapse Analytics ワークスペースの間のプライベート リンクの確立はサポートされていません。 また、セルフホステッド統合ランタイムは、Synapse ワークスペースでデータ流出保護が有効になっている場合でも、Synapse と通信できます。

プライベート エンドポイントの DNS の変更

プライベート エンドポイントを作成すると、データ ファクトリの DNS CNAME リソース レコードは、プレフィックス privatelink を持つサブドメイン内のエイリアスに更新されます。 既定では、privatelink サブドメインに対応するプライベート DNS ゾーンも作成されます。これには、プライベート エンドポイントの DNS A リソース レコードが含まれます。

プライベート エンドポイントを持つ仮想ネットワークの外部から Data Factory エンドポイントの URL を解決すると、Data Factory のパブリック エンドポイントに解決されます。 プライベート エンドポイントをホストしている仮想ネットワークから解決されると、ストレージ エンドポイント URL はプライベート エンドポイントの IP アドレスに解決されます。

上の図の例のように、プライベート エンドポイントをホストしている仮想ネットワークの外部から解決されると、DataFactoryA と呼ばれる Data Factory の DNS リソース レコードは次のようになります。

Name Type
DataFactoryA.{region}.datafactory.azure.net CNAME < Data Factory パブリック エンドポイント >
< Data Factory パブリック エンドポイント > A < Data Factory パブリック IP アドレス >

DataFactoryA の DNS リソース レコードは、プライベート エンドポイントをホストしている仮想ネットワーク内で解決されると、次のようになります。

名前 Type
DataFactoryA.{region}.datafactory.azure.net CNAME DataFactoryA.{region}.privatelink.datafactory.azure.net
DataFactoryA.{region}.privatelink.datafactory.azure.net A <プライベート エンドポイントの IP アドレス>

ネットワークでカスタム DNS サーバーを使用している場合は、クライアントで Data Factory エンドポイントの FQDN をプライベート エンドポイントの IP アドレスに解決できる必要があります。 Private Link サブドメインを仮想ネットワークのプライベート DNS ゾーンに委任するように、DNS サーバーを構成してください。 または、DataFactoryA.{region}.datafactory.azure.net の A レコードをプライベート エンドポイントの IP アドレスで構成することもできます。

注意

現時点では、Data Factory ポータル エンドポイントは 1 つだけなので、DNS ゾーン内のポータルのプライベート エンドポイントは 1 つだけです。 2 つ目以降のポータル プライベート エンドポイントを作成しようとすると、以前に作成したポータルのプライベート DNS エントリが上書きされます。

このセクションでは、Data Factory のプライベート エンドポイント リンクを設定します。

次に示すように、Data Factory の作成手順で、パブリック エンドポイントまたはプライベート エンドポイントを選択することによって、セルフホステッド IR を Data Factory に接続するかどうかを選択できます。

セルフホステッド IR のパブリック アクセスのブロックを示すスクリーンショット。

ネットワーク ウィンドウの Data Factory ポータル ページから作成した後、いつでも選択を変更できます。 プライベート エンドポイントを有効にしたら、プライベート エンドポイントをデータ ファクトリに追加する必要もあります。

プライベート エンドポイントには、リンク用の仮想ネットワークおよびサブネットが必要です。 この例では、サブネット内の仮想マシンを使用して、プライベート エンドポイント リンク経由で接続した、セルフホステッド IR を実行します。

仮想ネットワークの作成

プライベート エンドポイント リンクで使用する既存の仮想ネットワークがない場合は、それを作成し、サブネットを割り当てる必要があります。

  1. Azure portal にサインインします。

  2. 画面の左上隅で、[リソースの作成]>[ネットワーキング]>[仮想ネットワーク] の順に選択するか、検索ボックスで仮想ネットワークを検索します。

  3. [仮想ネットワークの作成][基本] タブで次の情報を入力または選択します。

    設定 Value
    プロジェクトの詳細
    サブスクリプション Azure サブスクリプションを選択します。
    Resource group 仮想ネットワークのリソース グループを選択します。
    インスタンスの詳細
    Name 仮想ネットワークの名前を入力します。
    リージョン 重要: プライベート エンドポイントで使用するものと同じリージョンを選択します。
  4. [IP アドレス] タブを選択するか、ページ下部の [次へ: IP アドレス] ボタンを選択します。

  5. [IP アドレス] タブで、次の情報を入力します。

    設定
    IPv4 アドレス空間 10.1.0.0/16」を入力します。
  6. [サブネット名] で、 [default](既定) という単語を選択します。

  7. [サブネットの編集] に次の情報を入力します。

    設定
    サブネット名 サブネットの名前を入力します。
    サブネットのアドレス範囲 10.1.0.0/24」と入力します。
  8. [保存] を選択します。

  9. [確認と作成] タブを選択するか、 [確認と作成] ボタンを選択します。

  10. [作成] を選択します

セルフホステッド IR 用の仮想マシンを作成する

前の手順で作成した新しいサブネットでセルフホステッド IR を実行するために、既存の仮想マシンを作成または割り当てる必要があります。

  1. ポータルの左上隅で、[リソースの作成]>[Compute]>[仮想マシン] の順に選択するか、検索ボックスで「仮想マシン」を検索します。

  2. [仮想マシンの作成][基本] タブに、値を入力するか選択します。

    設定
    プロジェクトの詳細
    サブスクリプション Azure サブスクリプションを選択します。
    Resource group リソース グループを選択します。
    インスタンスの詳細
    仮想マシン名 仮想マシンの名前を入力します。
    リージョン 仮想ネットワークで使用したリージョンを選択します。
    可用性のオプション [インフラストラクチャ冗長は必要ありません] を選択します。
    Image Windows Server 2019 Datacenter-Gen1 (または、セルフホステッド IR をサポートするその他の Windows イメージ) を選択します。
    Azure Spot インスタンス このため、 [いいえ] を選択します。
    サイズ VM サイズを選択するか、既定の設定を使用します。
    管理者アカウント
    ユーザー名 ユーザー名を入力します。
    Password パスワードを入力します。
    パスワードの確認 パスワードを再入力します。
  3. [ネットワーク] タブを選択するか、または [次へ: ディスク]>[次へ: ネットワーク] を選択します。

  4. [ネットワーク] タブで、次を選択または入力します。

    設定
    ネットワーク インターフェイス
    仮想ネットワーク 作成した仮想ネットワークを選択します。
    Subnet 作成したサブネットを選択します。
    パブリック IP [なし] を選択します。
    NIC ネットワーク セキュリティ グループ Basic
    パブリック受信ポート [なし] を選択します。
  5. [Review + create](レビュー + 作成) を選択します。

  6. 設定を確認し、 [作成] を選択します。

Note

パブリック IP が割り当てられていない VM、または内部の Basic Azure Load Balancer のバックエンド プール内にある VM に対しては、Azure によって既定のアウトバウンド アクセス IP が提供されます。 デフォルト送信アクセス IP メカニズムは、構成できないアウトバウンド IP アドレスを提供します。

次のいずれかのイベントが発生すると、既定のアウトバウンド アクセス IP は無効になります。

  • パブリック IP アドレスが VM に割り当てられます。
  • アウトバウンド規則の有無にかかわらず、VM は標準ロード バランサーのバックエンド プール内に配置されます。
  • Azure NAT Gateway リソースが VM のサブネットに割り当てられている。

フレキシブル オーケストレーション モードの仮想マシン スケール セットによって作成された VM には、既定のアウトバウンド アクセスがありません。

Azure のアウトバウンド接続の詳細については、「Azure での既定の送信アクセス」および「送信接続での送信元ネットワーク アドレス変換 (SNAT)を使用する」を参照してください。

プライベート エンドポイントの作成

最後に、データ ファクトリにプライベート エンドポイントを作成する必要があります。

  1. Data Factory の Azure portal ページで、[ネットワーク]>[プライベート エンドポイント接続] を選択し、[+ プライベート エンドポイント] を選択します。

    プライベート エンドポイントを作成するために使用する [プライベート エンドポイント接続] ペインを示すスクリーンショット。

  2. [プライベート エンドポイントの作成][基本] タブで、次の情報を入力または選択します。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group リソース グループを選択します。
    インスタンスの詳細
    Name エンドポイントの名前を入力します。
    リージョン 作成した仮想ネットワークのリージョンを選択します。
  3. [リソース] タブ、または画面下部にある [次へ: リソース] ボタンを選択します。

  4. [リソース] で、次の情報を入力または選択します。

    設定
    接続方法 [マイ ディレクトリ内の Azure リソースに接続する] を選択します。
    サブスクリプション サブスクリプションを選択します。
    リソースの種類 [Microsoft.Datafactory/factories] を選択します。
    リソース データ ファクトリを選択します。
    ターゲット サブリソース セルフホステッド IR と Data Factory の間のコマンド通信用にプライベート エンドポイントを作成する場合は、[ターゲット サブリソース] として [datafactory] を選択します。 仮想ネットワーク内でデータ ファクトリを作成および監視するためのプライベート エンドポイントを作成する場合は、 [ターゲット サブリソース] として [ポータル] を選択します。
  5. [構成] タブを選択するか、 [次へ: 構成] ボタン (画面の下部にあります) を選択します。

  6. [構成] で、次の情報を入力または選択します。

    設定
    ネットワーク
    仮想ネットワーク 作成した仮想ネットワークを選択します。
    Subnet 作成したサブネットを選択します。
    プライベート DNS の統合
    プライベート DNS ゾーンとの統合 既定値の [はい] のままにします。
    サブスクリプション サブスクリプションを選択します。
    プライベート DNS ゾーン どちらのターゲット サブリソースでも既定値のままにします。1. datafactory: (新規) privatelink.datafactory.azure.net。 2. portal: (新規) privatelink.adf.azure.com
  7. [Review + create](レビュー + 作成) を選択します。

  8. [作成] を選択します

サブスクリプション内の Data Factory リソースのアクセスを Private Link で制限する場合は、ポータルを使用して Azure リソースを管理するためのプライベート リンクの作成に関するステップに従ってください。

既知の問題

両側が Private Link とプライベート エンドポイントに公開されている場合、それぞれの PaaS リソースにアクセスできません。 この問題は、Private Link とプライベート エンドポイントの既知の制限です。

たとえば、顧客 A がプライベート リンクを使用して仮想ネットワーク A 内のデータ ファクトリ A のポータルにアクセスしているとします。データ ファクトリ A でパブリック アクセスをブロックしていない場合、顧客 B からは、パブリック経由で仮想ネットワーク B のデータ ファクトリ A のポータルにアクセスできます。 しかし、顧客 B が仮想ネットワーク B のデータ ファクトリ B に対してプライベート エンドポイントを作成した場合、仮想ネットワーク B のパブリック経由でデータ ファクトリ A にはアクセスできなくなります。