0
0

【Databricks】PrivateLink 接続について調べてみた

Posted at

背景・目的

DatabricksでAWS PrivateLinkを構成する記事を見つけたので、調べてみました。

まとめ

AWS PrivateLinkを使用したDatabricksへの接続は、下記の特徴があります。

特徴 説明
概要 フロントエンドPrivateLinkとバンクエンドPrivateLinkがある。

・フロントエンドPrivateLinkは、ユーザとDatabricksコントロールプレーン間の接続
・バックエンドPrivateLinkは、Databricksアカウント内のコントロールプレーンとユーザアカウントのコンピュートプレーン間の接続
目的 トラフィックをパブリックNWに公開しないですむ
前提 ・E2バージョンのプラットフォームであること
・Enterprise の料金プランであること
制約 ・一度作成したNW構成や、VPCエンドポイントの登録は更新ができない

概要

AWS PrivateLink を有効にするを元に整理します。

AWS PrivateLink は、トラフィックをパブリック ネットワークに公開することなく、AWS VPC およびオンプレミス ネットワークから AWS のサービスへのプライベート接続を提供します。E2 バージョンのプラットフォーム上の Databricks ワークスペースは、次の 2 つの接続タイプの PrivateLink 接続をサポートします。

  • そもそも、AWSのPrivate Linkとは?
    • トラフィックのパブリックNWに公開しない
    • VPC、オンプレミスNWからAWSサービスへのプライベート接続を提供

フロントエンド (ユーザーからワークスペースへ) : フロントエンド PrivateLink 接続により、ユーザーは VPC インターフェイス エンドポイント経由で Databricks Web アプリケーション、REST API、および Databricks Connect API に接続できます。

バックエンド (コンピューティング プレーンからコントロール プレーン) :顧客管理の VPC (コンピューティング プレーン) 内の Databricks ランタイム クラスターは、Databricks クラウド アカウント内のDatabricks ワークスペースのコア サービス (コントロール プレーン) に接続します。クラスターは、R​​EST API (Secrets API など) と安全なクラスター接続リレーという 2 つの宛先のコントロール プレーンに接続します。この PrivateLink 接続タイプには、2 つの異なる宛先サービスがあるため、2 つの異なる VPC インターフェイス エンドポイントが関係します。

  • Databricks E2バージョンのプラットフォーム上のDatabricks Workspaceは2つの接続タイプをサポート
    • フロントエンド:
      • フロントエンド PrivateLink接続により、ユーザはVPCe経由で下記に接続可能。
        • Databricks Webアプリケーション
        • REST API
        • Databricks Connect API
    • バックエンド:
      • 顧客管理のVPC内のDatabricksランタイムクラスタは、Databricksクラウドアカウント内のDatabricksワークスペース内のコントロールプレーンに接続する。
      • クラスタは、下記の2つの宛先コントロールプレーンに接続する。
      • 異なる宛先サービスがあるため、2つの異なるVPCインターフェイスエンドポイントが関係する。

フロントエンドとバックエンドの PrivateLink 接続の両方を実装することも、そのうちの 1 つだけを実装することもできます。この記事では、PrivateLink 接続タイプの一方または両方を構成する方法について説明します。フロントエンド接続とバックエンド接続の両方に PrivateLink を実装する場合、オプションでワークスペースのプライベート接続を必須にすることができます。これは、Databricks がパブリック ネットワーク経由の接続を拒否することを意味します。これらの接続タイプのいずれかの実装を拒否した場合、この要件を強制することはできません。

  • フロントエンドとバックエンドのPrivateLinkの両方を実装することも、そのうち1つだけを実装することもできる
  • 両方に対して、PrivateLinkを有効にした場合に、オプションでワークスペースのプライベート接続を必須にすることができる。
    • つまり、パブリックNW経由の接続を拒否することができる。

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

用語の整理

分類 用語 説明
AWS AWS プライベートリンク トラフィックをパブリック ネットワークに公開することなく、AWS VPC およびオンプレミス ネットワークから AWS サービスへのプライベート接続を提供する AWS テクノロジー。
AWS VPCエンドポイントサービス AWS VPC エンドポイント サービスは、PrivateLink を利用したサービス。

