Synapse Workspace では、ワークスペースのリソースをデプロイする際に、Managed VNET に関連付けができます。(デプロイ時にのみ設定することができ、ワークスペースの作成後に設定を変更することはできません)
詳細については、Azure Synapse Analytics のマネージド仮想ネットワーク (プレビュー) に記載されているのですが、この辺の設定がいまいちわかっていなかったので、情報を整理しておこうかと。
デプロイ時には、次の注釈が表示されています。
Choose whether you want a Synapse-managed virtual network dedicated for your Azure Synapse workspace.
設定を有効にすることで、Synapse ワークスペース専用の、Synapse で管理される仮想ネットワークが使用されるという記述となっています。
設定を有効にしてデプロイをすると、Synapse によって管理される VNET (マネージド ワークスペース VNET) が作成され
- ワークスペース
- データ統合 (Synapse の ADF)
- Spark プール
の機能については、この VNET の中に展開がされることになります。
SQL プール (SQLDW 相当の MPP DB) / SQL オンデマンドに関しては、マルチテナントのリソースとして、VNET の外に配置が行われています。
マネージド ワークスペース VNET を使用していない場合、ワークスペースの「Managed private endpoints」はグレーアウトしており、選択することはできません。 ![]()
VNET を使用するようにした場合は、Managed private endpoints は選択可能となり、ワークスペース内で作成した、SQL プールと、SQL オンデマンド用にプライベートリンクが自動的に作成されます。
デフォルトで作成される、データ統合のための統合ランタイムの設定も異なり、VNET に関連付けていない場合は、Virtual network configuration は、「Disable」になっていますが、 ![]()
関連付けている場合は、統合ランタイムの VNET の構成は有効化されており、統合ランタイムも VNET に関連付けられている状態となっています。 ![]()
VNET に関連付けられた統合ランタイムから、SQL Database への Linked Service を作成し、テスト接続をしようとすると、初期の設定ではおそらくエラーになると思います。
Synapse マネージド プライベート エンドポイント (プレビュー) に書かれている内容になるかと思いますが、SQL Database にアクセスを行わせるためには、最初に Managed private endpoints から、SQL Database へのプライベートエンドを作成します。(SQL Database 側のプライベートエンドポイントは保留の状態になっていますので、こちら承認する必要があるかと) ![]()
![]()
Synapse マネージド プライベート エンドポイント (プレビュー) に書かれている次の記載が少し気になりますね。
注意
マネージド プライベート エンドポイント経由を除き、マネージド ワークスペース VNet からのアウトバウンド トラフィックは将来すべてブロックされます。 Azure のデータ ソースとの接続にはすべて、ワークスペースに外部となるマネージド プライベート エンドポイントを作成することをお勧めします。
「アウトバウンド トラフィック」ですが、この投稿を書いている時点では、VNET に関連付けられている、統合ランタイムから、Azure 以外のクラウドサービスへの接続も実行することができていますが、最終的に VNET に関連付けられている統合ランタイムのセキュリティんがどのようになるのかが現時点ではよくわかりませんでした。
今回確認したのは Synapse のデータ統合の部分の動作のみとなりますが、この動作については、Azure Data Factory でも同様ににすることができます。(こちらは限定的に公開されているプレビューとなりますので申請が必要です)
このドキュメントの中の図が、統合ランタイムの VNET の動作としてわかりやすいのではと思いました。
自分で作成した VNET に統合するのではなく、内部で作成されているマネージド VNET 内に統合ランタイムを作成し、そこからプライベートエンドポイント経由で、バックボーンのネットワークを介して Azure のリソースに接続するというイメージはこの図が理解しやすかったです。
Synapse で VNET に関連付けを行った場合は、Managed Virtual Network の中に、ワークスペースと Spark プールも入るイメージなのかなと。
Azure の各サービスでプライベートエンドポイント対応が進んでいますので、今の Azure ではどのようなネットワーク構成が取れるのかは一度頭の中を整理しないと最新の動向についていけないですね…。
