ワークスペースの Private Service Connect を有効にする

注:

ワークスペースでプライベート サービス Connect を有効にするには、 Databricksアカウント チームに連絡してアクセスをリクエストする必要があります。 Private サービス Connect を使用したプライベート接続に対するDatabricksサポートが一般提供されています。

この機能を利用するには、 プレミアムプランが必要です。

プライベート接続でワークスペースを保護し、ワークスペースで Google Private Service Connect(PSC)を有効にすることで、データ流出のリスクを軽減します。 この記事には、Databricks アカウント コンソールまたは API を使用して実行できる構成手順が含まれています。

PSC API エンドポイントの API リファレンス情報については、 API リファレンス ドキュメント、特に VPC エンドポイントプライベートアクセス設定、 ネットワーク設定ワークスペースのセクションを参照してください。

Private Service Connect の 2 つのオプション

トラフィックをパブリック ネットワークに公開しないようにプライベート接続を使用する方法は 2 つあります。 この記事では、一方または両方のプライベート サービス Connect 接続タイプを構成する方法について説明します。

  • フロントエンド プライベート サービス接続 (ユーザーからワークスペースへ): ユーザーが 仮想プライベート クラウド (VPC) エンドポイント 経由で Databricks Web アプリケーション、REST API、Databricks Connect API に接続できるようにします。

  • Back-end Private サービス Connect (クラシック コンピュート プレーンからコントロール プレーンへ): 顧客管理 Databricks Virtual Private クラウド (VPC) 内のクラシック コンピュート リソース を Databricks ワークスペース コア サービス (コントロール プレーン) に接続します。 クラスターは、 Databricks REST APIs と セキュリティで保護されたクラスター 接続 リレーの 2 つの宛先のコントロール プレーンに接続します。 宛先サービスが異なるため、この Private サービス Connect 接続タイプには 2 つの異なる VPC インターフェイスエンドポイントが含まれます。 データ プレーンとコントロール プレーンに関する情報については、「 Databricks アーキテクチャの概要」を参照してください。

注:

以前は、Databricks はコンピュート プレーンをデータ プレーンと呼んでいました。

フロントエンドとバックエンドの両方の Private Service Connect を実装することも、どちらか一方だけを実装することもできます。 フロントエンド接続とバックエンド接続の両方にプライベート サービス接続を実装する場合は、必要に応じてワークスペースのプライベート接続を必須にすることができます (つまり、Databricks はパブリック ネットワーク経由の接続を拒否します)。 これらの接続タイプのいずれかの実装を拒否した場合、この要件を強制することはできません。

Private Service Connect を有効にするには、Databricks 構成オブジェクトを作成し、既存の構成オブジェクトに新しいフィールドを追加する必要があります。

重要

このリリースでは、設定した 顧客管理 VPC を使用して、Private Service Connect 接続で新しいワークスペースを作成できます。 Private Service Connect 接続を既存のワークスペースに追加することはできません。 Databricks マネージド VPC を使用するワークスペースで Private Service Connect を有効にすることはできません。

次の図は、Databricks を使用したプライベート サービス Connect ネットワーク フローとアーキテクチャの概要です。

図: Private サービス Connect のネットワーク フローとアーキテクチャ

ファイアウォールの使用に関する詳細な図と詳細については、「 参照アーキテクチャ」を参照してください。

セキュリティ上の利点

Private Service Connect を使用すると、次のデータ流出リスクを軽減できます。

  • インターネット上のブラウザー、または Databricks Web アプリケーションを使用した未承認のネットワークからのデータ アクセス。

  • Databricks API を使用したインターネット上のクライアントまたは未承認のネットワークからのデータ アクセス。

用語

このガイドでは、Databricks の構成を説明するために、次の Google クラウド用語が使用されています。

Google の用語

説明

プライベートサービスコネクト(PSC)

VPC ネットワークと Google クラウド サービス間のプライベート接続を提供する Google クラウド機能。

ホストプロジェクト

Google が共有 VPC と呼ぶものを使用する場合、ワークスペースのメイン プロジェクト ID とは別の Google クラウド プロジェクトをコンピュートリソースのVPCに使用できます。これは、VPC が作成されるプロジェクトです。 これは、クラシック コンピュート プレーンVPC (バックエンド プライベート サービス コネクト用) とトランジットVPC (フロントエンド プライベート サービス コネクト用) の両方に適用されます。

サービス プロジェクト

Google が共有 VPC と呼ぶものを使用していて、コンピュートリソースのワークスペースのメインプロジェクト ID とは別に、 VPC に別の Google クラウドプロジェクトを使用できるようにする場合、これはワークスペースコンピュートリソースのプロジェクトです。

Private サービス Connect エンドポイントまたは VPC エンドポイント

VPC ネットワークからサービス (Databricks によって公開されたサービスなど) へのプライベート接続。

次の表では、重要な用語について説明します。

Databricks の用語

説明

Databricks クライアント

Databricks UI にアクセスするブラウザー上のユーザー、または Databricks APIsにアクセスするアプリケーション クライアントのいずれか。

トランジット VPC

Databricks ワークスペース WebApp または APIsにアクセスするクライアントをホストしている VPC ネットワーク。

フロントエンド (ユーザーからワークスペース) プライベート サービス Connect エンドポイント

クライアントが Databricks Web アプリケーションにプライベートに接続して APIsできるようにするトランジット VPC ネットワーク上に構成されたプライベート サービス接続エンドポイント。

バックエンド(クラシックコンピュートプレーンからコントロールプレーンへ)プライベートサービスエンドポイントを接続

プライベート サービス ConnectVPCDatabricks エンドポイントは、クラシック コントロール プレーンと コントロール プレーン間のプライベート通信を可能にするために、 ネットワーク上に構成されています。

クラシックコンピュートプレーンVPC

Databricks ワークスペースのコンピュート リソースをホストする VPC ネットワーク。 顧客管理のコンピュートプレーン VPC は、Google クラウド組織で設定します。

プライベートワークスペース

クラシック コンピュート プレーンの仮想マシンにパブリック IP アドレスがないワークスペースを指します。 Databricks コントロールプレーン上のワークスペースエンドポイントには、承認された VPC ネットワークまたは承認された IP アドレス (クラシックコンピュートプレーンの VPC や PSC トランジット VPC など) からのみプライベートにアクセスできます。

要件と制限

