サーバーレス コンピューティング アクセス用のファイアウォールを構成する
この記事では、Azure Databricks アカウント コンソール UI を使用して、サーバーレス コンピューティング用の Azure ストレージ ファイアウォールを構成する方法について説明します。 Network Connectivity Configurations API を使うこともできます。
サーバーレス コンピューティング アクセス用のプライベート エンドポイントの構成については、「サーバーレス コンピューティングからのプライベート接続を構成する」をご覧ください。
重要
2024 年 12 月 4 日から、Databricks は、外部リソースに接続するサーバーレス ワークロードのネットワーク コストの課金を開始します。 課金は段階的に実施され、2024 年 12 月 4 日以降は課金されない場合があります。 課金が有効になる前に、使用量に対してさかのぼって課金されることはありません。 課金が有効になると、次の料金が発生する場合があります。
- Private Link 経由でのリソースへのプライベート接続。 Private Link 経由でのリソースへのプライベート接続に対するデータ処理料金は無期限に免除されます。 時間単位の料金が適用されます。
- NAT ゲートウェイ経由のリソースへのパブリック接続。
- サーバーレス コンピューティングとターゲット リソースが異なるリージョンにある場合など、発生するデータ転送料金。
サーバーレス コンピューティング用のファイアウォールの有効化の概要
サーバーレス ネットワーク接続は、ネットワーク接続構成 (NCC) を使って管理されます。 アカウント管理者はアカウント コンソールで NCC を作成し、NCC は 1 つ以上のワークスペースにアタッチできます
NCC には、既定の規則として Azure リソースの種類に対するネットワーク ID の一覧が含まれています。 NCC がワークスペースに接続されている場合、そのワークスペース内のサーバーレス コンピューティングは、それらのネットワークのいずれかを使用して Azure リソースに接続します。 Azure リソース ファイアウォールでそれらのネットワークを許可リストに載せることができます。 ストレージ以外の Azure リソース ファイアウォールを使用している場合は、Azure Databricks の安定した NAT IP の使用方法について、アカウント チームにお問い合わせください。
NCC ファイアウォールの有効化は、サーバーレス SQL ウェアハウス、ジョブ、ノートブック、Delta Live Tables パイプライン、およびエンドポイントを提供するモデルからサポートされます。
必要に応じて、サーバーレス コンピューティングを含む承認されたネットワークからのみ、ワークスペース ストレージ アカウントへのネットワーク アクセスを構成できます。 「ワークスペース ストレージ アカウントのファイアウォール サポートを有効にする」を参照してください。 NCC がワークスペースにアタッチされると、ネットワーク ルールはワークスペース ストレージ アカウントの Azure ストレージ アカウントに自動的に追加されます。
NCC の詳細については、「ネットワーク接続構成 (NCC) とは?」を参照してください。
リージョン間ストレージ アクセスのコストへの影響
ファイアウォールは、Azure リソースが Azure Databricks ワークスペースと同じリージョンにある場合にのみ適用されます。 Azure Databricks サーバーレス コンピューティングからのリージョン間トラフィックの場合 (たとえば、ワークスペースが米国東部リージョンで、ADLS ストレージが西ヨーロッパ)、Azure Databricks は Azure NAT Gateway サービスを介してトラフィックをルーティングします。
要件
ワークスペースは Premium プランに配置されている必要があります。
Azure Databricks のアカウント管理者である必要があります。
各 NCC は、最大 50 個のワークスペースにアタッチできます。
各 Azure Databricks アカウントは、リージョンごとに最大 10 個の NCC を持つことができます。
Azure ストレージ アカウントのネットワーク規則への
WRITE
アクセス権を持っている必要があります。
手順 1: ネットワーク接続構成を作成して、サブネット ID をコピーする
Databricks では、同じ部署内のワークスペース間、および同じリージョンと接続プロパティを共有するワークスペース間では、NCC を共有することが推奨されています。 たとえば、一部のワークスペースでストレージ ファイアウォールが使われ、他のワークスペースで Private Link の代替アプローチが使われている場合、それらのユース ケースでは個別の NCC を使います。
- アカウント管理者として、アカウント コンソールに移動します。
- サイドバーの [クラウド リソース] をクリックします。
- [ネットワーク接続の構成] をクリックします。
- [ネットワーク接続構成の追加] をクリックします。
- NCC の名前を入力します。
- リージョンを選択します。 これは、お使いのワークスペース リージョンと一致している必要があります。
- [追加] をクリックします。
- NCC の一覧で、新しい NCC をクリックします。
- [Network identities] (ネットワーク ID) の [既定の規則] で、[すべて表示] をクリックします。
- ダイアログで、[サブネットのコピー] ボタンをクリックします。
- [閉じる] をクリックします。
手順 2: NCC をワークスペースにアタッチする
1 つの NCC を、NCC と同じリージョン内の最大 50 個のワークスペースにアタッチできます。
API を使って NCC をワークスペースにアタッチするには、Account Workspaces API に関するページをご覧ください。
- アカウント コンソールのサイドバーの [ワークスペース] をクリックします。
- ワークスペースの名前をクリックします。
- [Update workspace] (ワークスペースの更新) をクリックします。
- Network Connectivity Configuration フィールドで、NCC を選択します。 表示されない場合は、ワークスペースと NCC の両方で同じリージョンを選択したことを確認します。
- [Update] をクリックします。
- 変更が有効になるまで 10 分待ちます。
- ワークスペースで実行中のサーバーレス コンピューティング リソースをすべて再起動します。
この機能を使用してワークスペース ストレージ アカウントに接続している場合、構成は完了です。 ネットワーク ルールは、ワークスペース ストレージ アカウントに自動的に追加されます。 追加のストレージ アカウントについては、次の手順に進みます。
ステップ 3: ストレージ アカウントをロック ダウンする
Azure ストレージ アカウントへのアクセスを許可リストのネットワークのみにまだ制限していない場合は、ここでそれを行います。 ワークスペース ストレージ アカウントに対してこの手順を実行する必要はありません。
ストレージ ファイアウォールを作成すると、クラシック コンピューティング プレーンからリソースへの接続にも影響があります。 また、クラシック コンピューティング リソースからストレージ アカウントに接続するためのネットワーク ルールを追加する必要があります。
- Azure ポータルにアクセスします。
- データ ソースのストレージ アカウントに移動します。
- 左側のナビゲーションで、[ネットワーク] をクリックします。
- [パブリック ネットワーク アクセス] フィールドで、値を確認します。 既定の値は [すべてのネットワークから有効] です。 これを [Enabled from selected virtual networks and IP addresses] (選択した仮想ネットワークと IP アドレスから有効にする) に変更します。
ステップ 4: Azure ストレージ アカウントのネットワーク規則を追加する
ワークスペース ストレージ アカウントに対してこの手順を実行する必要はありません。
サブネットごとに 1 つの Azure ストレージ アカウント ネットワーク規則を追加します。 これは、Azure CLI、PowerShell、Terraform、または他の自動化ツールを使って行うことができます。 このステップは Azure portal のユーザー インターフェイスでは行えないことに注意してください。
次の例では、Azure CLI を使用しています。
az storage account network-rule add --subscription "<sub>" \ --resource-group "<res>" --account-name "<account>" --subnet "<subnet>"
<sub>
の実際の Azure サブスクリプションストレージ アカウントの名前に置換してください。<res>
をお使いのストレージ アカウントのリソース グループに置き換えます。<account>
をストレージ アカウントの名前に置換します。<subnet>
を、サーバーレス コンピューティング サブネットの ARM リソース ID (resourceId
) に置換します。
すべてのコマンドを実行した後、Azure portal を使ってストレージ アカウントを "表示" し、新しいサブネットを表すエントリが [仮想ネットワーク] テーブルにあることを確認します。 ただし、Azure portal でネットワーク規則を変更することはできません。
ヒント
- ストレージ アカウント ネットワークルールを追加する場合は、Network Connectivity API を使用して最新のサブネットを取得します。
- NCC 情報をローカルに格納しないでください。
- エンドポイント状態列の "アクセス許可が不十分です" という表示や、ネットワーク一覧の下の警告は無視します。 これらは、ユーザーが Azure Databricks サブネットを読み取るためのアクセス許可を持っていないことを示しているだけであり、その Azure Databricks サーバーレス サブネットが Azure Storage に接続する機能を妨げるものではありません。
サブネットごとにこのコマンドを 1 回繰り返します。
お使いのストレージ アカウントで Azure portal のこれらの設定が使われていることを確認するには、ストレージ アカウントで [ネットワーク] に移動します。
[パブリック ネットワーク アクセス] が [Enabled from selected virtual networks and IP addresses] (選択した仮想ネットワークと IP アドレスから有効にする) に設定されていて、許可するネットワークが [仮想ネットワーク] セクションの一覧に表示されていることを確認します。