メインコンテンツまでスキップ

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

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

API参照情報については、プロビジョニングの「アカウント API リファレンス」を参照してください。

注記

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

この機能には Premium プランが必要です。

2つのプライベートサービスコネクトオプション

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

  • Front-end Private Service Connect (user to workspace): DatabricksRESTAPIDatabricks ConnectAPIVirtual Private Cloud()エンドポイントVPC エンドポイントを介して、 Webアプリケーション、 、 に接続できるようにします。
  • Back-end Private サービス ConnectDatabricks (classicVPC コンピュート plane to control plane): 顧客が管理する Virtual Private Cloud () 内の クラシック コンピュート リソースDatabricks を ワークスペース コア サービス (コントロール プレーン) に接続します。クラスターは、 Databricks REST APIs と セキュア クラスター接続 リレーの 2 つの宛先のコントロール プレーンに接続します。 宛先サービスが異なるため、この Private サービス Connect 接続タイプには 2 つの異なる VPC インターフェイスエンドポイントが含まれます。 データ プレーンとコントロール プレーンに関する情報については、「 Databricks アーキテクチャの概要」を参照してください。

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

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

important

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

次の図は、Private Service Connect ネットワークフローと Databricksを使用したアーキテクチャの概要です。

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

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

セキュリティ上の利点

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

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

用語

このガイドでは、Databricks の構成を説明するために、次の Google Cloud の用語を使用します。

Google の用語集

説明

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

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

ホストプロジェクト

Google が共有 VPC と呼んでいるものを使用している場合、これにより、ワークスペースのメイン プロジェクト ID であるコンピュート リソースとは別に、VPCに別の Google Cloud プロジェクトを使用できるため、VPC が作成されるプロジェクトになります。これは、従来のコンピュート プレーン VPC (バックエンド Private サービス Connect) とトランジット VPC (フロントエンド Private サービス Connect) の両方に適用されます

サービスプロジェクト

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

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

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

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

Databricks の用語

説明

Databricks クライアント

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

トランジットVPC

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

フロントエンド (User to ワークスペース) Private サービス Connect エンドポイント

トランジット VPC ネットワーク上に構成されたプライベート サービス Connect エンドポイントにより、クライアントは Databricks Web アプリケーションおよび APIsにプライベートに接続できます。

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

顧客管理VPC ネットワーク上に構成された Private サービス Connect エンドポイントは、従来のコンピュート プレーンと Databricks コントロール プレーン間のプライベート通信を可能にします。

クラシックコンピュート平面 VPC

ワークスペースのコンピュート VPCリソースをホストする ネットワーク。Databricks顧客管理のコンピュート平面 VPC は、Google Cloud 組織で構成します。

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

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

要件と制限事項

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

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

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

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

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

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

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

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

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

  • Databricks ユーザー (クライアント) と Databricks クラシック コンピュート プレーンを同じネットワーク上でホストする : このオプションでは、トランジット プレーン VPC とコンピュート プレーン VPC、同じ基になるVPC ネットワークを参照できます。このトポロジを選択した場合、そのDatabricks から ワークスペースへのすべてのアクセスは、その のフロントエンドVPC PrivateVPC サービス接続を経由する必要があります。「要件と制限事項」を参照してください。
  • Databricks ユーザー (クライアント) と Databricks クラシック コンピュート プレーンを別々のネットワークでホスト する: このオプションでは、ユーザーまたはアプリケーション クライアントは、異なるネットワーク パスを使用して異なるDatabricksワークスペースにアクセスできます。オプションで、トランジット VPC のユーザーが Private サービス Connect 接続を介してプライベートワークスペースにアクセスできるようにしたり、パブリックインターネット上のユーザーがワークスペースにアクセスできるようにしたりできます。
  • Host コンピュート plane for multiple Databricks ワークスペース on the same network : このオプションでは、コンピュート プレーン VPC for multiple Databricks ワークスペースは、同じ基になる VPC ネットワークを参照します。 このようなワークスペースはすべて、同じバックエンドの Private サービス Connect エンドポイントを共有する必要があります。 このデプロイ パターンでは、少数の Private サービス Connect エンドポイントを構成しながら、多数のワークスペースを構成できます。

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

関連するセキュリティ構成