次の要件と制限が適用されます。

  • 新しいワークスペースのみ: Private Service Connect 接続を使用して新しいワークスペースを作成できます。 Private Service Connect 接続を既存のワークスペースに追加することはできません。

  • 顧客管理VPCが必要です:顧客管理VPCを使用する必要があります。 Google クラウド コンソールまたは別のツールを使用してVPCを作成する必要があります。 次に、 DatabricksコンソールまたはAPIで、 VPCを参照し、Private Services Connect に固有の追加フィールドを設定するネットワーク構成を作成します。

  • アカウントを有効にする: この機能を使用するには、Databricks でアカウントを有効にする必要があります。 1 つ以上のワークスペースでプライベート サービス Connect を有効にするには、 Databricksアカウント チームに連絡して、アカウントで有効にするようリクエストしてください。 Private Services Connect 接続の割り当てを予約するには、Google クラウド リージョンとホスト プロジェクトID を指定します。 アカウントで Private サービス Connect が有効になったら、 Databricksアカウント コンソールまたはAPIを使用して Private サービス Connect オブジェクトを構成し、新しいワークスペースを作成します。

  • クォータ :Databricks VPCホスト プロジェクトごとに、 へのプライベート サービス接続エンドポイントを最大 2 つ構成できます。同じ ネットワーク上の複数の ワークスペースにクラシック コンピュートDatabricksVPC プレーンをデプロイできます。このようなシナリオでは、すべてのワークスペースが同じプライベート サービス Connect エンドポイントを共有します。 この制限が機能しない場合は、アカウント チームにお問い合わせください。

  • リージョン間接続なし: Private サービス Connect ワークスペース コンポーネントは、以下を含む同じリージョンに存在する必要があります。

    • トランジット VPC ネットワークとサブネット

    • コンピュート プレーン VPC ネットワークとサブネット

    • Databricksワークスペース

    • Private サービス Connect エンドポイント

    • Private サービス Connect エンドポイント サブネット

  • サンプルデータセットは利用できません。 バックエンドのプライベート サービス Connect が構成されている場合、サンプルのUnity CatalogデータセットとDatabricksデータセットは使用できません。 サンプルデータセットを参照してください。

ネットワークトポロジの複数のオプション

プライベート Databricks ワークスペースは、次のネットワーク構成オプションを使用してデプロイできます。

  • Databricksユーザー (クライアント) とDatabricksクラシック コンピュート プレーンを同じネットワーク上でホストする: このオプションでは、トランジットVPCとコンピュート プレーンVPC 、同じ基盤となるVPCネットワークを参照します。 このトポロジを選択した場合、そのDatabricks から ワークスペースへのすべてのアクセスは、そのVPC のフロントエンドの Private Services ConnectVPC 接続を経由する必要があります。「要件と制限事項」を参照してください。

  • Databricksユーザー (クライアント) とDatabricksクラシック コンピュート プレーンを別のネットワークでホストする: このオプションでは、ユーザーまたはアプリケーション クライアントは、異なるネットワーク パスを使用して異なるDatabricksワークスペースにアクセスできます。 オプションで、トランジットVPC上のユーザーがプライベート サービス接続接続を介してプライベート ワークスペースにアクセスできるようにしたり、パブリック インターネット上のユーザーがワークスペースにアクセスできるようにしたりすることもできます。

  • 同じネットワーク上の複数の Databricks ワークスペースのコンピュート プレーンをホストする: このオプションでは、複数の Databricks ワークスペースのコンピュート プレーン VPC は、基になる同じ VPC ネットワークを参照します。 このようなワークスペースはすべて、同じバックエンドのプライベート サービス Connect エンドポイントを共有する必要があります。 このデプロイ パターンを使用すると、多数のワークスペースを構成しながら、少数のプライベート サービス Connect エンドポイントを構成できます。

複数のワークスペースで 1 つのトランジット VPC を共有できます。 ただし、各トランジット VPC には、フロントエンド PSC を使用するワークスペースのみ、またはフロントエンド PSC を使用しないワークスペースのみを含める必要があります。 Google クラウドでの DNS 解決の仕組みにより、1 つのトランジット VPC で両方のタイプのワークスペースを使用することはできません。

参照アーキテクチャ

Databricks ワークスペースのデプロイには、セキュリティで保護できる次のネットワーク パスが含まれています。

  • トランジット VPC 上の Databricks クライアントから Databricks コントロールプレーンへ。 これには、Web アプリケーションと REST API アクセスの両方が含まれます。

  • Databricks コンピュート プレーン VPC ネットワークから Databricks コントロール プレーン サービスへ。 これには、セキュリティで保護されたクラスター接続リレーと、REST API エンドポイントのワークスペース接続が含まれます。

  • Databricks コンピュートプレーンを Databricks マネージド プロジェクトのストレージに移動。

  • Databricks コンピュート プレーン VPC ネットワークから GKE API サーバーへ。

  • Databricks コントロール プレーンからプロジェクト内のストレージ (DBFS バケットを含む)。

ファイアウォールのないアーキテクチャで送信トラフィックを制限することは可能であり、理想的には外部メタストアを使用します。 パブリックライブラリリポジトリへのアウトバウンドトラフィックはデフォルトでは不可能ですが、ローカルにミラーリングされた独自のパッケージリポジトリを持ち込むことができます。 次の図は、ファイアウォールのない完全(フロントエンドとバックエンド)のPrivate Service Connectデプロイメントのネットワークアーキテクチャを示しています。

Private サービス ファイアウォールのない接続ネットワークアーキテクチャ

また、ファイアウォール アーキテクチャを使用して、パブリック パッケージ リポジトリと (省略可能な) Databricks マネージド メタストアへのエグレスを許可することもできます。 次の図は、完全 (フロントエンドとバックエンド) Private Service Connect デプロイのネットワーク アーキテクチャを示しており、エグレス制御用のファイアウォールがあります。

図: Private サービス ファイアウォールを使用したネットワークアーキテクチャの接続

地域サービス添付ファイルの参照

Private Service Connect を有効にするには、リージョンの次のエンドポイントのサービス接続 URI が必要です。

  • ワークスペース エンドポイント。 これは接尾辞 plproxy-psc-endpoint-all-portsで終わります。 これには 2 つの役割があります。 これは、バックエンドのプライベート サービス Connect が REST APIsのコントロール プレーンに接続するために使用されます。 これは、フロントエンドのプライベートサービス接続によっても使用され、トランジット VPC をワークスペース Web アプリケーションと REST APIsに接続します。

  • セキュリティで保護されたクラスター 接続 (SCC) リレー エンドポイント。 これは、接尾辞 ngrok-psc-endpointで終わります。 これは、バックエンドの Private サービス Connect にのみ使用されます。 これは、 セキュア クラスター接続 (SCC) リレーのコントロール プレーンに接続するために使用されます。

リージョンのワークスペース エンドポイントと SCC リレー エンドポイント サービス アタッチメント URI を取得するには、 「プライベート サービス Connect (PSC) アタッチメント URI とプロジェクト番号」を参照してください。

ステップ 1: Private Service Connect のアカウントを有効にする

Databricks が Google クラウド プロジェクトからの Private Service Connect 接続を受け入れる前に、Databricks アカウント チームに連絡し、Private Service Connect を有効にするワークスペースごとに次の情報を提供する必要があります。

  • DatabricksのアカウントID

    1. アカウント管理者として、 Databricks アカウント コンソールに移動します。

    2. 左側のメニューの下部(スクロールが必要な場合があります)で、[ユーザー]ボタン(人物アイコン)をクリックします。

    3. 表示されるポップアップで、ID の右側にあるアイコンをクリックして、アカウント ID をコピーします。

    アカウント ID を確認します。
  • VPC ホスト コンピュートプレーンのプロジェクト ID(バックエンドを有効にしている場合) Private Service Connect

  • VPC ホスト トランジット VPC のプロジェクト ID(フロントエンド Private サービスコネクトを有効にしている場合)

  • ワークスペースの領域

