このページでは、Azure Databricks アカウント コンソール UI を使用して、サーバーレス コンピューティング用の Azure ストレージ ファイアウォールを構成する方法について説明します。 ネットワーク接続構成 API を使用することもできます。
サーバーレス コンピューティング アクセス用にプライベート エンドポイントを構成するには、「 Azure リソースへのプライベート接続を構成する」を参照してください。
重要
2024 年 12 月 4 日より、Azure Databricks は、お客様のリソースに接続するサーバーレス ワークロードに関連するネットワーク コストの課金を開始しました。 現在、リソースに対する 1 時間あたりのプライベート エンドポイント料金が課金されます。 Private Link 接続のデータ処理料金は無期限に免除されます。 その他のネットワーク コストに対する課金は、次を含め、段階的にロールアウトされます。
- NAT ゲートウェイ経由など、リソースへのパブリック接続。
- サーバーレス コンピューティングとターゲット リソースが異なるリージョンに存在する場合など、データ転送料金。
料金はさかのぼって適用されません。
Databricks のサーバーレス ネットワーク コストの概要を参照してください。
サーバーレス コンピューティング用のファイアウォールの有効化の概要
サーバーレス ネットワーク接続は、ネットワーク接続構成 (NCC) を使って管理されます。 アカウント管理者はアカウント コンソールで NCC を作成し、NCC を 1 つ以上のワークスペースにアタッチできます。 NCC は、プライベート エンドポイントの作成とファイアウォールの有効化を大規模に管理するために使用されるアカウント レベルのリージョンコンストラクトです。
NCC は、Azure リソースのネットワーク ID を既定の規則として定義します。 NCC がワークスペースにアタッチされている場合、そのワークスペース内のサーバーレス コンピューティングでは、これらのネットワークのいずれかを使用して Azure リソースに接続します。 これらのネットワークは、Azure リソース ファイアウォールで許可リストに登録できます。 ストレージ以外の Azure リソース ファイアウォールについては、アカウント チームに問い合わせて、安定した NAT IP の使用について確認してください。
NCC ファイアウォールの有効化は、サーバーレス SQL ウェアハウス、ジョブ、ノートブック、Lakeflow 宣言パイプライン、およびエンドポイントを提供するモデルからサポートされます。
サーバーレス コンピューティングを含む、承認されたネットワークへのワークスペース ストレージ アカウントのアクセスを制限することもできます。 NCC がアタッチされると、ネットワーク ルールがワークスペース ストレージ アカウントに自動的に追加されます。 ワークスペース ストレージ アカウントのファイアウォールサポートを有効にするを参照してください。
NCC の詳細については、「 ネットワーク接続構成 (NCC) とは」を参照してください。
リージョン間ストレージ アクセスのコストへの影響
ファイアウォールは、Azure リソースが Azure Databricks ワークスペースと同じリージョンにある場合にのみ適用されます。 Azure Databricks サーバーレス コンピューティングからのリージョン間トラフィックの場合 (たとえば、ワークスペースが米国東部リージョンで、ADLS ストレージが西ヨーロッパ)、Azure Databricks は Azure NAT Gateway サービスを介してトラフィックをルーティングします。
必要条件
- ワークスペースは Premium プランに含まれている必要があります。
- Azure Databricks のアカウント管理者である必要があります。
- 各 NCC は、最大 50 個のワークスペースにアタッチできます。
- 各 Azure Databricks アカウントは、リージョンごとに最大 10 個の NCC を持つことができます。 NCC は、構成ごとに個別の IP ブロックではなく、共有の安定した IP CIDR ブロックを提供し、これらの IP 範囲はリージョン固有です。 サポートされているリージョンの一覧については、 Azure Databricks リージョンに関するページを参照してください。
- Azure ストレージ アカウントのネットワーク 規則に
WRITE
アクセスできる必要があります。
手順 1: ネットワーク接続構成を作成して、サブネット ID をコピーする
Databricks では、同じ部署内のワークスペース間、および同じリージョンと接続プロパティを共有するワークスペース間では、NCC を共有することが推奨されています。 たとえば、一部のワークスペースでストレージ ファイアウォールを使用し、他のワークスペースで Private Link の代替アプローチを使用する場合は、それらのユース ケースに個別の NCC を使用します。
- アカウント管理者として、アカウント コンソールに移動します。
- サイドバーで、[ クラウド リソース] をクリックします。
- [ ネットワーク接続の構成] をクリックします。
- [ ネットワーク接続構成の追加] をクリックします。
- NCC の名前を入力します。
- リージョンを選択します。 これは、お使いのワークスペース リージョンと一致している必要があります。
- [ 追加] をクリックします。
- NCC の一覧で、新しい NCC をクリックします。
- [ 既定のルール] の [ ネットワーク ID] で、[ すべて表示] をクリックします。
- ダイアログで、[ サブネットのコピー ] ボタンをクリックします。
手順 2: NCC をワークスペースにアタッチする
1 つの NCC を、NCC と同じリージョン内の最大 50 個のワークスペースにアタッチできます。
API を使用して NCC をワークスペースにアタッチするには、 アカウント ワークスペース API を参照してください。
- アカウント コンソールのサイドバーで、[ ワークスペース] をクリックします。
- ワークスペースの名前をクリックします。
- [ ワークスペースの更新] をクリックします。
- [ ネットワーク接続の構成] フィールドで、NCC を選択します。 表示されない場合は、ワークスペースと NCC の両方に同じリージョンが選択されていることを確認します。
- [ 更新] をクリックします。
- 変更が有効になるまで 10 分待ちます。
- ワークスペースで実行中のサーバーレス コンピューティング リソースをすべて再起動します。
この機能を使用してワークスペース ストレージ アカウントに接続している場合、構成は完了です。 ネットワーク ルールは、ワークスペース ストレージ アカウントに自動的に追加されます。 追加のストレージ アカウントについては、次の手順に進みます。
ステップ 3: ストレージ アカウントをロック ダウンする
Azure ストレージ アカウントへのアクセスを許可リストのネットワークのみに制限していない場合は、ここで行います。 ワークスペース ストレージ アカウントに対してこの手順を実行する必要はありません。
ストレージ ファイアウォールを作成すると、クラシック コンピューティング プレーンからリソースへの接続にも影響があります。 また、クラシック コンピューティング リソースからストレージ アカウントに接続するためのネットワーク ルールを追加する必要があります。
- Azure ポータルにアクセスします。
- データ ソースのストレージ アカウントに移動します。
- 左側のナビゲーションで、[ ネットワーク] をクリックします。
- [ パブリック ネットワーク アクセス] フィールドで、値を確認します。 既定では、 値はすべてのネットワークから有効になっています。 これを 選択した仮想ネットワークと IP アドレスから有効に変更します。
ステップ 4: Azure ストレージ アカウントのネットワーク規則を追加する
ワークスペース ストレージ アカウントに対してこの手順を実行する必要はありません。
テキスト エディターで、次のスクリプトをコピーして貼り付け、パラメーターを Azure アカウントの値に置き換えます。
# Define parameters $subscription = `<YOUR_SUBSCRIPTION_ID>` # Replace with your Azure subscription ID or name $resourceGroup = `<YOUR_RESOURCE_GROUP>` # Replace with your Azure resource group name $accountName = `<YOUR_STORAGE_ACCOUNT_NAME>` # Replace with your Azure storage account name $subnets = `<SUBNET_NAME_1>` # Replace with your actual subnet names # Add network rules for each subnet foreach ($subnet in $subnets) { az storage account network-rule add --subscription $subscription ` --resource-group $resourceGroup ` --account-name $accountName ` --subnet $subnet }
Azure Cloud Shell を起動してください。
Azure Cloud Shell でエディターを使用して、
.ps1
拡張子で終わる新しいファイルを作成します。vi ncc.ps1
手順 1 のスクリプトをエディターに貼り付け、
Esc
キーを押し、「:wq
」と入力して、Enter
キーを押します。次のコマンドを実行してスクリプトを実行します。
./ncc.ps1
すべてのコマンドを実行した後、Azure portal を使用してストレージ アカウントを 表示 し、新しいサブネットを表すエントリが Virtual Networks テーブルにあることを確認できます。
ヒント
- ストレージ アカウントのネットワーク 規則を追加する場合は、 Network Connectivity API を使用して最新のサブネットを取得します。
- NCC 情報をローカルに格納しないでください。
- エンドポイント状態列の "アクセス許可が不十分です" という表示や、ネットワーク一覧の下の警告は無視します。 これらは、ユーザーが Azure Databricks サブネットを読み取るためのアクセス許可を持っていないことを示しているだけであり、その Azure Databricks サーバーレス サブネットが Azure Storage に接続する機能を妨げるものではありません。
ストレージ アカウントが Azure portal からこれらの設定を使用していることを確認するには、ストレージ アカウントの [ネットワーク ] に移動します。 パブリック ネットワーク アクセス が 選択した仮想ネットワークと IP アドレスから有効 に設定され、許可されたネットワークが 仮想ネットワーク セクションにリストされていることを確認します。