また、次のネットワークセキュリティ機能を設定して、データとコンピュート環境をプライベートに保つこともできます。

  • 顧客管理VPCを提供し、それをコンピュート リソースに使用します。構成を制御するため、ファイアウォール構成を制御して、Databricks にデプロイされたワークロードを分離できます。
  • Private サービス Connect エンドポイントと IP 範囲 ACL を設定して、承認されたネットワークからのアクセスのみを許可します。
  • VPC Service Controls(VPC SC)を使用して、DBFS バケットやデータレイクバケットなどの Cloud Storage(GCS)リソースを保護します。
  • ワークスペースのコンピュートVPC DatabricksVPC Service Controlsプレーン を サービス境界に追加して、エグレスGoogle Cloud Storage サービスを サービスのリソースに制限します。

リファレンス・アーキテクチャ

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

  • トランジット VPC 上の Databricks クライアントを Databricks コントロールプレーンに転送します。 これには、Web アプリケーションと REST API アクセスの両方が含まれます。
  • Databricks コンピュート プレーン VPC ネットワークを Databricks コントロール プレーン サービスに。 これには、セキュリティで保護されたクラスター接続リレーと、 REST API エンドポイントのワークスペース接続が含まれます。
  • Databricks コンピュートプレーンを Databricks マネージド プロジェクトのストレージに移動。
  • Databricksネットワーク コンピュートVPC プレーンを GKEAPI サーバーに します。
  • Databricks コントロール プレーンをプロジェクト内のストレージに DBFS バケットを含めます。

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

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

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

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

地域別サービス添付資料参照

Private サービス Connect を有効にするには、リージョンの次のエンドポイントのサービス添付ファイル URI が必要です。

  • ワークスペースのエンドポイント。 これは、接尾辞 plproxy-psc-endpoint-all-portsで終わります。 これには 2 つの役割があります。 これは、バックエンドの Private サービス Connect が REST APIsのコントロール プレーンに接続するために使用されます。 これは、フロントエンドの Private サービス Connect で、トランジット VPC ワークスペース Web アプリケーションと REST APIsに接続するためにも使用されます。
  • セキュリティで保護されたクラスター接続 (SCC) リレー エンドポイント 。 これは、接尾辞 ngrok-psc-endpointで終わります。 これは、バックエンドの Private サービス Connect にのみ使用されます。 これは、 セキュア クラスター接続 (SCC) リレーのコントロール プレーンに接続するために使用されます。

リージョンのワークスペース エンドポイントと SCC リレー エンドポイント サービス添付ファイル URI を取得するには、「 Private サービス Connect (PSC) 添付ファイル URI とプロジェクト番号」を参照してください

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

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

  • DatabricksアカウントID

    1. アカウント管理者として、 Databricks アカウント コンソールに移動します。
    2. 左側のメニューの下部にある(スクロールが必要な場合があります)、[ユーザー]ボタン(人のアイコン)をクリックします。
    3. 表示されるポップアップで、ID の右側にあるアイコンをクリックしてアカウント ID をコピーします。

    アカウント ID を見つけます。

  • VPC コンピュート プレーン VPC のホスト プロジェクト ID、バックエンド プライベート サービス コネクトを有効にする場合

  • VPC トランジット VPC のホスト プロジェクト ID、フロントエンド Private サービス Connect を有効にする場合

  • ワークスペースのリージョン

important

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

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

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

サブネットを作成するには:

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

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

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

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

    サブネットの [目的] フィールドを [なし] に設定します。

  5. サブネットのプライベート IP 範囲 ( 10.0.0.0/24など) を設定します。

important

IP範囲は、次のいずれかで重複することはできません。

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

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

  • GKE クラスター IP range: Databricks ワークスペースを作成するときのフィールドです。

ページは通常、次のように表示されます。

サブネットを作成します。 6. サブネットが VPC の Google Cloud コンソールの VPC ビューに追加されたことを確認します。

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

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

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

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

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

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

  1. Google Cloud コンソールで Private サービス Connect にアクセスします。

  2. [接続されたエンドポイント ] タブをクリックします。

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

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

  5. [ターゲット サービス ] に、サービス添付ファイルの URI を入力します。