重要

Databricks が Google クラウド プロジェクトからのプライベート サービス Connect 接続を受け入れるように構成されると、Databricks の担当者が確認で応答します。 これには最大 3 営業日かかる場合があります。

ステップ 2: サブネットを作成する

コンピュートプレーン VPC ネットワークで、Private Service Connect エンドポイント専用の サブネット を作成します。 次の手順では、Google クラウド コンソールの使用を前提としていますが、 gcloud CLI を使用して同様のタスクを実行することもできます。

サブネットを作成するには、次の手順を実行します。

  1. Google クラウド クラウド コンソールで、 VPC リスト ページに移動します。

  2. [ サブネットの追加] をクリックします。

  3. 名前、説明、地域を設定します。

  4. [目的] フィールドが表示されている場合 (表示されない可能性があります)、[なし] を選択します。

    サブネットの [目的] フィールドを [なし] に設定します。
  5. サブネットのプライベート IP 範囲 ( 10.0.0.0/24など) を設定します。

    重要

    IP 範囲は、次のいずれについても重複できません。

    • BYO VPC のサブネット、セカンダリ IPv4 範囲。

    • Private Service Connect エンドポイントを保持するサブネット。

    • GKE クラスターの IP 範囲 (Databricks ワークスペースを作成するときのフィールド)。

    ページは通常、次のようになります。

    サブネットを作成します。
  6. サブネットが VPC の Google クラウド コンソールの VPC ビューに追加されていることを確認します。

    すべてのサブネットを一覧表示します。

ステップ 3: VPC エンドポイントを作成する

Databricks サービスアタッチメントに接続する VPC エンドポイントを作成する必要があります。 サービス添付ファイルの URL は、ワークスペースのリージョンによって異なります。 次の手順では、Google クラウド コンソールの使用を前提としていますが、 gcloud CLI を使用して同様のタスクを実行することもできます。 gcloud CLI または API を使用してサービスアタッチメントへの VPC エンドポイントを作成する手順については、Google の記事「プライベートサービス接続エンドポイントの作成」を参照してください。

作成したサブネットで、コンピュートプレーン VPC から次のサービスアタッチメントへの VPC エンドポイントを作成します。

  • ワークスペース エンドポイント。 これは接尾辞 plproxy-psc-endpoint-all-portsで終わります。

  • セキュリティで保護されたクラスター接続リレー エンドポイント。 これは接尾辞で終わります ngrok-psc-endpoint

Google クラウドコンソールで VPC エンドポイントを作成するには:

  1. Google クラウド コンソールで、[ Private Service Connect] に移動します。

  2. [ CONNECTED ENDPOINTS ] タブをクリックします。

  3. [ + エンドポイントの接続] をクリックします。

  4. [ターゲット] で [公開済みサービス] を選択します。

  5. [ ターゲット サービス] に、サービス接続 URI を入力します。

    重要

    ワークスペース リージョンの 2 つの Databricks サービス添付ファイル URI を取得するには、「 リージョン サービス添付ファイルのリファレンス」の 表を参照してください。

  6. エンドポイント名には、エンドポイントに使用する名前を入力します。

  7. エンドポイントの VPC ネットワークを選択します。

  8. エンドポイントのサブネットを選択します。 Private Service Connect エンドポイント用に作成したサブネットを指定します。

    VPC エンドポイント用に作成したサブネットを指定します
  9. エンドポイントの IP アドレスを選択します。 新しいIPアドレスが必要な場合:

    1. [IPアドレス]ドロップダウンメニューをクリックし、[IPアドレスの作成]を選択します。

    2. 名前と説明(オプション)を入力します。

    3. 静的 IP アドレスの場合は、 [自動的に割り当てる ] または [ 自分で選択する] を選択します。

    4. [ 自分で選択する] を選択した場合は、カスタム IP アドレスを入力します。

    5. 予約」をクリックします。

  10. ドロップダウンリストから名前空間を選択するか、新しい名前空間を作成します。 領域は、選択したサブネットワークに基づいて設定されます。

  11. [エンドポイントの追加] をクリックします。

コンピュートプレーン VPC からワークスペースサービスアタッチメント URI へのエンドポイントは、次のようになります。

コンピュートプレーン VPC からワークスペースサービスアタッチメント URI への VPC エンドポイント。

コンピュートプレーン VPC からワークスペースサービスアタッチメント URI へのエンドポイントは、次のようになります。

コンピュートプレーン VPC から SCC リレーサービスアタッチメント URI への VPC エンドポイント。

ステップ 4: フロントエンドのプライベート アクセスを構成する

Databricks クライアントからのプライベート アクセスをフロントエンド Private Service Connect 用に構成するには、次のようにします。

  1. トランジット VPC ネットワークを作成するか、既存のネットワークを再利用します。

  2. フロントエンドのプライベート サービス Connect エンドポイントにアクセスできる プライベート IP 範囲 を持つサブネットを作成または再利用します。

    重要

    ユーザーがそのサブネット上の VM またはデバイスにアクセスできることを確認します。

  3. トランジット VPC からワークスペース (plproxy-psc-endpoint-all-ports) サービスアタッチメントへの VPC エンドポイントを作成します。

    リージョンで使用する完全な名前を取得するには、 「プライベート サービス コネクト (PSC) アタッチメント URI とプロジェクト番号」を参照してください。

このエンドポイントの Google クラウドコンソールのフォームは、通常、次のようになります。

フロントエンド VPC エンドポイント。

ステップ 5: VPC エンドポイントを登録する

アカウント コンソールを使用する

Databricks アカウント コンソールを使用して Google クラウド エンドポイントを登録します。

  1. Databricks アカウント コンソールに移動します。

  2. [ クラウドリソース ] タブをクリックし、[ VPC エンドポイント] をクリックします。

  3. [登録する VPC endpoint] をクリックします。

  4. Private Service Connect エンドポイントごとに、新しい VPC エンドポイントを登録するための必須フィールドに入力します。

    • VPC エンドポイント名: VPC エンドポイントを識別するための人間が判読できる名前。 Databricks では、Private Service Connect エンドポイント ID と同じものを使用することをお勧めしますが、これらが一致している必要はありません。

    • リージョン: この Private Service Connect エンドポイントが定義されている Google クラウド リージョン。

    • Google クラウド VPC ネットワーク プロジェクト ID: このエンドポイントが定義されている Google クラウド プロジェクト ID。バックエンド接続の場合、これはワークスペースの VPC ネットワークのプロジェクト ID です。 フロントエンド接続の場合、これはユーザー接続の起点となる VPC のプロジェクト ID であり、トランジット VPC と呼ばれることもあります。

    登録する an endpoint.

次の表は、バックエンドとフロントエンドの両方のプライベートサービス接続を使用している場合に、各エンドポイントで使用する必要がある情報を示しています。