各 Databricks コントロール プレーン (通常はリージョンごとに 1 つ) は、PrivateLink の 2 つの AWS VPC エンドポイント サービスを公開します。
ワークスペース VPC エンドポイント サービスは、REST API の Databricks フロントエンド PrivateLink 接続または Databricks バックエンド PrivateLink 接続の両方に適用されます。Databricks は、安全なクラスター接続リレー用に別の VPC エンドポイント サービスを公開します。
AWS VPC エンドポイント AWS VPC インターフェイス エンドポイントにより、 VPC と AWS PrivateLink を利用した VPC エンドポイント サービス間のプライベート接続が可能になります。AWS VPC インターフェイス エンドポイントを作成して、Databricks に登録する必要があります。VPC エンドポイントを登録すると、AWS VPC エンドポイントを参照する VPC エンドポイント登録と呼ばれる Databricks 固有のオブジェクトが作成されます。
Databricks フロントエンド PrivateLink ユーザーが Databricks Web アプリケーション、REST API、および Databricks Connect API に接続するための PrivateLink 接続。
バックエンド PrivateLink Databricksコントロール プレーンに接続するための AWS アカウントのコンピューティング プレーンの PrivateLink 接続)。
Databricks ネットワーク構成 「顧客管理 VPC の構成」に関する重要な情報を記述する Databricks オブジェクト。PrivateLink 接続 (フロントエンドまたはバックエンド) を実装する場合、ワークスペースは顧客管理の VPC を使用する必要があります。PrivateLink バックエンド サポートの場合のみ、ネットワーク構成には、バックエンド接続の VPC エンドポイントを識別する追加のプロパティが必要です。
Databricks プライベート アクセス設定オブジェクト ワークスペースの PrivateLink 接続を記述する Databricks オブジェクト。フロントエンド、バックエンド、またはその両方を使用するかどうかに関係なく、ワークスペースの作成中にプライベート アクセス設定オブジェクトをワークスペースにアタッチする必要があります。これは、ワークスペースで AWS PrivateLink を使用する意図を表します。パブリック ネットワーク アクセス用の AWS PrivateLink のフロントエンド ユースケースの設定を制御します。どの VPC エンドポイントにワークスペースへのアクセスを許可するかを制御します。
Databricks ワークスペース構成オブジェクト ワークスペースを記述する Databricks オブジェクト。PrivateLink を有効にするには、このオブジェクトが Databricks プライベート アクセス設定オブジェクトを参照する必要があります。バックエンド PrivateLink の場合、ワークスペースには、使用する VPC エンドポイント登録を指定する 2 つの追加フィールドを備えた Databricks ネットワーク構成オブジェクトも必要です。1 つはコントロール プレーンの安全なクラスター接続リレー用で、もう 1 つは REST API にアクセスするためにワークスペースに接続します。

既存の PrivateLink 構成オブジェクトの更新

新規と既存のWorkspaceに対して変更ができないオブジェクトがあるので、注意が必要とのことです。

image.png

※ 出典:「既存の PrivateLink 構成オブジェクトの更新

ネットワークの流れ

image.png

要件

  • Databricksアカウント

    • E2バージョンのプラットフォームにあること
    • Enterprise のプランであること
      image.png

    ※出典:Platform Tiers and Add-Ons

  • Databricksワークスペース

    • ワークスペースは、E2バージョンをサポートするAWSリージョンに存在すること
    • フロントエンドのPrivateLink接続を追加するには、顧客管理のVPCの構成を使用する
    • バックエンドの実装する場合は、セキュアクラスター接続を使用する必要がある

考察

今回、PrivateLinkを使用したDatabricksへの接続について整理しました。
私が契約している料金プランは、PremiumのためPrivateLinkを有効にできず、実際手を動かしていません。
やはり手を動かして確認しないとリアリティがありませんでした。

今後、契約プランを見直して試してみるかもしれません。

参照

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0