この記事では、Azure Databricks アカウント コンソール UI を使用して、サーバーレス コンピューティングからプライベート接続を構成する方法について説明します。 ネットワーク接続構成 API を使用することもできます。
プライベート エンドポイントからの接続のみを受け入れるように Azure リソースを構成する場合は、クラシック Databricks コンピューティング リソースからリソースへの接続でもプライベート エンドポイントを使用する必要があります。
サブネットを使用してサーバーレス コンピューティング アクセス用に Azure Storage ファイアウォールを構成するには、「サーバーレス コンピューティング アクセス用のファイアウォールを構成する」を参照してください。 既存のプライベート エンドポイントルールを管理するには、「 プライベート エンドポイントルールの管理を参照してください。
注
Azure Databricks は、サーバーレス ワークロードがお客様のリソースに接続する場合のネットワーク コストに対して課金されます。 Databricks のサーバーレス ネットワーク コストの概要を参照してください。
サーバーレス コンピューティングのプライベート接続の概要
サーバーレス ネットワーク接続は、ネットワーク接続構成 (NCC) を使って管理されます。 アカウント管理者はアカウント コンソールで NCC を作成し、NCC は 1 つ以上のワークスペースにアタッチできます
NCC 内にプライベート エンドポイントを追加すると、Azure Databricks によって Azure リソースへのプライベート エンドポイント要求が作成されます。 リソース側で要求が受け入れられると、プライベート エンドポイントは、サーバーレス コンピューティング プレーンからリソースにアクセスするために使用されます。 プライベート エンドポイントはユーザーの Azure Databricks アカウント専用であり、認可されたワークスペースからのみアクセスできます。
NCC プライベート エンドポイントは、SQL ウェアハウス、ジョブ、ノートブック、Lakeflow 宣言パイプライン、およびモデル サービス エンドポイントからサポートされます。
注
NCC プライベート エンドポイントは、管理するデータ ソースに対してのみサポートされます。 ワークスペース ストレージ アカウントへの接続については、Azure Databricks アカウント チームにお問い合わせください。
モデル サービスでは、Azure BLOB ストレージ パスを使用してモデル成果物をダウンロードするため、サブリソース ID BLOB のプライベート エンドポイントを作成します。 サーバーレス ノートブックから Unity カタログのモデルをログに記録するには、DFS が必要です。
NCC の詳細については、「ネットワーク接続構成 (NCC) とは?」を参照してください。
要件
- アカウントとワークスペースは Premium プランに含まれている必要があります。
- Azure Databricks のアカウント管理者である必要があります。
- 各 Azure Databricks アカウントは、リージョンごとに最大 10 個の NCC を持つことができます。
- 各リージョンには 100 個のプライベート エンドポイントを設定でき、必要に応じて 1 から 10 個の NCC に分散できます。
- 各 NCC は、最大 50 個のワークスペースにアタッチできます。
手順 1: ネットワーク接続構成を作成する
Databricks では、同じ部署内で同じリージョン接続プロパティを共有するワークスペース間では、NCC を共有することを推奨しています。 たとえば、一部のワークスペースが Private Link を使い、他のワークスペースはファイアウォールの有効化を使う場合、それらのユース ケースには個別の NCC を使います。
- アカウント管理者として、アカウント コンソールに移動します。
- サイドバーで[ セキュリティ]をクリックします。
- [ ネットワーク接続の構成] をクリックします。
- [ ネットワーク構成の追加] をクリックします。
- NCC の名前を入力します。
- リージョンを選択します。 これは、お使いのワークスペース リージョンと一致している必要があります。
- [追加] をクリックします。
手順 2: NCC をワークスペースにアタッチする
- アカウント コンソールのサイドバーの [ワークスペース] をクリックします。
- ワークスペースの名前をクリックします。
- [Update workspace] (ワークスペースの更新) をクリックします。
- [ ネットワーク接続構成 ] フィールドで、NCC を選択します。 表示されない場合は、ワークスペースと NCC の両方に同じ Azure リージョンが選択されていることを確認します。
- [Update] をクリックします。
- 変更が有効になるまで 10 分待ちます。
- ワークスペースで実行中のサーバーレス サービスをすべて再起動します。
ステップ 3: プライベート エンドポイント規則を作成する
各 Azure リソースの NCC にプライベート エンドポイント規則を作成する必要があります。
- すべての接続先の Azure リソース ID の一覧を取得します。
- 別のブラウザー タブで、Azure portal を使用してデータ ソースの Azure サービスに移動します。
- その [概要] ページで、[Essentials] セクションを確認します。
- [JSON ビュー] リンクをクリックします。 サービスのリソース ID がページの上部に表示されます。
- そのリソース ID を別の場所にコピーします。 すべての接続先に対して繰り返します。 リソース ID の検索の詳細については、「 Azure プライベート エンドポイントのプライベート DNS ゾーン値を参照してください。
- アカウント コンソールのブラウザー タブに戻ります。
- サイドバーで[ セキュリティ]をクリックします。
- [ ネットワーク接続の構成] をクリックします。
- 手順 1 で作成した NCC を選びます。
- [Private endpoint rules] (プライベート エンドポイント規則) で、[Add private endpoint rule] (プライベート エンドポイント規則の追加) をクリックします。
- [Destination Azure resource ID] (接続先の Azure リソース ID) フィールドに、リソースのリソース ID を貼り付けます。
- Azure サブリソース ID フィールドで、宛先 ID とサブリソースの種類を指定します。 各プライベート エンドポイント規則では、異なるサブ リソース ID を使う必要があります。 サポートされているサブリソースの種類の一覧については、「 サポートされているリソース」を参照してください。
- [追加] をクリックします。
- すべてのエンドポイント規則の状態が
PENDINGになるまで数分待ちます。
ステップ 4: リソースで新しいプライベート エンドポイントを承認する
エンドポイントは、リソースに対する権限を持つ管理者が新しいプライベート エンドポイントを承認するまで有効になりません。 Azure portal を使ってプライベート エンドポイントを承認するには、以下の操作を実行します。
Azure portal で、リソースに移動します。
サイドバーで [ネットワーク] をクリックします。
[プライベート エンドポイント接続] をクリックします。
[プライベート アクセス] タブをクリックします。
[プライベート エンドポイントの接続] で、プライベート エンドポイントの一覧を確認します。
承認するものの横にある各チェックボックスをオンにして、一覧の上の [承認] ボタンをクリックします。
Azure Databricks でお使いの NCC に戻り、すべてのエンドポイント規則の状態が
ESTABLISHEDになるまでブラウザー ページを更新します。
(省略可能)手順 5: パブリック ネットワーク アクセスを禁止するようにリソースを設定する
許可リストのネットワークのみにリソースへのアクセスを制限していない場合は、これを選択できます。
- Azure portal に移動します。
- データ ソースのストレージ アカウントに移動します。
- サイドバーで [ネットワーク] をクリックします。
- [パブリック ネットワーク アクセス] フィールドで、値を確認します。 既定の値は [すべてのネットワークから有効] です。 これを [無効] に変更します
Azure App Gateway v2 への Private Link の構成
Azure App Gateway v2 リソースへの Private Link を構成する場合は、アカウント コンソール UI ではなくネットワーク接続構成 REST API を使用する必要があります。 Azure App Gateway v2 には、リソース ID、グループ ID、ドメイン名などの追加の構成パラメーターが必要です。
- 次の API 呼び出しを使用して、ドメイン名の構成を使用してプライベート エンドポイント規則を作成します。
curl --___location 'https://accounts.azuredatabricks.net/api/2.0/accounts/<ACCOUNT_ID>/network-connectivity-configs/<NCC_ID>/private-endpoint-rules' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <TOKEN>' \ --data '{ "domain_names": [ "<YOUR_DOMAIN_HERE>" ], "resource_id": "<YOUR_APP_GATEWAY_RESOURCE_ID_HERE>", "group_id": "<GROUP_ID>" }' - 既存のプライベート エンドポイント規則のドメイン名を変更する必要がある場合は、次の PATCH 要求を使用します。
curl --___location --request PATCH 'https://accounts.azuredatabricks.net/api/2.0/accounts/<ACCOUNT_ID>/network-connectivity-configs/<NCC_ID>/private-endpoint-rules/<PRIVATE_ENDPOINT_RULE_ID>?update_mask=domain_names' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <TOKEN>' \ --data '{ "domain_names": [ "<YOUR_DOMAIN_HERE>" ] }' - App Gateway のプライベート エンドポイント 規則を一覧表示、表示、または削除するには、ネットワーク接続構成 API に記載されている標準的な Network Connectivity Configurations API 操作を使用します。
手順 7: サーバーレス コンピューティング プレーン リソースを再起動し、接続をテストする
- 前のステップの後、変更が反映されるまでさらに 5 分間待ちます。
- NCC がアタッチされているワークスペースで、実行中のサーバーレス コンピューティング プレーン リソースを再起動します。 実行中のサーバーレス コンピューティング プレーン リソースがない場合は、今すぐ開始します。
- すべてのリソースが正常に起動することを確認します。
- データ ソースに対して少なくとも 1 つのクエリを実行し、サーバーレス SQL ウェアハウスがデータ ソースに到達できることを確認します。
次は何ですか
- プライベート エンドポイント ルールの管理: リソース ID の更新や接続状態の管理など、既存のプライベート エンドポイント構成を制御および変更します。 プライベート エンドポイント ルールを管理するを参照してください。
- サーバーレス コンピューティング アクセス用にファイアウォールを構成する: プライベート エンドポイントではなくサブネットを使用して Azure サービスへのアクセスを制御するネットワーク ファイアウォール規則を設定します。 「サーバーレス コンピューティング アクセス用のファイアウォールの構成」を参照してください。
- ネットワーク ポリシーの構成: サーバーレス コンピューティング接続を制御するための追加のネットワーク セキュリティ制御とポリシーを実装します。 サーバーレス エグレス制御 を参照してください。.
- サーバーレス ネットワーク セキュリティについて: サーバーレス コンピューティング環境で使用できる、より広範なネットワーク セキュリティ アーキテクチャとオプションについて説明します。 「サーバーレス コンピューティング プレーン ネットワーク」を参照してください。