エンドポイントの種類

フィールド

フロントエンド トランジット VPC エンドポイント (plproxy-psc-endpoint-all-ports)

VPC エンドポイント名 (Databricks では Google クラウド エンドポイント ID の照合を推奨しています)

psc-demo-user-cp

Google Cloud VPCネットワークのプロジェクトID

databricks-dev-entd-demo

Google クラウドリージョン

us-east4

バックエンド コンピュート プレーン VPC REST/ワークスペース エンドポイント (plproxy-psc-endpoint-all-ports)

VPC エンドポイント名 (Databricks では Google クラウド エンドポイント ID の照合を推奨しています)

psc-demo-dp-rest-api

Google Cloud VPCネットワークのプロジェクトID

databricks-dev-xpn-host

Google クラウドリージョン

us-east4

バックエンド コンピュート プレーン VPC SCC リレー エンドポイント (psc-demo-dp-ngrok)

VPC エンドポイント名 (Databricks では Google クラウド エンドポイント ID の照合を推奨しています)

psc-demo-dp-ngrok

Google Cloud VPCネットワークのプロジェクトID

databricks-dev-xpn-host

Google クラウドリージョン

us-east4

完了したら、アカウントコンソールの VPC エンドポイントリストを使用して、エンドポイントのリストを確認し、情報を確認できます。 一般的には、次のようになります。

登録されているすべてのエンドポイントを確認します。

API を使用する

API リファレンス情報については、 API リファレンスのドキュメント(特に VPC エンドポイント)を参照してください。

REST API を使用して VPC エンドポイントを登録するには、次の手順を実行します。

  1. Google ID トークンを作成します。 アカウントレベルの APIsについては、 Google ID トークンによる認証 の手順に沿って操作します。VPCエンドポイントを登録するAPIには、Google IDに加えてGoogleアクセストークンが必要です。

  2. curl または別の REST API クライアントを使用して、accounts.gcp.databricks.com サーバーにPOST要求を行い、/accounts/<account-id>/vpc-endpointsエンドポイントを呼び出します。要求の引数は次のとおりです。

    パラメーター

    説明

    vpc_endpoint_name

    登録されたエンドポイントの人間が判読できる名前

    gcp_vpc_endpoint_info

    エンドポイントの詳細を、次のフィールドを持つ JSON オブジェクトとして記述します。

    • project_id: プロジェクト ID

    • psc_endpoint_name: PSC エンドポイント名

    • endpoint_region: エンドポイントの Google クラウドリージョン

  3. 応答 JSON を確認します。 これにより、要求ペイロードに似たオブジェクトが返されますが、応答にはいくつかの追加フィールドがあります。 応答フィールドは次のとおりです。

    パラメーター

    説明

    vpc_endpoint_name

    登録されたエンドポイントの人間が判読できる名前

    account_id

    DatabricksのアカウントID

    use_case

    WORKSPACE_ACCESS

    gcp_vpc_endpoint_info

    エンドポイントの詳細を、次のフィールドを持つ JSON オブジェクトとして記述します。

    • project_id: プロジェクト ID

    • psc_endpoint_name: PSC エンドポイント名

    • endpoint_region: エンドポイントの Google クラウドリージョン

    • psc_connection_id: PSC 接続 ID

    • service_attachment_id: PSC サービス接続 ID

次の curl 例では、必要な Google アクセストークン HTTP ヘッダーを追加し、VPC エンドポイントを登録します。

curl \
  -X POST \
  --header 'Authorization: Bearer <google-id-token>' \
  --header 'X-Databricks-GCP-SA-Access-Token: <access-token-sa-2>' \
  https://accounts.gcp.databricks.com/api/2.0/accounts/<account-id>/vpc-endpoints
  -H "Content-Type: application/json"
  -d '{"vpc_endpoint_name": "psc-demo-dp-rest-api",
     "gcp_vpc_endpoint_info": {
     "project_id": "databricks-dev-xpn-host",
     "psc_endpoint_name": "psc-demo-dp-rest-api",
     "endpoint_region": "us-east4"
     }'

ステップ 6: Databricks プライベート アクセス設定オブジェクトを作成する

ワークスペースの複数の Private Service Connect 設定を定義するプライベートアクセス設定オブジェクトを作成します。 このオブジェクトはワークスペースにアタッチされます。 1 つのプライベート アクセス設定オブジェクトを複数のワークスペースにアタッチできます。

アカウント コンソールを使用する

Databricks アカウント コンソールを使用して、Databricks プライベート アクセス設定オブジェクトを作成します。

  1. Databricks アカウント コンソールに移動します。

  2. クラウド・リソース 」タブをクリックし、「 プライベート・アクセス設定」をクリックします。

  3. [ プライベート アクセス設定の追加] をクリックします。

    プライベートアクセス設定オブジェクトを作成します。
  4. 必須フィールドを設定します。

    • プライベート アクセス設定名: このプライベート アクセス設定オブジェクトを識別するための人間が判読できる名前。

    • リージョン: VPC エンドポイントと、このプライベートアクセス設定オブジェクトが設定するワークスペース間の接続のリージョン。

    • パブリックアクセスが有効: パブリックアクセスを許可するかどうかを指定します。 この値は、プライベート アクセス設定オブジェクトの作成後に変更できないため、慎重に選択してください。

      • パブリックアクセスが有効な場合、ユーザーは、このプライベートアクセス設定オブジェクトを使用するワークスペースへのパブリックアクセス(パブリックインターネットから)を許可/ブロックするようにIPアクセスリストを構成できます。

      • パブリックアクセスが無効になっている場合、パブリックトラフィックは、このプライベートアクセス設定オブジェクトを使用するワークスペースにアクセスできません。 IP アクセス リストは、パブリック アクセスには影響しません。

      注:

      どちらの場合も、アクセス リストはパブリック インターネットからのアクセスのみを制御するため、 IP アクセス リスト はプライベート サービス接続からのプライベート トラフィックをブロックできません。

    • プライベートアクセスレベル:許可されたプライベートサービス接続接続のみにアクセスを制限する仕様。以下のいずれかの値を指定できます。

      • アカウント: Databricks アカウントに登録されているすべての VPC エンドポイントが、このワークスペースにアクセスできます。 これがデフォルト値です。

      • エンドポイント: 明示的に指定した VPC エンドポイントのみがワークスペースにアクセスできます。 この値を選択した場合は、登録済みの VPC エンドポイントから選択できます。

API を使用する

API リファレンス情報については、特に プライベート アクセス設定 に関する API リファレンス ドキュメント を参照してください。

