Important
この機能は パブリック プレビュー段階です。
このページでは、Azure Databricks プラットフォーム上のパフォーマンス集中型サービスへの受信接続用にPrivate Linkを構成する方法について説明します。 このプライベート接続により、外部クライアントとユーザーは、zerobus Ingest や Lakebase Autoscaling などのAzure Databricks プラットフォーム上のサービスにアクセスできます。
メリット
- セキュリティ強化: ネットワークと Databricks サービス間のトラフィックは、Azure ネットワーク インフラストラクチャ内に残ります。
- パフォーマンスを集中的に使用するサービスへのアクセス: Zerobus Ingest や Lakebase Autoscaling などのサービスへのプライベート接続。
- コンプライアンス要件: プライベート ネットワーク接続を要求する規制要件を満たします。
- コスト効率: Private Linkコストは、NAT ゲートウェイなどのパブリック接続オプションよりも低くなります。
Azure Databricks は、パフォーマンス集約型サービスへのインバウンド プライベート リンク接続に関連する特定のネットワーク コストに対して請求します。 詳細については、「 Databricks のネットワーク コストについて」を参照してください。
Requirements
- Azure Databricks アカウントは Premium レベルである必要があります。
- アカウントでパフォーマンス集中 型サービスのパブリック プレビュー機能のプライベート接続 を有効にする必要があります。 アカウント コンソールから自己登録できます。 この機能を有効にしないと、プライベート エンドポイントはアカウント コンソールに表示されません。
- プライベート エンドポイントを登録するには、Azure Databricks アカウント管理者である必要があります。
- プライベート エンドポイントを作成するには、Azureにネットワーク共同作成者または同等のアクセス許可が必要です。
プライベート エンドポイントを設定する
プライベート エンドポイントを作成する
この手順では、Azure ポータルにプライベート エンドポイントを作成し、Azure Databricksのパフォーマンスを集中的に使用するサービスに接続します。
VNet とサブネットを準備する
プライベート エンドポイントをホストする VNet とサブネットを準備します。 新しい VNet を作成することも、既存の VNet (ワークスペース VNet など) を再利用することもできます。
- 新しい VNet を作成するには、Azure Virtual Network の作成 を参照してください。
- サブネットを追加するには、「 仮想ネットワーク サブネットの追加、変更、または削除」を参照してください。
注
受信プライベート エンドポイントは、ワークスペースとは異なる VNet (トランジット VNet など) でホストできます。 VNet 制約は、バックエンド プライベート エンドポイントにのみ適用されます。
サブネットの プライベート エンドポイント ネットワーク ポリシー を構成します。
- 推奨 (既定): 無効。 これは既定の設定であり、Azure Databricks がテストおよびサポートしている構成です。
- 代替 (カスタマー マネージド): NetworkSecurityGroup または RouteTable。 ポリシーの有効化も機能し、ExpressRoute でAzure Virtual WANを使用するネットワークで必要になる場合があります。この場合、ポリシーを無効にすると非対称ルーティングが発生する可能性があります。 ポリシーを有効にした場合は、ネットワーク セキュリティ グループとルート テーブルルールで Service Direct プライベート エンドポイントへのトラフィックが許可されていることを確認する必要があります。 Azure Databricksでは、サブネット上のカスタム ネットワーク セキュリティ グループまたはルート テーブル規則に起因する接続やパフォーマンスの問題はサポートされません。
詳細については、 プライベート エンドポイントのネットワーク ポリシーの管理に関するページを 参照してください。
既存のワークスペース VNet を再利用する場合は、ワークスペースで使用されるサブネットとは異なるサブネットを使用または作成する必要があります。
注
パフォーマンス集中型サービスのプライベート エンドポイントは、既存の受信プライベート エンドポイントと同じサブネットに配置できます。 "異なるサブネット" 要件は、ワークスペースのコンピューティング インジェクション サブネットにのみ適用されます。
プライベート エンドポイントをホストしている VNet が VNet 送信トラフィックと異なる場合は、VNet ピアリングまたは接続を構成します。 VNet 接続の確認を参照してください。
プライベート エンドポイントをデプロイする
- Azure ポータルで、Microsoft Marketplace で Private エンドポイントを検索し、Create を選択します。
- 名前とネットワーク インターフェイス名を入力し、ワークスペースの VNet リージョンと一致するようにリージョンを設定します。
- [ 次へ: リソース] をクリックします。
- リソース ID またはエイリアスでAzure リソースに接続を選択します。
- Resource ID またはエイリアス フィールドに、リージョンのパフォーマンスを集中的に使用するサービスのPrivate Link サービス リソース ID を入力します。 リソース ID の一覧については、「パフォーマンスを重視するサービスと一般アクセス向けの Private Link Service Resource IDs」を参照してください。
- [ ターゲットサブリソース ] フィールドに「
service_direct」と入力します。 - [Next: Virtual Network をクリックします。
- 「VNet とサブネットの準備」セクションで準備した仮想ネットワーク とサブネットを 選択します。
- [ 次へ: DNS] をクリックします。
- [プライベート DNS ゾーンとの統合] を [いいえ] に設定したままにしておきます。 DNS は、後の手順で手動で構成します。
- [ 次へ: タグ] をクリックします。
- [次へ: 確認と作成] をクリックします。
- 構成を確認し、[ 作成 ] をクリックしてプライベート エンドポイントをデプロイします。
- デプロイが完了したら、次の値を記録します。
- プライベート エンドポイント名: プライベート エンドポイントの名前。
- リソース GUID: プライベート エンドポイント リソースに移動し、[ JSON ビュー] をクリックして、
properties.resourceGuidで値を見つけます。 これは、プライベート エンドポイントを登録するときに必要です。 - プライベート IP アドレス: JSON ビューで、
properties.customDnsConfigs[0].ipAddresses[0]で IP アドレスを見つけます。 これは、DNS を構成するときに必要です。
デプロイ後、プライベート エンドポイントの接続状態は [保留中] と表示されます。 これは予期されることです。 プライベート エンドポイントを登録するまで、エンドポイントは 保留中 の状態のままになります。
プライベート エンドポイントを登録する
Azure ポータルでプライベート エンドポイントを作成したら、Azure Databricksに登録します。
- Azure Databricks アカウント コンソールに移動します。
- サイドバーで、[ セキュリティ>ネットワーキング>エンドポイント>エンドポイントを登録]をクリックします。
コンテキストベースのイングレスを使用して、プライベートエンドポイントをワークスペース向けの許可リストに追加する
Important
コンテキストベースの入力を使ったワークスペースへのプライベートアクセスはベータ版です。
- アカウント コンソールで、サイドバーの [ セキュリティ ] をクリックします。
- サイドバー のコンテキストベースのイングレスおよびエグレスコントロール をクリックします。
- ワークスペースレベルのポリシーで「新しいワークスペースポリシー」をクリックします。
-
「Ingress > Private Network Access」の項目で、プライベートアクセスポリシーを定義してください。
- デフォルトでは、登録済みのすべてのエンドポイントは以下の通りです: すべてのプライベートエンドポイントからのアクセスを許可します。 もしこれが許容されるなら、次のステップに進みましょう。 このデフォルトには最初の200個の登録済みプライベートエンドポイントのみが含まれます。もし保険契約でより多くの料金が求められている場合は、アカウントチームに連絡して増額を求めてください。
- 登録済みエンドポイントを許可リストにし、他のすべてのエンドポイントを拒否したい場合は、「 すべてのプライベートエンドポイントからのアクセスを許可 」のチェックを外し、許可ルールを追加してください。
- アクセスを許可したいアイデンティティとワークスペースの宛先を選択します(デフォルトではすべてのアイデンティティと宛先が許可されています)。
- 次に「source type = Selected private endpoints」を選択し、登録したService Directプライベートエンドポイントを選択します。 このプライベートエンドポイントのリージョンは、ワークスペースのリージョンと一致しなければなりません。 Service Directエンドポイントは同じリージョン内のワークスペースのみをサービスできます。
- [Confirm](確認) をクリックします。
- また、ポリシーに「 拒否ルール 」を追加し、許可ルールの例外を定義することもできます。
- プライベートアクセスポリシーの設定が終わったら、 Ingress > Public Network Accessでパブリックアクセスポリシーを設定することもできます。 すべてのパブリック IP からのアクセスを許可 のチェックを外すと、すべてのパブリック IP からのアクセスを無効にすることができます。 Azure Databricksは、DNS設定のテスト中はパブリックアクセスを有効にしておき、DNSが確定したら無効にして排他的なプライベート接続を強制することを推奨しています。
- 最初にドライ ラン モード でイングレス ポリシーをテストしてから、 適用に切り替えます。 ドライランモードのアクセス拒否は
system.access.inbound_networkシステムテーブルに記録されますが、アクセスをブロックすることはありません。 - 避難方針が正しいか必ず確認してください。
- ネットワークポリシーをワークスペースに紐付けてください。
- ネットワークポリシーを保存しましょう。 コンテキストベースのイングレス ポリシーの更新が有効になるまでに 10 分かかります。
DNS を構成する
プライベートエンドポイントが登録されallowlistに登録された後、DNSを設定して、 privatelink.azuredatabricks.net ドメインを使ってトラフィックがプライベートエンドポイントを経由するようにしてください。
- Databricks では、リージョンと目的 (
PE westus2 for inbound private linkなど) を含む名前付け規則をお勧めします。
-
privatelink.azuredatabricks.netという名前のAzureプライベート DNS ゾーンを作成します。- もしワークスペースがすでにインバウンドPrivate Linkを使用している場合(ワークスペースについては「インバウンドPrivate Linkの設定」を参照)、既存の
privatelink.azuredatabricks.netゾーンを再利用してください。 - 新しいゾーンについては、「Azure ポータルを使用してAzureプライベート DNS ゾーンを作成するを参照してください。
- もしワークスペースがすでにインバウンドPrivate Linkを使用している場合(ワークスペースについては「インバウンドPrivate Linkの設定」を参照)、既存の
- プライベート DNS ゾーンを、プライベート エンドポイントをホストしている VNet にリンクします。 仮想ネットワークのリンクを参照してください。
DNS A レコードを作成する
-
privatelink.azuredatabricks.netプライベート DNS ゾーンに移動します。 - [DNS 管理] の [レコードセット ] タブを選択します。
- [ 追加] をクリックしてレコード セットを追加します。
- A レコードを構成します。
-
Name:
<region>.service-direct(<region>を Azure リージョンに置き換えます (例:westus2.service-direct) - 型: A
- IP アドレス: プライベート エンドポイントからのプライベート IP アドレス (プライベート エンドポイントの作成時に記録されます)
-
Name:
- [ OK] を クリックしてレコードを保存します。
DNS 解決を確認する
VNet 内のマシンまたはプライベート DNS ゾーンに接続されているワークスペース ジョブから、DNS クエリがプライベート エンドポイント IP に解決されることを確認します。
nslookup westus2.service-direct.privatelink.azuredatabricks.net
または、 digを使用します。
dig westus2.service-direct.privatelink.azuredatabricks.net
どちらのコマンドも、プライベート エンドポイントのプライベート IP アドレスを返します。
VNet 接続を確認する
トラフィックを生成する VNet がプライベート エンドポイントをホストしている VNet と異なる場合は、それらの間の VNet ピアリングまたは接続を構成します。 詳細なガイダンスについては、「Azureプライベート エンドポイント DNS 統合シナリオ」を参照してください。
Azureポータルでパブリックアクセスを無効にする(オプション)
Azure Databricksは、コンテキストベースのイングレスでワークスペースへのパブリックアクセスを無効化することを推奨しており、これは「Allowlist your private endpoint to workspaces with context-based ingress」で説明されています。 ただし、Azureポータルでパブリックアクセスを無効にすることも可能です。 Private Linkセットアップを完了しても、ワークスペースへのパブリック インターネット アクセスは自動的にブロックされません。 パブリック アクセスとプライベート アクセスは独立した設定です。 プライベートのみの接続を適用するには、パブリック ネットワーク アクセスを無効にします。
- Azure ポータルで、Azure Databricks ワークスペース リソースに移動します。
- [ 設定] で、[ パブリック ネットワーク アクセスの許可 ] を [無効] に設定します。
制限事項
- 各アカウントは、リージョンあたりのパフォーマンス集中型サービスの場合は 5 つのプライベート エンドポイントに制限され、アカウントあたり 100 個に制限されています。 クォータの引き上げについては、Azure Databricks アカウント チームにお問い合わせください。
その他のリソース
Azure 仮想ネットワーク (VNet インジェクション) - ワークスペース用のInbound Private Linkの設定
- Azure Databricks サービスと資産の IP アドレスとドメイン