サーバーレス コンピューティング アクセス用のファイアウォールを構成する
この記事では、Azure Databricks アカウント コンソール UI を使用して、サーバーレス コンピューティング用の Azure ストレージ ファイアウォールを構成する方法について説明します。 Network Connectivity Configurations API を使うこともできます。
サーバーレス コンピューティング アクセス用のプライベート エンドポイントの構成については、「サーバーレス コンピューティングからのプライベート接続を構成する」をご覧ください。
重要
2024 年 12 月 4 日より、Azure Databricks は、お客様のリソースに接続するサーバーレス ワークロードに関連するネットワーク コストの課金を開始しました。 現在、リソースに対する 1 時間あたりのプライベート エンドポイント料金が課金されます。 Private Link 接続のデータ処理料金は無期限に免除されます。 その他のネットワーク コストに対する課金は、次を含め、段階的にロールアウトされます。
- NAT ゲートウェイ経由など、リソースへのパブリック接続。
- サーバーレス コンピューティングとターゲット リソースが異なるリージョンに存在する場合など、データ転送料金。
料金はさかのぼって適用されません。
サーバーレス コンピューティング用のファイアウォールの有効化の概要
サーバーレス ネットワーク接続は、ネットワーク接続構成 (NCC) を使って管理されます。 アカウント管理者はアカウント コンソールで NCC を作成し、NCC は 1 つ以上のワークスペースにアタッチできます
NCC には、既定の規則として Azure リソースの種類に対するネットワーク ID の一覧が含まれています。 NCC がワークスペースに接続されている場合、そのワークスペース内のサーバーレス コンピューティングは、それらのネットワークのいずれかを使用して Azure リソースに接続します。 Azure リソース ファイアウォールでそれらのネットワークを許可リストに載せることができます。 ストレージ以外の Azure リソース ファイアウォールを使用している場合は、Azure Databricks の安定した NAT IP の使用方法について、アカウント チームにお問い合わせください。
NCC ファイアウォールの有効化は、サーバーレス SQL ウェアハウス、ジョブ、ノートブック、DLT パイプライン、およびエンドポイントを提供するモデルからサポートされます。
必要に応じて、サーバーレス コンピューティングを含む承認されたネットワークからのみ、ワークスペース ストレージ アカウントへのネットワーク アクセスを構成できます。 「ワークスペース ストレージ アカウントのファイアウォール サポートを有効にする」を参照してください。 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>"
- Azure Storage アカウントに対応するサブスクリプションの名前で
<sub>
を置き換えてください。 <res>
をお使いのストレージ アカウントのリソース グループに置き換えます。<account>
をストレージ アカウントの名前に置換します。<subnet>
を、サーバーレス コンピューティング サブネットの ARM リソース ID (resourceId
) に置換します。
すべてのコマンドを実行した後、Azure portal を使ってストレージ アカウントを "表示" し、新しいサブネットを表すエントリが [仮想ネットワーク] テーブルにあることを確認します。 ただし、Azure portal でネットワーク規則を変更することはできません。
ヒント
- ストレージ アカウント ネットワークルールを追加する場合は、Network Connectivity API を使用して最新のサブネットを取得します。
- NCC 情報をローカルに格納しないでください。
- エンドポイント状態列の "アクセス許可が不十分です" という表示や、ネットワーク一覧の下の警告は無視します。 これらは、ユーザーが Azure Databricks サブネットを読み取るためのアクセス許可を持っていないことを示しているだけであり、その Azure Databricks サーバーレス サブネットが Azure Storage に接続する機能を妨げるものではありません。
- Azure Storage アカウントに対応するサブスクリプションの名前で
サブネットごとにこのコマンドを 1 回繰り返します。
お使いのストレージ アカウントで Azure portal のこれらの設定が使われていることを確認するには、ストレージ アカウントで [ネットワーク] に移動します。
[パブリック ネットワーク アクセス] が [Enabled from selected virtual networks and IP addresses] (選択した仮想ネットワークと IP アドレスから有効にする) に設定されていて、許可するネットワークが [仮想ネットワーク] セクションの一覧に表示されていることを確認します。