REST API を使用して Databricks プライベート アクセス設定オブジェクトを作成するには、次のようにします。

  1. まだ作成していない場合や、トークンの有効期限が切れている場合は、Google ID トークンを作成します。 アカウントレベルの APIsについては、 Google ID トークンによる認証 の手順に沿って操作します。非公開設定オブジェクトを作成するAPIは、一部の で必要なGoogleアクセストークンを必要とし ませんAPIs 。他のステップにはGoogleアクセストークンが必要ですが、このステップには必要ありません。

  2. curl または別の REST API クライアントを使用して、accounts.gcp.databricks.com サーバーにPOST要求を行い、/accounts/<account-id>/private-access-settingsエンドポイントを呼び出します。要求の引数は次のとおりです。

    パラメーター

    説明

    private_access_settings_name

    プライベート・アクセス設定オブジェクトの人間が判読できる名前

    region

    非公開アクセス設定オブジェクトの Google クラウドリージョン

    private_access_level

    ワークスペースが受け入れる VPC エンドポイントを定義します。

    • ACCOUNT: ワークスペースは、ワークスペースの Databricks アカウントに登録されている VPC エンドポイントのみを受け入れます。 これは、省略した場合のデフォルト値です。

    • ENDPOINT: ワークスペースは、別の [ allowed_vpc_endpoints ] フィールドに ID で明示的にリストされている VPC エンドポイントのみを受け入れます。

    allowed_vpc_endpoints

    許可リストに登録する VPC エンドポイント ID の配列。 private_access_levelENDPOINTの場合にのみ使用されます。

    public_access_enabled

    パブリック・アクセスを許可するかどうかを指定します。 この値は、プライベート アクセス設定オブジェクトの作成後に変更できないため、慎重に選択してください。

    • パブリックアクセスが有効な場合、ユーザーは、このプライベートアクセス設定オブジェクトを使用するワークスペースへのパブリックアクセス(パブリックインターネットから)を許可/ブロックするようにIPアクセスリストを構成できます。

    • パブリックアクセスが無効になっている場合、パブリックトラフィックは、このプライベートアクセス設定オブジェクトを使用するワークスペースにアクセスできません。 IP アクセス リストは、パブリック アクセスには影響しません。

    注:

    どちらの場合も、アクセス リストはパブリック インターネットからのアクセスのみを制御するため、 IP アクセス リスト はプライベート サービス接続からのプライベート トラフィックをブロックできません。 allowed_vpc_endpoints で定義された VPC エンドポイントのみがワークスペースにアクセスできます。

  3. 応答を確認します。 これは、要求オブジェクトに似ていますが、追加のフィールドを持つオブジェクトを返します。

    • account_id: Databricks アカウント ID。

    • private_access_settings_id: プライベート アクセス設定のオブジェクト ID。

例:

curl \
  -X POST \
  --header 'Authorization: Bearer <google-id-token>' \
  https://accounts.gcp.databricks.com/api/2.0/accounts/<account-id>/private-access-settings
  -H "Content-Type: application/json"
  -d '{
    "private_access_settings_name": "psc-demo-pas-account",
    "region": "us-east4",
    "private_access_level": "ACCOUNT",
    "public_access_enabled": true,
    }'

これにより、次のような応答が生成されます。

{
  "private_access_settings_id": "999999999-95af-4abc-ab7c-b590193a9c74",
  "account_id": "<real account id>",
  "private_access_settings_name": "psc-demo-pas-account",
  "region": "us-east4",
  "public_access_enabled": true,
  "private_access_level": "ACCOUNT"
}

ヒント

API を使用してプライベートアクセス設定オブジェクトのセットを確認する場合は、https://accounts.gcp.databricks.com/api/2.0/accounts/<account-id>/private-access-settingsエンドポイントにGETリクエストを行います。

ステップ 7: ネットワーク構成を作成する

ワークスペースの顧客管理 VPC に関する情報をカプセル化する Databricks ネットワーク構成を作成します。 このオブジェクトはワークスペースにアタッチされます。

アカウント コンソールを使用する

アカウントコンソールを使用してネットワーク設定を作成するには:

  1. ワークスペースの VPC をまだ作成していない場合は、ここで作成してください。

  2. Databricks アカウント コンソールに移動します。

  3. クラウド・リソース 」タブをクリックし、「 ネットワーク構成」をクリックします。

  4. ネットワーク構成の追加」をクリックします。

    ネットワーク構成を作成します。

フィールド

値の例

ネットワーク設定名

psc-demo-network

ネットワーク GCP プロジェクト ID

databricks-dev-xpn-host

VPC名

psc-demo-dp-vpc

サブネット名

subnet-psc-demo-dp-vpc

サブネットのリージョン

us-east4

GKEポッドのセカンダリIP範囲名

pod

GKEサービスのセカンダリIP範囲名

svc

セキュアなクラスター接続を中継するためのVPCエンドポイント

psc-demo-dp-ngrok

REST APIs の VPC エンドポイント (ワークスペースへのバックエンド接続)

psc-demo-dp-rest-api

API を使用する

API リファレンス情報については、特に ネットワーク に関する API リファレンスのドキュメント を参照してください。

REST API を使用して Databricks ネットワーク構成オブジェクトを作成するには、次のようにします。

  1. ワークスペースの VPC をまだ作成していない場合は、ここで作成してください。

  2. まだ作成していない場合や、トークンの有効期限が切れている場合は、Google ID トークンを作成します。 アカウントレベルの APIsについては、 Google ID トークンによる認証 の手順に沿って操作します。ネットワーク 構成を作成するには 、Google ID に加えて Google アクセストークンが必要です。

  3. curl または別の REST API クライアントを使用して、accounts.gcp.databricks.com サーバーにPOST要求を行い、/accounts/<account-id>/networksエンドポイントを呼び出します。

    1. ネットワーク作成 API の必須引数と省略可能な引数を確認します。 アカウント API のネットワーク設定の作成操作については、ドキュメントを参照してください。その操作の引数のセットは、以下では重複しません。

    2. Private Service Connect をサポートするには、要求 JSON に引数 vpc_endpointsを追加する必要があります。 登録済みのエンドポイントが Databricks ID 別に一覧表示され、さまざまなユース ケースのプロパティに分離されます。 エンドポイントは配列として定義されますが、配列のそれぞれに指定する VPC エンドポイントは 1 つだけです。 この 2 つのフィールドは、

      例:

         "vpc_endpoints": {
             "rest_api": [
                 "63d375c1-3ed8-403b-9a3d-a648732c88e1"
             ],
             "dataplane_relay": [
                 "d76a5c4a-0451-4b19-a4a8-b3df93833a26"
             ]
         },
      
  4. 応答を確認します。 これは、要求オブジェクトに類似したオブジェクトを返しますが、次の追加フィールドがあります。

    • account_id: Databricks アカウント ID。

次の curl 例では、必要な Google アクセストークン HTTP ヘッダーを追加し、ネットワーク構成を作成します。

