サーバーレス コンピューティング アクセス用のファイアウォールを構成する

Note

2023 年 10 月 31 日より前に Azure Databricks のドキュメントのサブネット ID を使ってストレージ ファイアウォールを構成した場合は、この記事の手順のようにして、またはプライベート エンドポイントを使って、ワークスペースを更新することをお勧めします。 既存のワークスペースを更新しない場合は、変更なしで引き続き動作します。

この記事では、Azure Databricks アカウント コンソール UI を使用して、サーバーレス コンピューティング用の Azure ストレージ ファイアウォールを構成する方法について説明します。 Network Connectivity Configurations API を使うこともできます。

サーバーレス コンピューティング アクセス用のプライベート エンドポイントの構成については、「サーバーレス コンピューティングからのプライベート接続を構成する」をご覧ください。

Note

現状では、サーバーレス機能ではネットワーク料金は発生しません。 今後のリリースでは課金対象になる可能性があります。 ネットワーク料金が変更される場合、Azure Databricks では事前に通知します。

サーバーレス コンピューティング用のファイアウォールの有効化の概要

サーバーレス ネットワーク接続は、ネットワーク接続構成 (NCC) を使って管理されます。 アカウント管理者はアカウント コンソールで NCC を作成し、NCC は 1 つ以上のワークスペースにアタッチできます

NCC には、既定の規則として Azure リソースの種類に対するネットワーク ID の一覧が含まれています。 NCC がワークスペースに接続されている場合、そのワークスペース内のサーバーレス コンピューティングは、それらのネットワークのいずれかを使用して Azure リソースに接続します。 Azure リソース ファイアウォールでそれらのネットワークを許可リストに載せることができます。 ストレージ以外の Azure リソース ファイアウォールを使用している場合は、Azure Databricks の安定した NAT IP の使用方法について、アカウント チームにお問い合わせください。

NCC ファイアウォールは、サーバーレス SQL ウェアハウス、ワークフロー、ノートブック、Delta Live Tables パイプライン、モデルにサービスを提供する CPU エンドポイントから有効にできます。

必要に応じて、サーバーレス コンピューティングを含む承認されたネットワークからのみ、ワークスペース ストレージ アカウントへのネットワーク アクセスを構成できます。 「ワークスペース ストレージ アカウントのファイアウォール サポートを有効にする」を参照してください。 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 を使います。

  1. アカウント管理者として、アカウント コンソールに移動します。
  2. サイドバーの [クラウド リソース] をクリックします。
  3. [ネットワーク接続の構成] をクリックします。
  4. [ネットワーク接続構成の追加] をクリックします。
  5. NCC の名前を入力します。
  6. リージョンを選択します。 これは、お使いのワークスペース リージョンと一致している必要があります。
  7. [追加] をクリックします。
  8. NCC の一覧で、新しい NCC をクリックします。
  9. [Network identities] (ネットワーク ID)[既定の規則] で、[すべて表示] をクリックします。
  10. ダイアログで、[サブネットのコピー] ボタンをクリックします。
  11. [閉じる] をクリックします。

手順 2: NCC をワークスペースにアタッチする

1 つの NCC を、NCC と同じリージョン内の最大 50 個のワークスペースにアタッチできます。

API を使って NCC をワークスペースにアタッチするには、Account Workspaces API に関するページをご覧ください。

  1. アカウント コンソールのサイドバーの [ワークスペース] をクリックします。
  2. ワークスペースの名前をクリックします。
  3. [Update workspace] (ワークスペースの更新) をクリックします。
  4. [Network Connectivity Config] (ネットワーク接続の構成) フィールドで、NCC を選びます。 表示されない場合は、ワークスペースと NCC の両方で同じリージョンを選択したことを確認します。
  5. [Update] をクリックします。
  6. 変更が有効になるまで 10 分待ちます。
  7. ワークスペースで実行中のサーバーレス コンピューティング リソースをすべて再起動します。

この機能を使用してワークスペース ストレージ アカウントに接続している場合、構成は完了です。 ネットワーク ルールは、ワークスペース ストレージ アカウントに自動的に追加されます。 追加のストレージ アカウントについては、次の手順に進みます。

ステップ 3: ストレージ アカウントをロック ダウンする

Azure ストレージ アカウントへのアクセスを許可リストのネットワークのみにまだ制限していない場合は、ここでそれを行います。 ワークスペース ストレージ アカウントに対してこの手順を実行する必要はありません。

ストレージ ファイアウォールを作成すると、クラシック コンピューティング プレーンからリソースへの接続にも影響があります。 また、クラシック コンピューティング リソースからストレージ アカウントに接続するためのネットワーク ルールを追加する必要があります。

  1. Azure ポータルにアクセスします。
  2. データ ソースのストレージ アカウントに移動します。
  3. 左側のナビゲーションで、[ネットワーク] をクリックします。
  4. [パブリック ネットワーク アクセス] フィールドで、値を確認します。 既定の値は [すべてのネットワークから有効] です。 これを [Enabled from selected virtual networks and IP addresses] (選択した仮想ネットワークと IP アドレスから有効にする) に変更します。

ステップ 4: Azure ストレージ アカウントのネットワーク規則を追加する

ワークスペース ストレージ アカウントに対してこの手順を実行する必要はありません。

  1. サブネットごとに 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 でネットワーク規則を変更することはできません。

    ヒント

    • NCC の最新情報を使用して、正しいネットワーク リソースのセットを構成していることを確認します。
    • NCC 情報をローカルに格納しないでください。
    • エンドポイント状態列の "アクセス許可が不十分です" という表示や、ネットワーク一覧の下の警告は無視します。 これらは、ユーザーが Azure Databricks サブネットを読み取るためのアクセス許可を持っていないことを示しているだけであり、その Azure Databricks サーバーレス サブネットが Azure Storage に接続する機能を妨げるものではありません。

    仮想ネットワーク リストの新しいエントリの例

  2. サブネットごとにこのコマンドを 1 回繰り返します。

  3. お使いのストレージ アカウントで Azure portal のこれらの設定が使われていることを確認するには、ストレージ アカウントで [ネットワーク] に移動します。

    [パブリック ネットワーク アクセス][Enabled from selected virtual networks and IP addresses] (選択した仮想ネットワークと IP アドレスから有効にする) に設定されていて、許可するネットワークが [仮想ネットワーク] セクションの一覧に表示されていることを確認します。