ワークスペースの 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 構成オブジェクトを作成し、既存の構成オブジェクトに新しいフィールドを追加する必要があります。
このリリースでは、設定した 顧客管理VPC を使用して、Private サービス Connect 接続で新しいワークスペースを作成できます。 Private サービス Connect 接続を既存のワークスペースに追加することはできません。 Private サービス Connect は、 Databricks管理 VPCを使用するワークスペースでは有効にできません。
次の図は、Private Service Connect ネットワークフローと Databricksを使用したアーキテクチャの概要です。
ファイアウォールの使用に関する詳細な図と詳細情報については、「 参照アーキテクチャ」を参照してください。
セキュリティ上の利点
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 デプロイのネットワーク アーキテクチャを示しています。
また、ファイアウォール アーキテクチャを使用して、パブリック パッケージ リポジトリと (省略可能な) Databricks マネージド メタストアへのエグレスを許可することもできます。 次の図は、エグレス制御用のファイアウォールを使用したフル (フロントエンドおよびバックエンド) Private サービス Connect デプロイのネットワーク アーキテクチャを示しています。
地域別サービス添付資料参照
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
- アカウント管理者として、 Databricks アカウント コンソールに移動します。
- 左側のメニューの下部にある(スクロールが必要な場合があります)、[ユーザー]ボタン(人のアイコン)をクリックします。
- 表示されるポップアップで、ID の右側にあるアイコンをクリックしてアカウント ID をコピーします。
-
VPC コンピュート プレーン VPC のホスト プロジェクト ID、バックエンド プライベート サービス コネクトを有効にする場合
-
VPC トランジット VPC のホスト プロジェクト ID、フロントエンド Private サービス Connect を有効にする場合
-
ワークスペースのリージョン
Databricks担当者は、Google Cloud プロジェクトからのプライベート サービス Connect 接続を受け入れるように設定されるとDatabricks確認の返信をします。これには最大3営業日かかる場合があります。
ステップ 2: サブネットを作成する
コンピュート プレーン VPC ネットワークで、Private サービス Connect エンドポイント専用の サブネット を作成します。 次の手順では Google Cloud コンソールの使用を前提としていますが、 gcloud
CLI を使用して同様のタスクを実行することもできます。
サブネットを作成するには:
-
Google Cloud Cloud コンソールで、 VPC リストページに移動します。
-
[ サブネットの追加 ] をクリックします。
-
名前、説明、および地域を設定します。
-
[Purpose ] フィールドが表示されている場合 (表示されない場合があります)、[ None] を選択します。
-
サブネットのプライベート IP 範囲 (
10.0.0.0/24
など) を設定します。
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を使用してサービスアタッチメントへのgcloud
CLIAPI エンドポイントを作成する手順については、Googleの記事「プライベートサービスConnectエンドポイントを作成する」 を参照してください。
作成したサブネットで、コンピュート平面VPCから次のサービスアタッチメントへのVPCエンドポイントを作成します。
- ワークスペースのエンドポイント。 これは、接尾辞
plproxy-psc-endpoint-all-ports
で終わります。 - セキュリティで保護されたクラスター接続リレー エンドポイント。 これはサフィックスで終わります
ngrok-psc-endpoint
Google Cloud コンソールで VPC エンドポイントを作成するには:
-
Google Cloud コンソールで Private サービス Connect にアクセスします。
-
[接続されたエンドポイント ] タブをクリックします。
-
[ + エンドポイントの接続 ] をクリックします。
-
「ターゲット 」で、「 公開済みサービス 」を選択します。
-
[ターゲット サービス ] に、サービス添付ファイルの URI を入力します。
ワークスペース リージョンの 2 つの Databricks サービス添付ファイル URI を取得するには、「 リージョン サービス添付ファイル リファレンス 」の表を参照してください。
-
エンドポイント名には、エンドポイントに使用する名前を入力します。
-
エンドポイントの VPC ネットワークを選択します。
-
エンドポイントのサブネットを選択します。 Private サービス コネクト エンドポイント用に作成したサブネットを指定します。
-
エンドポイントの IP アドレスを選択します。 新しいIPアドレスが必要な場合:
- [IP アドレス ] ドロップダウン メニューをクリックし、[ IP アドレスの作成 ] を選択します。
- 名前と説明(オプション)を入力します。
- 静的 IP アドレスの場合は、[ 自動的に割り当てる ] または [ 自分で選択させる ] を選択します。
- [自分で選択] を選択した場合は、カスタム IP アドレスを入力します。
- 「予約」 をクリックします。
-
ドロップダウンリストからネームスペースを選択するか、新しいネームスペースを作成します。 領域は、選択したサブネットワークに基づいて設定されます。
-
[エンドポイントの追加] をクリックします。
コンピュート平面 VPC からワークスペース サービス添付ファイル URI へのエンドポイントは、次のようになります。
コンピュート平面 VPC からワークスペース サービス添付ファイル URI へのエンドポイントは、次のようになります。
手順 4: フロントエンドのプライベート アクセスを構成する
フロントエンドの Databricks クライアントからのプライベート アクセスをフロントエンド Private サービス Connect に構成するには:
-
トランジット VPC ネットワークを作成するか、既存のネットワークを再利用します。
-
フロントエンドの Private サービス Connect エンドポイントにアクセスできる プライベート IP 範囲 を持つサブネットを作成または再利用します。
ユーザーがそのサブネット上の VM またはデバイスにアクセスできることを確認します。
-
トランジット VPC からワークスペース (
plproxy-psc-endpoint-all-ports
) サービスアタッチメントへの VPC エンドポイントを作成します。リージョンで使用するフルネームを取得するには、「 Private サービス接続 (PSC) の添付ファイル URI とプロジェクト番号」を参照してください 。
このエンドポイントの Google Cloud コンソールのフォームは、通常、次のようになります。
ステップ 5: VPC エンドポイントを登録する
Google Cloud エンドポイントを登録する Databricks アカウント コンソールを使用します。 VPC エンドポイント設定 API を使用することもできます。
-
Databricks アカウント コンソールに移動します。
-
[ クラウドリソース ] タブをクリックし、[ VPC エンドポイント] をクリックします。
-
[ エンドポイント VPC 登録する ] をクリックします。
-
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エンドポイント( | VPC エンドポイント名 (Databricks では Google Cloud エンドポイント ID を一致させることをお勧めします) |
|
Google Cloud VPCネットワークのプロジェクトID |
| |
Google Cloud リージョン |
| |
Back-end コンピュート plane VPC REST/ワークスペース endpoint ( | VPC エンドポイント名 (Databricks では Google Cloud エンドポイント ID を一致させることをお勧めします) |
|
Google Cloud VPCネットワークのプロジェクトID |
| |
Google Cloud リージョン |
| |
バックエンドコンピュートプレーン VPC SCCリレーエンドポイント( | VPC エンドポイント名 (Databricks では Google Cloud エンドポイント ID を一致させることをお勧めします) |
|
Google Cloud VPCネットワークのプロジェクトID |
| |
Google Cloud リージョン |
|
完了したら、アカウントコンソールの VPC エンドポイントリストを使用して、エンドポイントのリストを確認し、情報を確認できます。 一般的には、次のようになります。
手順 6: Databricks プライベート アクセス設定オブジェクトを作成する
ワークスペースのいくつかの Private Service Connect 設定を定義するプライベート アクセス設定オブジェクトを作成します。 このオブジェクトはワークスペースにアタッチされます。1 つのプライベート アクセス設定オブジェクトを複数のワークスペースにアタッチできます。プライベートアクセス設定オブジェクトを作成するには、「 プライベートアクセス設定オブジェクトの作成」を参照してください。
ステップ 7: ネットワーク設定を作成する
アカウント Databricksコンソールを使用して、ワークスペースの顧客管理 に関する情報をカプセル化する ネットワーク構成を作成します。VPCこのオブジェクトはワークスペースにアタッチされます。ネットワーク構成 API を使用することもできます。
-
ワークスペースの VPC をまだ作成していない場合は、ここで作成します。
-
Databricks アカウント コンソールに移動します。
-
「 クラウドリソース 」タブをクリックし、「 ネットワーク設定 」をクリックします。
-
[ネットワーク設定の追加 ] をクリックします。
フィールド | 値の例 |
---|---|
ネットワーク設定名 |
|
ネットワーク GCP プロジェクト ID |
|
VPC名 |
|
サブネット名 |
|
サブネットのリージョン |
|
GKEポッドのセカンダリIP範囲名 |
|
GKEサービスのセカンダリIP範囲名 |
|
セキュアなクラスター接続を中継するためのVPCエンドポイント |
|
VPCのRESTAPIs エンドポイント (ワークスペースへのバックエンド接続) |
|
ステップ 8: ワークスペースを作成する
アカウントコンソールを使用して作成したネットワーク設定を使用してワークスペースを作成します。ワークスペース APIを使用することもできます。
-
Databricks アカウント コンソールに移動します。
-
「 ワークスペース」 タブをクリックします。
-
[ ワークスペースの作成 ] をクリックします。
-
次の標準ワークスペース フィールドを設定します。
- ワークスペース名
- リージョン
- Google Cloud プロジェクト ID(ワークスペースのコンピュート リソースのプロジェクトで、 VPCのプロジェクト ID とは異なる場合があります)。
- 「プライベートクラスターを有効にする 」がオンになっていることを確認します。
- GKEマスターリソースのIP範囲
-
Private サービス Connect 固有のフィールドを設定します。
- [詳細設定 ] をクリックします。
- [ ネットワーク設定 ] フィールドで、前の手順で作成したネットワーク設定を選択します。
- [ プライベート接続 ] フィールドで、前のステップで作成したプライベートアクセス設定オブジェクトを選択します。 1 つのプライベート アクセス設定オブジェクトを複数のワークスペースにアタッチできることに注意してください。
-
[ 保存 ]をクリックします。
手順 9: ワークスペースの構成を検証する
ワークスペースを作成したら、ワークスペース ページに戻り、新しく作成したワークスペースを見つけます。 通常、ワークスペースが PROVISIONING
状態から RUNNING
状態に移行するには、30 秒から 3 分かかります。 ステータスが RUNNING
に変わったら、ワークスペースは正常に構成されています。
Databricks アカウント コンソールを使用して構成を検証できます。
-
[クラウドリソース ]、[ ネットワーク設定 ]の順にクリックします。アカウントコンソールを使用して、VPC のネットワーク設定を見つけます。 それを確認して、すべてのフィールドが正しいことを確認します。
-
[ワークスペース ] をクリックし、ワークスペースを見つけます。ワークスペースが実行されていることを確認します。
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 で両方のタイプのワークスペースを使用することはできません。
-
デプロイされた Databricks ワークスペースのワークスペース URL があることを確認します。 これはhttps://33333333333333.3.gcp.databricks.com に似た形をしています。 この URL は、ワークスペースを表示しているときに Web ブラウザーから取得するか、ワークスペースの一覧の アカウント コンソール から取得できます。
-
トランジット VPC ネットワークを含むプライベート DNS ゾーンを作成します。 Google Cloud Console のクラウド上で DNS ページを使用して、[ CREATE ZONE] をクリックします。
- [DNS 名 ] フィールドに「
gcp.databricks.com
」と入力します。 - [ ネットワーク] フィールドで、トランジット VPC ネットワークを選択します。
- [ 作成 ]をクリックします。
- [DNS 名 ] フィールドに「
-
DNS
A
レコードを作成して、ワークスペースの URL をplproxy-psc-endpoint-all-ports
Private サービス Connect エンドポイント IP にマップします。plproxy-psc-endpoint-all-ports
Private サービス Connect エンドポイントの Private サービス Connect エンドポイント IP を見つけます。この例では、Private サービス Connect エンドポイントpsc-demo-user-cp
の IP が10.0.0.2
であると仮定します。A
レコードを作成して、ワークスペースの URL を Private サービス Connect エンドポイント IP にマップします。この場合、一意のワークスペース ドメイン名 (33333333333333333.3.gcp.databricks.com
など) を Private サービス Connect エンドポイントの IP アドレス (前の例では10.0.0.2
でしたが、番号が異なる場合があります) にマップします。A
レコードを作成して、dp-<workspace-url>
を Private サービス Connect エンドポイント IP にマップします。この場合、サンプルのワークスペース URL を使用すると、dp-333333333333333.3.gcp.databricks.com
10.0.0.2
にマップされますが、これらの値は異なる場合があります。
-
ユーザーがユーザー VPC のウェブブラウザを使用してワークスペースにアクセスする場合、認証をサポートするには、
<workspace-gcp-region>.psc-auth.gcp.databricks.com
を10.0.0.2
にマッピングするA
レコードを作成する必要があります。この場合、us-east4.psc-auth.gcp.databricks.com
を10.0.0.2
にマッピングします。 フロントエンド接続の場合、通常、この手順が必要ですが、トランジット ネットワークからのフロントエンド接続を (Web ブラウザーのユーザー アクセスではなく) REST APIs のみ計画する場合は、この手順を省略できます。
以下は、Google Cloud Console がフロントエンドの Private サービス Connect DNS 構成で受け入れられたエンドポイントをどのように表示しているかを示しています。
ワークスペース URL と Databricks 認証サービスにマップされる A
レコードを含むゾーンのフロントエンド DNS 構成は、通常、次のようになります。
バックエンド DNS 構成
このセクションでは、コンピュートプレーン VPC ネットワークを含むプライベート DNS ゾーンを作成する方法について説明します。 ワークスペース URL を plproxy-psc-endpoint-all-ports
Private サービス Connect エンドポイント IP にマップするには、DNS レコードを作成する必要があります。
-
デプロイされた Databricks ワークスペースのワークスペース URL があることを確認します。 これはhttps://33333333333333.3.gcp.databricks.com に似た形をしています。 この URL は、ワークスペースを表示しているときに Web ブラウザーから取得するか、ワークスペースの一覧の アカウント コンソール から取得できます。
-
plproxy-psc-endpoint-all-ports
Private サービス Connect エンドポイントの Private サービス Connect エンドポイント IP を見つけます。nslookup
などのツールを使用してIPアドレスを取得します。Private サービス Connect エンドポイント の IP
psc-demo-dp-rest-api
を10.10.0.2
にマッピングします。以下は、Google Cloud Console に、バックエンドの Private サービス Connect DNS 構成の受け入れられたエンドポイントがどのように表示されるかを示しています。
-
次の
A
レコードマッピングを作成します。- ワークスペース ドメイン (
33333333333333.3.gcp.databricks.com
など) を10.10.0.2
- プレフィックスが
dp-
のワークスペース ドメイン (dp-33333333333333.3.gcp.databricks.com
など) を10.10.0.2
- ワークスペース ドメイン (
-
gcp.databricks.com
の同じゾーンで、プライベート DNS レコードを作成し、エンドポイント IP を使用して SCC リレー URL を SCC リレー エンドポイントngrok-psc-endpoint
にマッピングします。- SCC リレー URL の形式は
tunnel.<workspace-gcp-region>.gcp.databricks.com
です。 この例では、SCC リレー URL はtunnel.us-east4.gcp.databricks.com
です。 ngrok-psc-endpoint
Private サービス Connect エンドポイントの Private サービス Connect エンドポイント IP を見つけます。この例では、Private サービス Connect エンドポイントpsc-demo-dp-ngrok
の IP は10.10.0.3
です。A
レコードを作成して、tunnel.us-east4.gcp.databricks.com
を10.10.0.3
にマッピングします。
- SCC リレー URL の形式は
ゾーン内の A
レコードの一覧は、通常、次のようになります。
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 を構成したくない場合は、外部メタストアへのプライベート接続を構成することもできます。
ステップ 12 (オプション): IP アクセス リストを構成する
ユーザーから Private サービス Connect ワークスペースへのフロントエンド接続では、デフォルトによるパブリック アクセスが許可されます。
プライベートアクセス設定オブジェクトを作成するときに、ワークスペースへのパブリックアクセスを許可または拒否するように構成できます。 「手順 6: Databricks プライベート アクセス設定オブジェクトを作成する」を参照してください。
パブリックアクセスを拒否することを選択した場合、ワークスペースへのパブリックアクセスは許可されません。
パブリック アクセスを許可することを選択した場合は、Databricks ワークスペースの IP アクセス リストを構成できます 。 IP アクセス リストは、パブリック IP アドレスから発信されたインターネット経由の要求にのみ適用されます。 IP アクセスリストを使用して、Private サービスコネクトからのプライベートトラフィックをブロックすることはできません。
インターネットからのすべてのアクセスをブロックするには:
- ワークスペースの IP アクセス リストを有効にします。 ワークスペースの IP アクセス リストの構成を参照してください。
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 への下り(外向き)を許可する