curl \
  -X POST \
  --header 'Authorization: Bearer <google-id-token>' \
  --header 'X-Databricks-GCP-SA-Access-Token: <access-token-sa-2>' \
  https://accounts.gcp.databricks.com/api/2.0/accounts/<account-id>/networks
  -H "Content-Type: application/json"
  -d '{
     "network_name": "psc-demo-network",
     "gcp_network_info": {
         "network_project_id": "databricks-dev-xpn-host",
         "vpc_id": "psc-demo-dp-vpc",
         "subnet_id": "subnet-psc-demo-dp-vpc",
         "subnet_region": "us-east4",
         "pod_ip_range_name": "pod",
         "service_ip_range_name": "svc"
       },
     "vpc_endpoints": {
         "rest_api": [
             "9999999-3ed8-403b-9a3d-a648732c88e1"
         ],
         "dataplane_relay": [
             "9999999-0451-4b19-a4a8-b3df93833a26"
         ]
       }
     }'

これにより、次のような応答が生成されます。

{
  "network_id": "b039f04c-9b72-4973-8b04-97cf8defb1d7",
  "account_id": "<real account id>",
  "vpc_status": "UNATTACHED",
  "network_name": "psc-demo-network",
  "creation_time": 1658445719081,
  "vpc_endpoints": {
      "rest_api": [
          "63d375c1-3ed8-403b-9a3d-a648732c88e1"
      ],
      "dataplane_relay": [
          "d76a5c4a-0451-4b19-a4a8-b3df93833a26"
      ]
  },
  "gcp_network_info": {
      "network_project_id": "databricks-dev-xpn-host",
      "vpc_id": "psc-demo-dp-vpc",
      "subnet_id": "subnet-psc-demo-dp-vpc",
      "subnet_region": "us-east4",
      "pod_ip_range_name": "pod",
      "service_ip_range_name": "svc"
  }
}

ヒント

API を使用してネットワーク構成オブジェクトのセットを確認する場合は、https://accounts.gcp.databricks.com/api/2.0/accounts/<account-id>/networksエンドポイントにGET要求を行います。

ステップ 8: ワークスペースを作成する

作成したネットワーク構成を使用してワークスペースを作成します。

アカウント コンソールを使用する

アカウントコンソールでワークスペースを作成するには:

  1. Databricks アカウント コンソールに移動します。

  2. ワークスペース 」タブをクリックします。

  3. [ ワークスペースの作成] をクリックします。

    ワークスペースを作成します。

  4. 次の標準ワークスペース フィールドを設定します。

    • ワークスペース名

    • リージョン

    • Google クラウドのプロジェクト ID (ワークスペースのコンピュート リソースのプロジェクトで、VPC のプロジェクト ID とは異なる場合があります)。

    • [ プライベート クラスターを有効にする ] がオンになっていることを確認します。

    • GKEマスターリソースのIP範囲

  5. Private Service Connect 固有のフィールドを設定します。

    1. [ 詳細設定] をクリックします。

    2. [ ネットワーク設定 ] フィールドで、前のステップで作成したネットワーク設定を選択します。

    3. [ プライベート接続 ] フィールドで、前のステップで作成したプライベートアクセス設定オブジェクトを選択します。 1 つのプライベート アクセス設定オブジェクトを複数のワークスペースにアタッチできることに注意してください。

  6. 保存」をクリックします。

API を使用する

API リファレンス情報については、特に ワークスペース API リファレンス ドキュメント を参照してください。

REST API を使用して Databricks ワークスペースを作成するには、次のようにします。

  1. まだ作成していない場合や、トークンの有効期限が切れている場合は、Google ID トークンを作成します。 Google ID トークンによる認証の手順に沿って操作します。そのページの次の手順に注意することが重要です。

    • VPC エンドポイントを登録する API は、アカウントレベルの API です。

    • VPCエンドポイントを登録する APIには、 一部の APIsで必須と記載されているGoogleアクセストークンが必要です。

  2. curl または別の REST API クライアントを使用して、accounts.gcp.databricks.com サーバーにPOST要求を行い、/accounts/<account-id>/workspacesエンドポイントを呼び出します。

    1. ワークスペース作成 API の必須引数と省略可能な引数を確認します。 アカウント API のワークスペースの作成操作のドキュメントを参照してください。その操作の引数のセットは、ここでは重複しません。

    2. Private Service Connect をサポートするには、要求 JSON に引数 private_access_settings_idを追加する必要があります。 作成したプライベート設定オブジェクトの Databricks ID に設定します。 ID は応答フィールド private_access_settings_idにありました。

  3. 応答を確認します。 これは、要求オブジェクトに似ていますが、追加のフィールドを持つオブジェクトを返します。 アカウント API のワークスペース作成操作のドキュメントを参照し、応答コード 201 (Success) をクリックします。応答のフィールドのセットは、以下では重複していません。

次の curl 例では、必要な Google アクセストークン HTTP ヘッダーを追加し、ワークスペースを作成します。

curl \
  -X POST \
  --header 'Authorization: Bearer <google-id-token>' \
  --header 'X-Databricks-GCP-SA-Access-Token: <access-token-sa-2>' \
  https://accounts.gcp.databricks.com/api/2.0/accounts/<account-id>/workspaces
  -H "Content-Type: application/json"
  -d '{
     "workspace_name" : "psc-demo-workspace",
     "pricing_tier" : "PREMIUM",
     "cloud_resource_container": {
         "gcp": {
             "project_id": "example-project"
         }
     },
     "location": "us-east4",
     "private_access_settings_id": "9999999-95af-4abc-ab7c-b590193a9c74",
     "network_id": "9999999-9b72-4973-8b04-97cf8defb1d7",
     "gke_config": {
         "gke_connectivity_type": "PRIVATE_NODE_PUBLIC_MASTER",
         "gke_cluster_master_ip_range": "10.5.0.0/28"
     }
     }'

これにより、次のような応答が生成されます。

{
  "workspace_id":999997997552291,
  "workspace_name":"ps-demo-workspace",
  "creation_time":1669744259011,
  "deployment_name":"7732657997552291.1",
  "workspace_status":"RUNNING",
  "account_id":"<real account id>",
  "workspace_status_message":"Workspace is running.",
  "pricing_tier":"PREMIUM",
  "private_access_settings_id":"93b1ba70-95af-4abc-ab7c-b590193a9c74",
  "location":"us-east4",
  "cloud":"gcp",
  "network_id": "b039f04c-9b72-4973-8b04-97cf8defb1d7",
  "gke_config":{
      "connectivity_type":"PRIVATE_NODE_PUBLIC_MASTER",
      "master_ip_range":"10.5.0.0/28"
   },
   "cloud_resource_container":{
       "gcp":{
             "Project_id":"example-project"
       }
   }
  }

ヒント

API を使用してワークスペースのセットを確認する場合は、https://accounts.gcp.databricks.com/api/2.0/accounts/<account-id>/workspaces エンドポイントにGET要求を行います。

ステップ 9: ワークスペース構成を検証する

ワークスペースを作成したら、ワークスペース ページに戻り、新しく作成したワークスペースを見つけます。 通常、ワークスペースが PROVISIONING 状態から RUNNING 状態に移行するまでに 30 秒から 3 分かかります。 ステータスが RUNNINGに変わると、ワークスペースは正常に構成されます。