important

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

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

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

  3. エンドポイントのサブネットを選択します。 Private サービス コネクト エンドポイント用に作成したサブネットを指定します。

    VPC エンドポイント用に作成したサブネットを指定します

  4. エンドポイントの IP アドレスを選択します。 新しいIPアドレスが必要な場合:

    1. [IP アドレス ] ドロップダウン メニューをクリックし、[ IP アドレスの作成 ] を選択します。
    2. 名前と説明(オプション)を入力します。
    3. 静的 IP アドレスの場合は、[ 自動的に割り当てる ] または [ 自分で選択させる ] を選択します。
    4. [自分で選択] を選択した場合は、カスタム IP アドレスを入力します。
    5. 「予約」 をクリックします。
  5. ドロップダウンリストからネームスペースを選択するか、新しいネームスペースを作成します。 領域は、選択したサブネットワークに基づいて設定されます。

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

コンピュート平面 VPC からワークスペース サービス添付ファイル URI へのエンドポイントは、次のようになります。

コンピュート平面VPCからワークスペース サービス添付ファイル URI へのエンドポイントVPC。

コンピュート平面 VPC からワークスペース サービス添付ファイル URI へのエンドポイントは、次のようになります。

コンピュート プレーン VPC から SCC リレー サービス接続 URI へのエンドポイントVPC。

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

フロントエンドの Databricks クライアントからのプライベート アクセスをフロントエンド Private サービス Connect に構成するには:

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

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

important

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

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

    リージョンで使用するフルネームを取得するには、「 Private サービス接続 (PSC) の添付ファイル URI とプロジェクト番号」を参照してください

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

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

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

Google Cloud エンドポイントを登録する Databricks アカウント コンソールを使用します。 VPC エンドポイント設定 API を使用することもできます。

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

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

  3. [ エンドポイント VPC 登録する ] をクリックします。

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

    • VPC エンドポイント名 : VPC エンドポイントを識別するための人間が読める名前。 Databricks Private サービス Connect エンドポイント ID と同じものを使用することをお勧めしますが、これらが一致している必要はありません。
    • リージョン : この Private サービス Connect エンドポイントが定義されている Google Cloud リージョン。
    • Google Cloud VPC ネットワーク プロジェクト ID : このエンドポイントが定義されている Google Cloud プロジェクト ID。 バックエンド接続の場合、これはワークスペースの VPC ネットワークのプロジェクト ID です。 フロントエンド接続の場合、これはユーザー接続の起点となる VPC のプロジェクト ID であり、トランジット VPC と呼ばれることもあります。

    エンドポイントを登録する。

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

エンドポイントの種類

フィールド

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

VPC エンドポイント名 (Databricks では Google Cloud エンドポイント ID を一致させることをお勧めします)

psc-demo-user-cp

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

databricks-dev-entd-demo

Google Cloud リージョン

us-east4

Back-end コンピュート plane VPC REST/ワークスペース endpoint (plproxy-psc-endpoint-all-ports)

VPC エンドポイント名 (Databricks では Google Cloud エンドポイント ID を一致させることをお勧めします)

psc-demo-dp-rest-api

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

databricks-dev-xpn-host

Google Cloud リージョン

us-east4

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

VPC エンドポイント名 (Databricks では Google Cloud エンドポイント ID を一致させることをお勧めします)

psc-demo-dp-ngrok

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

databricks-dev-xpn-host

Google Cloud リージョン

us-east4

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

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

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

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

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

アカウント Databricksコンソールを使用して、ワークスペースの顧客管理 に関する情報をカプセル化する ネットワーク構成を作成します。VPCこのオブジェクトはワークスペースにアタッチされます。ネットワーク構成 API を使用することもできます。

  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

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

psc-demo-dp-rest-api

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

アカウントコンソールを使用して作成したネットワーク設定を使用してワークスペースを作成します。ワークスペース APIを使用することもできます。

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

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

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

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

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

    • ワークスペース名
    • リージョン
    • Google Cloud プロジェクト ID(ワークスペースのコンピュート リソースのプロジェクトで、 VPCのプロジェクト ID とは異なる場合があります)。
    • 「プライベートクラスターを有効にする 」がオンになっていることを確認します。
    • GKEマスターリソースのIP範囲
  5. Private サービス Connect 固有のフィールドを設定します。

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

