Azure Data Factory プライベート エンドポイントについて

Azure Data Factory (ADF) はプライベート エンドポイントを使用してプライベート接続が可能です。 今回は ADF のプライベート エンドポイントについて説明していきます。

ADF のエンドポイント

ADF には以下 4 つのエンドポイントが存在します。主にセルフホステッド統合ランタイム (SHIR) からアクセスするために使用されます。4 つのうち 2 つがプライベート エンドポイントに対応しています。

# ドメイン ポート 説明 プライベート エンドポイント対応
1 adf.azure.com 443 ADF の作成と監視に必要。
2 *.{region}.datafactory.azure.net 443 SHIR から ADF サービスに接続するために必要。
3 *.servicebus.windows.net 443 SHIR がインタラクティブな作成を行うために必要。 ×
4 download.microsoft.com 443 SHIR が更新プログラムをダウンロードするために必要。 ×

概観図は以下となります。

f:id:samskeyti:20211217215308p:plain

それぞれのエンドポイントについて説明します。

adf.azure.comは ADF の作成と監視に必要です。 https://adf.azure.com が ADF ポータルの URL となります。

f:id:samskeyti:20211217230540p:plain

*.{region}.datafactory.azure.netは SHIR から ADF サービスに接続するために必要です。 IR の登録やパイプライン実行のときに使用します。

*.servicebus.windows.netは SHIR がインタラクティブな作成を行うために必要です。 インタラクティブな作成とは、下図のようなテスト接続、フォルダー リストやテーブル リストの参照、スキーマの取得、データのプレビューなどを指します。

download.microsoft.comは SHIR が更新プログラムをダウンロードするために必要です。

プライベート エンドポイントのサブリソース

ADF のプライベート エンドポイントを作成するときには [対象サブリソース] を選択できます。選択肢は [dataFactory]、[portal] の 2 つです。それぞれ先述した*.{region}.datafactory.azure.netadf.azure.comに対応しています。

プライベート エンドポイント作成による DNS 構成への影響

既存の Microsoft Azure サービスには、パブリック エンドポイント用の DNS 構成が既に存在している場合があります。 プライベート エンドポイントを使用して接続するには、この構成をオーバーライドする必要があります。 ADF のプライベート エンドポイント作成時における [プライベート DNS 統合] のオプションがそれに対応します。 このオプションを有効化することで、プライベート DNS ゾーンを作成し、名前解決するときにはプライベート エンドポイントのプライベート IP アドレスを取得できます。 すなわちクライアント側は接続 URL を変更する必要がありません。

プライベート DNS ゾーンでの名前解決フローの図は以下となります。CNAME レコードでプライベート ドメイン名に名前解決がリダイレクトされます。

f:id:samskeyti:20211218005635p:plain

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

ADF のプライベート エンドポイントを Azure Portal にて作成する手順を説明します。

1. ADF ネットワーク画面にて [+プライベート エンドポイント] をクリックします。

f:id:samskeyti:20211217233644p:plain

2. [名前] に任意の値を入力して次に進みます。

f:id:samskeyti:20211217233953p:plain

3. [対象サブリソース] で [dataFactory] もしくは [portal] を選択して次に進みます。

f:id:samskeyti:20211217234211p:plain

4. [仮想ネットワーク] と [サブネット] を選択して次に進みます。

f:id:samskeyti:20211217234714p:plain

5. タグは作成せず次に進みます。

f:id:samskeyti:20211217234945p:plain

6. 内容を確認して [作成] をクリックします。

f:id:samskeyti:20211217234959p:plain

7. 作成されたことを確認します。

f:id:samskeyti:20211218000024p:plain

プライベート エンドポイントを経由した接続

Azure 上に構築した VM (Windows Server 2019) から ADF サービスに接続します。構成図は以下となります。

ADF の 2 種類のサブリソースのプライベート エンドポイントを作成しておきます。それぞれに分けて説明します。

f:id:samskeyti:20211218160036p:plain

念の為、VM に割り当てた NIC のネットワーク セキュリティ グループでインターネットへのアウトバウンドを禁止しておきます。

f:id:samskeyti:20211218161516p:plain

dataFactory サブリソース

Data Factory の [ネットワーク アクセス] が [プライベート エンドポイント] に設定されていることを確認します。これにより SHIR が ADF サービスにプライベート接続します。

コマンドプロンプトnslookupコマンドを実行し、プライベート IP アドレスを取得できることを確認します。

$ nslookup samskeyti.japaneast.datafactory.azure.net
Server:  UnKnown
Address:  168.63.129.16

Non-authoritative answer:
Name:    samskeyti.japaneast.privatelink.datafactory.azure.net
Address:  10.0.0.5
Aliases:  samskeyti.japaneast.datafactory.azure.net

VM に RDP して、Microsoft Integration Runtime Configuration Manager を起動し [Start Service] をクリックします。

ADF サービスに接続されたことを確認します。Self-hosted node is connected to the cloud service with limited functionallyと警告が表示されますが、これは ADF サービスから VM への方向へ通信できていないことを表しています。この状態でもパイプライン実行自体は問題なく行えます。

portal サブリソース

コマンドプロンプトnslookupコマンドを同様に実行し、プライベート IP アドレスを取得できることを確認します。

$ nslookup adf.azure.com
Server:  UnKnown
Address:  168.63.129.16

Non-authoritative answer:
Name:    portal.privatelink.adf.azure.com
Address:  10.0.0.6
Aliases:  adf.azure.com

ブラウザで https://adf.azure.com にアクセスできることを確認します。認証用エンドポイントにアクセスできるように設定しておく必要があることにご注意ください。

f:id:samskeyti:20211218163420p:plain

参考

Azure Data Factory 用の Azure Private Link - Azure Data Factory | Microsoft Docs

Azure プライベート エンドポイントの DNS 構成 | Microsoft Docs