Databricks アカウント コンソールを使用して構成を検証できます。

  1. クラウド・リソース 」をクリックし、「 ネットワーク構成」をクリックします。 アカウントコンソールを使用して、VPC のネットワーク設定を見つけます。 すべてのフィールドが正しいことを確認します。

  2. [ ワークスペース ] をクリックし、ワークスペースを見つけます。 ワークスペースが実行されていることを確認します。

    ワークスペースを検証します。

ヒント

API を使用してワークスペースのセットを確認する場合は、https://accounts.gcp.databricks.com/api/2.0/accounts/<account-id>/workspaces エンドポイントにGET要求を行います。

ステップ 10: DNS を構成する

次のセクションでは、フロントエンドとバックエンドの DNS 構成の個別の手順について説明します。

フロントエンド DNS 構成

このセクションでは、フロントエンド接続用のプライベート DNS ゾーンを作成する方法について説明します。

複数のワークスペースで 1 つのトランジット VPC を共有できます。 ただし、各トランジット VPC には、フロントエンド PSC を使用するワークスペースのみ、またはフロントエンド PSC を使用しないワークスペースのみを含める必要があります。 Google クラウドでの DNS 解決の仕組みにより、1 つのトランジット VPC で両方のタイプのワークスペースを使用することはできません。

  1. デプロイされた Databricks ワークスペースのワークスペース URL があることを確認します。 これはhttps://33333333333333.3.gcp.databricks.com に似た形式です。 この URL は、ワークスペースを表示しているときに Web ブラウザーから取得するか、ワークスペースのリスト内の アカウント コンソール から取得できます。

  2. トランジット VPC ネットワークを含むプライベート DNS ゾーンを作成します。 Google クラウドコンソールを使用して、 クラウド DNS ページで [CREATE ZONE] をクリックします。

    1. [DNS name] フィールドに「gcp.databricks.com」と入力します。

    2. [ ネットワーク] フィールドで、トランジット VPC ネットワークを選択します。

    3. [作成]をクリックします。

    プライベートゾーンの作成
  3. DNS A レコードを作成して、ワークスペースの URL を plproxy-psc-endpoint-all-ports Private サービス Connect エンドポイント IP にマップします。

    1. plproxy-psc-endpoint-all-ports Private Service Connect エンドポイントの Private Service Connect エンドポイント IP を見つけます。この例では、Private Service Connect エンドポイント psc-demo-user-cp の IP が 10.0.0.2であるとします。

    2. A レコードを作成して、ワークスペースの URL を Private Service Connect エンドポイント IP にマップします。この場合、一意のワークスペース ドメイン名 ( 33333333333333333.3.gcp.databricks.comなど) を Private Service Connect エンドポイントの IP アドレス (前の例では 10.0.0.2 でしたが、番号が異なる場合があります) にマップします。

    3. A レコードを作成して、dp-<workspace-url> Private Service Connect エンドポイント IP にマップします。この場合、サンプルのワークスペース URL を使用すると、 dp-333333333333333.3.gcp.databricks.com10.0.0.2にマップされますが、これらの値は異なる場合があります。

  4. ユーザーがユーザー VPC のウェブブラウザを使用してワークスペースにアクセスする場合、認証をサポートするには、<workspace-gcp-region>.psc-auth.gcp.databricks.com10.0.0.2にマッピングするAレコードを作成する必要があります。この場合、 us-east4.psc-auth.gcp.databricks.com10.0.0.2にマッピングします。 フロントエンド接続の場合、通常、このステップが必要ですが、トランジット ネットワークからのフロントエンド接続を REST APIs (Web ブラウザー ユーザー アクセスではなく) のみに計画する場合は、この手順を省略できます。

以下は、Google クラウドコンソールで、フロントエンドのプライベートサービス接続の DNS 設定で受け入れられたエンドポイントがどのように表示されるかを示しています。

エンドポイントが受け入れられたことを確認します。

ワークスペース URL と Databricks 認証サービスにマップされる A レコードを含むゾーンのフロントエンド DNS 構成は、通常、次のようになります。

ワークスペース URL をマップするためのフロントエンド DNS 構成。

バックエンド DNS 構成

このセクションでは、コンピュートプレーン VPC ネットワークを含むプライベート DNS ゾーンを作成する方法について説明します。 両方のワークスペース URL を plproxy-psc-endpoint-all-ports Private サービス Connect エンドポイント IP にマップするには、DNS レコードを作成する必要があります。

  1. デプロイされた Databricks ワークスペースのワークスペース URL があることを確認します。 これはhttps://33333333333333.3.gcp.databricks.com に似た形式です。 この URL は、ワークスペースを表示しているときに Web ブラウザーから取得するか、ワークスペースのリスト内の アカウント コンソール から取得できます。

  2. plproxy-psc-endpoint-all-ports Private Service Connect エンドポイントの Private Service Connect エンドポイント IP を見つけます。nslookupなどのツールを使用してIPアドレスを取得します。

    Private Service Connect エンドポイント psc-demo-dp-rest-api の IP を 10.10.0.2にマッピングします。

    以下は、Google クラウドコンソールで、バックエンドのプライベートサービス接続の DNS 設定で受け入れられたエンドポイントがどのように表示されるかを示しています。

    宛先 IP アドレスを含む受け入れられたバックエンド エンドポイント。
  3. 次の A レコードマッピングを作成します。

    • ワークスペースドメイン( 33333333333333.3.gcp.databricks.comなど)を 10.10.0.2

    • プレフィックスが dp-のワークスペースドメイン ( dp-33333333333333.3.gcp.databricks.comなど) を 10.10.0.2

  4. 同じ gcp.databricks.comゾーンで、プライベート DNS レコードを作成し、そのエンドポイント IP を使用して SCC リレー URL を SCC リレー エンドポイント ngrok-psc-endpoint にマップします。

    1. SCC リレー URL の形式は tunnel.<workspace-gcp-region>.gcp.databricks.comです。 この例では、SCC リレー URL は tunnel.us-east4.gcp.databricks.comです。

    2. ngrok-psc-endpoint Private Service Connect エンドポイントの Private Service Connect エンドポイント IP を見つけます。この例では、Private Service Connect エンドポイント psc-demo-dp-ngrok の IP は 10.10.0.3です。

    3. Aレコードを作成して、tunnel.us-east4.gcp.databricks.com10.10.0.3にマッピングします。

ゾーン内の A レコードのリストは、通常、次のようになります。

ワークスペースに接続するためのバックエンド DNS 構成。

DNS 構成を検証する

VPC ネットワークで、DNS が正しく設定されていることを確認します。

トランジット VPC ネットワークで、 nslookup ツールを使用して、次の URL がフロントエンドのプライベート サービス Connect エンドポイント IP に解決されるようになったことを確認します。

  • <workspace-url>

  • dp-<workspace-url>

  • <workspace-gcp-region>.psc-auth.gcp.databricks.com