手順 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 Cloud での DNS 解決の仕組みにより、1 つのトランジット VPC で両方のタイプのワークスペースを使用することはできません。

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

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

    1. [DNS 名 ] フィールドに「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 サービス Connect エンドポイントの Private サービス Connect エンドポイント IP を見つけます。この例では、Private サービス Connect エンドポイント psc-demo-user-cp の IP が 10.0.0.2であると仮定します。
    2. A レコードを作成して、ワークスペースの URL を Private サービス Connect エンドポイント IP にマップします。この場合、一意のワークスペース ドメイン名 ( 33333333333333333.3.gcp.databricks.comなど) を Private サービス Connect エンドポイントの IP アドレス (前の例では 10.0.0.2 でしたが、番号が異なる場合があります) にマップします。
    3. Aレコードを作成して、dp-<workspace-url> を Private サービス Connect エンドポイント IP にマップします。この場合、サンプルのワークスペース URL を使用すると、 dp-333333333333333.3.gcp.databricks.com 10.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にマッピングします。 フロントエンド接続の場合、通常、この手順が必要ですが、トランジット ネットワークからのフロントエンド接続を (Web ブラウザーのユーザー アクセスではなく) REST APIs のみ計画する場合は、この手順を省略できます。

以下は、Google Cloud Console がフロントエンドの Private サービス Connect 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 サービス Connect エンドポイントの Private サービス Connect エンドポイント IP を見つけます。nslookupなどのツールを使用してIPアドレスを取得します。

    Private サービス Connect エンドポイント の IP psc-demo-dp-rest-api10.10.0.2にマッピングします。

    以下は、Google Cloud Console に、バックエンドの Private サービス Connect 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 サービス Connect エンドポイントの Private サービス Connect エンドポイント IP を見つけます。この例では、Private サービス 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 がフロントエンドの Private サービス Connect エンドポイント IP に解決されることを確認します。

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

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

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

Private サービスコネクトの中間 DNS 名

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

手順 11 (省略可能): メタストア アクセスを構成する

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

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

クラウド NAT

ステップ 12 (オプション): IP アクセス リストを構成する

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

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

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

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

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

  1. ワークスペースの IP アクセス リストを有効にします。 ワークスペースの IP アクセス リストの構成を参照してください。
  2. BLOCK 0.0.0.0/0 IP アクセス リストを作成します。

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

ステップ 13 (オプション): VPC Service Controls を構成する

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

コンピュート プレーン VPC から Cloud Storage へのバックエンド プライベート アクセスを構成する

「限定公開 Google アクセス」または「非公開サービス コネクト」を設定すると、コンピュート平面 VPCからクラウドストレージリソースにプライベートアクセスすることができます。

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

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

  • コンピュートプレーン VPC ホストプロジェクト
  • ワークスペースのストレージバケットを含むプロジェクト
  • ワークスペースのコンピュート リソースを含むサービス プロジェクト

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

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

上記の VPC Service Controls サービス境界で、次の上り(内向き)ルールと下り(外向き)ルールを使用して、上記のアクセス権を付与できます。

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

イングレス ルール

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

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

エグレス ルール

DatabricksVPCで管理されるストレージ バケットへのアクセスを許可するには、エグレス ルールを追加する必要があります。次に、出力ルールの例を示します。

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: artifactregistry.googleapis.com
Service methods:
artifactregistry.googleapis.com/DockerRead'

VPC Service Controls によって保護されたデータレイク ストレージ バケットにアクセスする

データレイク ストレージ バケットを含む Google Cloud プロジェクトを VPC Service Controls サービス境界に追加できます。

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

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

  • データレイクサービス境界のイングレスルール:

    • Databricksコンピュート平面VPCからCloud Storageへのアクセスを許可する
    • リージョン ページに記載されているプロジェクト ID を使用して、Databricks コントロール プレーン VPC から Cloud Storage へのアクセスを許可します。このアクセスは、 Databricks が Unity Catalogなどの新しいデータガバナンス機能を導入する際に必要になります。
  • Egress rules on Databricks コンピュート プレーン サービス境界:

    • データレイク プロジェクト上の Cloud Storage への下り(外向き)を許可する