Databricks へのプライベート接続を構成する
このページでは、ユーザーと Databricks ワークスペース間の フロントエンド プライベート接続の構成手順について説明します。ワークスペースのサーバレス実装にセキュリティを追加するには、フロントエンドのプライベート接続が必要です。
- Databricks でのプライベート接続の概要については、「クラシック コンピュート プレーン ネットワーク」を参照してください。
- Databricks へのバックエンドのプライベート接続を有効にするには、「 AWS PrivateLink を使用してプライベート接続を有効にする」を参照してください。
ワークスペースのフロントエンド PrivateLink を有効にする
フロントエンドの PrivateLink を使用して、AWS VPC またはオンプレミスネットワークから Databricks サービスへの安全なプライベート接続を確立し、パブリックインターネットではなく VPC インターフェースエンドポイントを介してトラフィックをルーティングします。
フロントエンドのPrivateLinkでは、次のことができます。
- プライベート アクセスの構成 : Databricks Web アプリケーション、REST API、Databricks Connect API へのフロントエンド PrivateLinkConnections を構成できます。
- プライベート アクセスを簡単に有効にする : PrivateLink は、新しいワークスペースの作成時に構成することも、既存のワークスペースで有効にすることもできます。
- 必須のプライベート接続を強制 する: ワークスペースのプライベート接続を必須にするには、ユーザーから Databricks へのプライベート接続と、コントロール プレーンからコンピュート プレーンへのプライベート接続を構成する必要があります。
必要条件
- DatabricksアカウントがEnterprise価格プランである必要があります。
- Databricksワークスペースでは、顧客管理VPCを使用する必要があります。既存のワークスペースをDatabricks管理VPCから顧客管理VPCに変換することはできません。「顧客管理VPCの設定」を参照してください。
- Databricks ワークスペースを設定し、ワークスペースの新しい VPC エンドポイントを作成するには、必要なすべての AWS アクセス許可が必要です。
- オンプレミスネットワークからワークスペースにアクセスするためのフロントエンド PrivateLink 接続を確立するには、Direct Connect または VPN を使用してオンプレミスネットワークを AWS VPC に接続する必要があります。
- ローカルネットワーク内のすべての関連するアドレス空間からのネットワークトラフィックが TCP ポート 443 を使用して VPC エンドポイントに接続できるようにする必要があります。
ステップ 1: VPC エンドポイントを作成する
フロントエンドエンドポイントはトランジット VPC から発生し、通常はユーザーのウェブアプリケーションアクセスのソースとして機能します。これは通常、ワークスペースのコンピュート プレーン VPCとは別のVPCであり、オンプレミス ネットワークに接続できます。複数の Databricks アカウントがある場合は、これらのアカウント間でフロントエンド VPC エンドポイントを共有できます。関連する各 Databricks アカウントのエンドポイントを登録します。
AWS Management Console でフロントエンド VPC エンドポイントを作成するには:
- AWSマネジメントコンソールの [VPCエンドポイント] セクションに移動します。
- 右上で、リージョンをトランジット VPC リージョンと同じリージョンに設定します。
- [ エンドポイントの作成 ] をクリックします。
- エンドポイントに名前を付けるときは、地域と、
databricks-us-west-2-workspace-vpce
などの単語 (workspace
またはfrontend
) を含めることをお勧めします。 - [サービス カテゴリ] で、 [NLB と GWLB を使用するエンドポイント サービス ] を選択します。
- [サービス名] フィールドに、サービス名を貼り付けます。PrivateLink VPCエンドポイント サービスの表を使用して、リージョンのサービス名を検索します。 「ワークスペース (REST API を含む)」 というラベルの付いたものをコピーします。
- [ Verify Service ] をクリックし、ページの緑色のボックスに [Service name Verified (サービス名確認済み )] が表示されていることを確認します。 「サービス名を確認できませんでした」というエラーが発生した場合は、VPC、サブネット、および新しい VPC エンドポイントのリージョンが正しく一致していることを確認します。
- [ VPC ] メニューで、トランジットVPCをクリックします。
- [ サブネット ] セクションで、サブネットを選択します。
- [ セキュリティ グループ ] セクションで、フロントエンド接続用に作成したセキュリティ グループを選択します。
- [ エンドポイントの作成 ] をクリックします。
ステップ 2: VPC エンドポイントを登録する
VPCAWS管理コンソールで エンドポイントを作成したら、 で登録するDatabricks VPCエンドポイント登録を確立します。ネットワーク設定は、作成後に更新することはできません。次の手順に従って、 VPC エンドポイントを登録します。
-
Databricks アカウント コンソールに移動します。
-
サイドバーの 「クラウドリソース 」をクリックします。
-
[ネットワーク ] を選択します。
-
垂直ナビゲーションから [VPC エンドポイント登録 ] をクリックします。
-
[VPCエンドポイントの登録] をクリックします。
-
VPC エンドポイント登録のわかりやすい名前を入力します。
VPCE us-west-2 for SCC
のように、地域と目的を含む命名規則を使用します。
-
適切な地域を選択します。リージョンは、ワークスペースのリージョンと、登録する AWS VPC エンドポイントのリージョンの両方と一致する必要があります。
-
AWS VPC エンドポイント ID を AWS VPC エンドポイント ID フィールドに貼り付けます。
-
[ 登録する new VPC endpoint ] をクリックします。
同じ顧客管理VPCを共有する複数のワークスペースがある場合は、それらの間で AWS VPC エンドポイントを共有できます。 複数の Databricks アカウントの場合は、各アカウントの AWS VPC エンドポイントを登録します。
ステップ 3: プライベートアクセス設定を作成する
プライベート アクセス設定は、ワークスペースの PrivateLink 接続について説明し、プライベート接続を有効にするために必要です。PrivateLink を使用するには、ワークスペースの作成時にプライベート アクセス設定オブジェクトをアタッチする必要があります。既存のワークスペースに追加することはできません。次の手順に従って、プライベート アクセス設定を作成します。
-
アカウントコンソールで、サイドバーの 「クラウドリソース 」をクリックします。
-
[ネットワーク ] を選択します。
-
サイドバーの 「プライベートアクセス設定 」をクリックします。
-
[プライベートアクセス設定の追加] をクリックします。
-
新しいプライベートアクセス設定オブジェクトの名前を入力します。
-
ワークスペースの地域に一致する地域を選択します。
-
[パブリックアクセスが有効] フィールドを設定します。
- False (デフォルト): フロントエンド接続は PrivateLink を介してのみアクセスでき、パブリック インターネット アクセスをブロックします。
- True : フロントエンド接続には、PrivateLink とパブリック インターネットの両方からアクセスできます。
-
プライベートアクセスレベル を選択します。
- アカウント: VPC接続をDatabricks アカウントに登録されている エンドポイントに制限します。
- エンドポイント : 接続を明示的な VPC エンドポイントのセットに制限します。フロントエンド VPC エンドポイントの登録を含めます。
-
[ プライベートアクセス設定を追加 ]をクリックします。
ステップ 4: PrivateLink オブジェクトを使用してワークスペースを作成する
この手順を完了するには、ワークスペースで既に顧客管理VPC とセキュリティで保護されたクラスタリング接続が使用されている必要があります。
-
ワークスペースを作成するには、「 ワークスペースを手動で作成する (既存の Databricks アカウント)」 を参照してください。ワークスペース URL、リージョン、 Unity Catalog、資格情報の構成、ストレージの構成などのワークスペース フィールドのガイダンスについては、その記事を参照してください。 「 保存 」ボタンはまだクリックしないでください。
-
詳細設定 をクリックして、追加のフィールドを表示します。
-
[ Private Link ] ドロップダウンで、作成したプライベートアクセス設定オブジェクトの名前を選択します。
-
保存 をクリックします。
-
ワークスペースを作成または更新した後は、ワークスペースが使用可能になるまで待ってから、クラスタリングを使用または作成します。
ワークスペースのステータスはステータス
RUNNING
のままで、VPC の変更はすぐに行われます。ただし、さらに 20 分間はクラスタリングを使用または作成することはできません。 この時間間隔が経過する前にクラスタリングを作成または使用すると、クラスタリングが正常に起動しない、失敗する、またはその他の予期しない動作が発生する可能性があります。
ステップ 5: ユーザー要求を Web アプリケーションにリダイレクトするように内部 DNS を構成する
ユーザー要求をフロントエンドの PrivateLink 接続にルーティングするには、プライベート DNS 設定を更新する必要があります。このプロセスにより、ワークスペース URL が VPC エンドポイントのプライベート IP に解決されます。
DNS マッピングを構成する
-
ワークスペースに PrivateLink が含まれていることを確認します。
-
ワークスペース URL をフロントエンド VPC エンドポイントのプライベート IP にマッピングするように内部 DNS を構成します。
-
nslookup
コマンドを使用してDNS解決をテストします。Bashnslookup my-workspace-name-here.cloud.databricks.com
応答例:
Non-authoritative answer:
my-workspace-name-here.cloud.databricks.com canonical name = oregon.cloud.databricks.com.
oregon.cloud.databricks.com canonical name = a89b3c627d423471389d6ada5c3311b4-f09b129745548506.elb.us-west-2.amazonaws.com.
Name: a89b3c627d423471389d6ada5c3311b4-f09b129745548506.elb.us-west-2.amazonaws.com
Address: 44.234.192.47F
DNS マッピングの例
AWS リージョン us-east-1 にフロントエンド VPC エンドポイントがあるワークスペースの場合:
デフォルトのDNSマッピング:
myworkspace.cloud.databricks.com
はnvirginia.privatelink.cloud.databricks.com
にマップします。この場合、nvirginia
は、そのリージョンのコントロール プレーン インスタンスの短い名前です。nvirginia.privatelink.cloud.databricks.com
はnvirginia.cloud.databricks.com
にマップします。nvirginia.cloud.databricks.com
は AWS パブリック IP にマップされます。
変更後に必要なDNSマッピング:
myworkspace.cloud.databricks.com
はnvirginia.privatelink.cloud.databricks.com
にマップします。nvirginia.privatelink.cloud.databricks.com
はフロントエンド接続のために VPC エンドポイントのプライベート IP にマッピングされます。
構成オプション
ワークスペース URL をオンプレミスネットワークから VPC エンドポイントのプライベート IP にマッピングするには、次のいずれかのオプションを選択します。
- AmazonDNS を使用するようにワークスペース URL の条件付き転送を構成します。
- VPC エンドポイントのプライベート IP にマッピングするオンプレミス DNS のワークスペース URL の A レコードを作成します。
myworkspace.cloud.databricks.com
が VPC エンドポイントのプライベート IP を直接指す直接マッピングを作成します。
必要なDNSレコード
DNS サーバー上に次のレコードを作成して、すべてのサービスにアクセスできるようにします。
レコードの種類 | レコード名 | Value |
---|---|---|
A | <deployment-name>.cloud.databricks.com | PrivateLinkインターフェースIP |
CNAME | dbc-dp-<workspace-id>.cloud.databricks.com | <deployment-name>.cloud.databricks.com |
検証
DNS設定を更新した後:
- トランジット VPC から Databricks ワークスペース Web アプリケーションにアクセスして、構成をテストします。
- REST API 接続をテストします。
- テストに必要な場合は、トランジット VPC に VPC エンドポイントを作成します。
エラーが発生した場合は、必要なすべての DNS レコードが正しく設定されていることを確認してください。
ステップ 6: 統合ログインでフロントエンド PrivateLink を構成する
プレビュー
フロントエンドの PrivateLink を使用した統合ログインは、プライベート プレビュー段階です。このプレビューへのアクセスを要求するには、Databricks アカウント チームに連絡する必要があります。統合ログインの詳細については、「 統合ログインを有効にする」を参照してください。
ユーザーが公共のインターネットにアクセスできる場合、この手順は必要ありません。
統合ログインが有効になっているワークスペースにユーザーがログインすると、認証フローの accounts.cloud.databricks.com
にリダイレクトされます。フロントエンドの PrivateLink が有効になっていて、ユーザーがパブリック インターネットにアクセスできないワークスペースで統合ログインを使用するには、次の手順に従って ID プロバイダーと内部 DNS を構成する必要があります。
ID プロバイダーで PrivateLink リダイレクト URI を承認します
- アカウント管理者として、アカウントコンソールにログインします。
- サイドバーで、 設定 をクリックします。
- 認証 タブをクリックします。
- 認証 の横にある 管理 をクリックします。
- [ ID プロバイダーによるシングル サインオン ] を選択します。
- 続行 をクリックします。
- [Databricks リダイレクト URL ] フィールドの値をコピーします。
accounts
をaccounts-pl-auth
に置き換えて、Databricks PrivateLink リダイレクト URI を取得します。- ID プロバイダーに移動します。
- Databricks PrivateLink リダイレクト URI を追加のリダイレクト URL として追加します。SAML を使用して SSO を構成する場合は、Databricks PrivateLink リダイレクト URI も追加のエンティティ ID として追加します。
アカウントにプライベート リンク ワークスペースと非プライベート リンク ワークスペースの両方がある場合は、ID プロバイダーのリダイレクト URL から Databricks リダイレクト URL と account
を削除しないでください。
トランジット VPC のプライベートホストゾーンを設定する
トランジット VPC で次の設定を実行して、DatabricksPrivateLink リダイレクト URI がワークスペース VPC エンドポイントの VPC エンドポイントのプライベート IP アドレスにマップされていることを確認します。
- トランジット VPC から、
nslookup
Unix コマンドラインツールを使用して、ワークスペース URL を使用して DNS 解決を取得します。「ステップ 5: ユーザー要求を Web アプリケーションにリダイレクトするように内部 DNS を構成する」の例を参照してください。 - PrivateLink ワークスペースのコントロール プレーン インスタンス URL をコピーします。コントロールプレーンインスタンスのURLは、
<region>.privatelink.cloud.databricks.com
形式です。 - トランジット VPC で、ドメイン名
privatelink.cloud.databricks.com
のプライベートホストゾーンを作成します。 accounts-pl-auth.privatelink.cloud.databricks.com
を解決する CNAME レコードをコントロールプレーンインスタンス URL に追加します。- トランジット VPC から Databricks PrivateLink リダイレクト URI にアクセスして、構成をテストします。