コンピュート プレーン VPC ネットワークで、 nslookup ツールを使用して、次の URL が正しい Private Service Connect エンドポイント IP に解決されることを確認します

  • <workspace-url> は、名前に plproxy-psc-endpoint-all-ports が含まれるエンドポイントのプライベート サービス Connect エンドポイント IP にマップされます。

  • dp-<workspace-url> は、名前に plproxy-psc-endpoint-all-ports が含まれるエンドポイントのプライベート サービス Connect エンドポイント IP にマップされます。

  • tunnel.<workspace-gcp-region>.gcp.databricks.com は、名前に ngrok-psc-endpoint が含まれるエンドポイントのプライベート サービス Connect エンドポイント IP にマップされます。

プライベート サービス接続の中間 DNS 名

バックエンドまたはフロントエンドのプライベート サービス接続を有効にするワークスペースの中間 DNS 名は<workspace-gcp-region>.psc.gcp.databricks.comです。 これにより、アクセスする必要のあるワークスペースのトラフィックを、ドキュメントなどのプライベート サービス Connect をサポートしていない他のDatabricksサービスから分離できます。

ステップ 11 (オプション): メタストア アクセスの構成

SQL アクセス制御リスト (ACL) などの機能には、 メタストアへのアクセスが必要です。 コンピュートプレーン VPC はデフォルトではパブリックインターネットにアクセスできないため、メタストアにアクセスできるクラウド NAT を作成する必要があります。 「リージョン別のコントロール プレーン サービス エンドポイントの IP アドレス」を参照してください。

さらに、ファイアウォールを構成して、他のすべてのソースからのイングレスおよびエグレストラフィックを防止することもできます。 または、VPC にクラウド NAT を設定しない場合は、外部メタストアへのプライベート接続を設定することもできます。

クラウド NAT

ステップ 12 (オプション):IP アクセス リストの設定

ユーザーからプライベートへのフロントエンド接続 サービス Connect ワークスペースでは、デフォルトによるパブリック アクセスが許可されます。

プライベートアクセス設定オブジェクトを作成するときに、ワークスペースへのパブリックアクセスを許可または拒否するように構成できます。 「ステップ 6: Databricks プライベート アクセス設定オブジェクトを作成する」を参照してください。

パブリック アクセスを拒否することを選択した場合、ワークスペースへのパブリック アクセスは許可されません。

パブリック アクセスを許可する場合は、Databricks ワークスペースの IP アクセス リストを構成できます 。 IP アクセス リストは、パブリック IP アドレスから発信されたインターネット経由の要求にのみ適用されます。 IP アクセス リストを使用して、Private Service Connect からのプライベート トラフィックをブロックすることはできません。

インターネットからのすべてのアクセスをブロックするには:

  1. ワークスペースの IP アクセス リストを有効にします。 「ワークスペースの IP アクセス リストの構成」を参照してください。

  2. BLOCK 0.0.0.0/0 IP アクセス リストを作成します。

なお、Private Service Connectで接続されたVPCネットワークからのリクエストは、IPアクセスリストの影響を受けません。 接続は、Private Service Connect アクセス レベル構成を使用して承認されます。 関連セクション「 ステップ 6: Databricks プライベート アクセス設定オブジェクトを作成する」を参照してください。

ステップ 13 (オプション): VPC サービスコントロールの設定

Private Service Connect を使用して Databricks サービスにプライベートに接続するだけでなく、 VPC Service Controls を構成してトラフィックをプライベートに保ち、データ流出のリスクを軽減できます。

コンピュートプレーンVPCからクラウドストレージへのバックエンドプライベートアクセスの設定

限定公開の Google アクセスまたは限定公開サービス接続を設定して、コンピュート プレーン VPC からクラウド ストレージ リソースに非公開でアクセスできます。

コンピュートプレーンプロジェクトを VPC Service Controls のサービス境界に追加する

Databricks ワークスペースごとに、次の Google クラウド プロジェクトを VPC Service Controls サービス境界に追加できます。

  • コンピュート プレーン VPC ホスト プロジェクト

  • ワークスペース ストレージ バケットを含むプロジェクト

  • ワークスペースのコンピュート リソースを含むサービス プロジェクト

この構成では、次の両方にアクセス権を付与する必要があります。

  • Databricksコントロール プレーンからのコンピュート リソースとワークスペースのストレージ バケット

  • コンピュートプレーン VPC からの Databricks マネージド ストレージ バケット

上記のアクセスは、上記の VPC Service Controls サービス境界で次のイングレスおよびエグレス ルールを使用して付与できます。

これらのイングレス ルールとエグレス ルールのプロジェクト番号を取得するには、 「プライベート サービス Connect (PSC) アタッチメント URI とプロジェクト番号」を参照してください。

イングレス・ルール

Databricks コントロール プレーン VPC から VPC サービス Controls Service Perimeter へのアクセスを許可するには、イングレス ルールを追加する必要があります。 次に、イングレス・ルールの例を示します。

From:
      Identities: ANY_IDENTITY
      Source > Projects =
        <regional-control-plane-vpc-host-project-number>
        <regional-control-plane-uc-project-number>
        <regional-control-plane-audit-log-delivery-project-number>
To:
      Projects =
         <list of compute plane Project Ids>
      Services =
         Service name: storage.googleapis.com
         Service methods: All actions
         Service name: compute.googleapis.com
         Service methods: All actions
         Service name: container.googleapis.com
         Service methods: All actions
         Service name: logging.googleapis.com
         Service methods: All actions
         Service name: cloudresourcemanager.googleapis.com
         Service methods: All actions
         Service name: iam.googleapis.com
         Service methods: All actions

エグレス・ルール

コンピュートプレーン VPC から Databricks で管理されるストレージ バケットへのアクセスを許可するエグレス ルールを追加する必要があります。 次に、エグレス・ルールの例を示します。

From:
      Identities: ANY_IDENTITY
To:
      Projects =
        <regional-control-plane-asset-project-number>
        <regional-control-plane-vpc-host-project-number>
      Services =
        Service name: storage.googleapis.com
        Service methods: All actions
        Service name: containerregistry.googleapis.com
        Service methods:
           containers.registry.read

VPC サービスコントロールで保護されたデータレイクストレージバケットへのアクセス

データレイク ストレージ バケットを含む Google クラウド プロジェクトを VPC サービス Controls サービス Perimeter に追加できます。

データレイク ストレージ バケットと Databricks ワークスペース プロジェクトが同じ VPC Service Controls サービス境界にある場合は、追加のイングレス ルールまたはエグレス ルールは必要ありません。

データレイク ストレージ バケットが別の VPC Service Controls サービス境界にある場合は、以下を設定する必要があります。

  • データレイク・サービス・ペリメーターのイングレス・ルール:

    • Databricks コンピュートプレーン VPC からのクラウドストレージへのアクセスを許可する

    • リージョン ページに記載されているプロジェクト ID を使用して、 コントロールDatabricks プレーン からクラウドVPC ストレージへのアクセスを許可します。Databricks Unity Catalogなどの新しいデータガバナンス機能を導入すると、このアクセスが必要になります。

  • Databricks コンピュート プレーン サービス境界のエグレス規則:

    • Allow egress to cloud: Storage on data lake Projects (データレイクプロジェクト上のクラウドストレージへの下りアクセスを許可する)