Databricksへの従来のプライベート接続を構成する
このページでは、 AWS Private Link のクラシック コンピュート プレーン (バックエンド) プライベート接続を有効にするための設定ステップを提供します。
- Databricks へのインバウンドプライベート接続を有効にするには、ワークスペースのインバウンド PrivateLink を構成するを参照してください。
- アーキテクチャの概念と展開オプションについては、 「PrivateLink の概念」を参照してください。
古典的なコンピュート プレーンのプライベート リンクを作成する理由は何ですか?
クラシック コンピュート プレーンのプライベート リンク接続を構成すると、データ処理環境に重要なセキュリティとコンプライアンスの利点が提供されます。
- 強化されたセキュリティ : Databricks クラスターがパブリック インターネット経由でコントロール プレーンと通信するのを防ぎ、データ ワークロードをパブリック ネットワークから分離します。
- コンプライアンス要件 : すべての内部クラウド トラフィックをプライベート ネットワーク上に維持することを要求する、厳格な規制および企業のコンプライアンス要件を満たすのに役立ちます。
- データ流出制御 : データをアクティブに処理するコンピュート プレーンからの接続を保護することで、データ流出に対する強力な保護層を追加します。
アーキテクチャの概要
クラシック コンピュート プレーン プライベート リンク (クラシック コンピュートからコントロール プレーン) は、顧客VPC内のDatabricksクラシック コンピュート リソースをワークスペース コア サービスに接続します。 Classic コンピュートは、 Databricks REST APIsのコントロール プレーンと安全なクラスター接続リレーに接続します。
「Databricks への従来のプライベート接続を構成する」を参照してください。
必要条件
- DatabricksアカウントがEnterprise価格プランである必要があります。
- Databricks ワークスペースでは、クラシック コンピュート プレーン (バックエンド) Private Link およびクラシック コンピュート プレーンを持つワークスペースのインバウンド (フロントエンド) Private Link に顧客管理 VPC を使用する必要があります。サーバレス専用ワークスペースとアウトバウンド (サーバレス コンピュート プレーン) Private Link には、顧客管理 VPC は必要ありません。Databricks マネージド VPC でデプロイされたクラシック コンピュート プレーンを持つワークスペースでは、インバウンド Private Link を使用できません。顧客管理VPCの設定を参照してください。
- Databricks ワークスペースでは、安全なクラスター接続を使用する必要があります。安全なクラスター接続を使用しない古いワークスペースにクラシック コンピュート プレーンのプライベート リンクを追加するには、 Databricksアカウント チームにお問い合わせください。
- Databricks ワークスペースを設定し、ワークスペースの新しい VPC エンドポイントを作成するには、必要なすべての AWS アクセス許可が必要です。
ベストプラクティス
Databricks では、回復力があり管理しやすいセットアップのために次のことを推奨しています。
- VPCエンドポイントの共有 : クラシックVPCエンドポイントはVPCレベルのリソースであるため、同じ顧客管理VPCを使用する複数のワークスペース間で共有できます。
- VPC エンドポイント用の個別のサブネット : 最小権限の原則に従い、ネットワーク管理を簡素化するために、VPC エンドポイント専用のサブネットを作成します。
- 個別のセキュリティ グループ : クラシック コンピュートおよびVPCエンドポイントに個別のセキュリティ グループを使用して、きめ細かいアクセス制御を適用します。
- ネットワークのサイズを慎重に計画する : VPC とサブネットに十分な IP アドレス空間があることを確認します。「顧客管理VPC構成」を参照してください。
ステップ 1: AWS ネットワークオブジェクトを設定する
AWSマネジメントコンソールを使用してこれらのオブジェクトを作成したり、ネットワーク用のTerraformプロバイダーなどのツールでプロセスを自動化したりできます。
VPC設定を構成する
- まだ設定していない場合は、ワークスペースに VPC を設定します。別のワークスペースの VPC を再利用できます。VPCを作成するには、 「顧客管理VPC構成」を参照してください。 Private Link のワークスペースを更新する場合は、すでに顧客管理VPCが使用されていることを確認してください。
- VPC で DNS ホスト名 と DNS 解決の 両方が有効になっていることを確認します。
- ネットマスクが少なくとも
/25である VPC の IPv4 CIDR ブロックを選択します。
ネットワークACLを構成する
Databricks では、 0.0.0.0/0 を許可リストに追加するために、サブネットレベルのネットワーク ACL が必要です。 エグレス トラフィックを制御するには、エグレス ファイアウォールまたはプロキシ アプライアンスを使用してほとんどのトラフィックをブロックしますが、Databricks が接続する必要がある URL を許可します。 ファイアウォールと送信アクセスの構成を参照してください。
VPC エンドポイント サブネットを作成する (推奨)
- 追加のVPCサブネットを作成して設定します(任意)。
- コンピュート プレーンのプライベート リンクVPCエンドポイントや、他のAWSサービスへのオプションVPC VPCエンドポイントを含む、VPC エンドポイントの専用サブネットを作成します。 このサブネットは、VPC エンドポイントを作成するときに選択するものであり、ネットワーク接続を維持しながら、ワークスペースのサブネットから分離されることを保証します。
- VPC エンドポイントサブネットには、ワークスペースサブネットのルートテーブルとは異なる別のルートテーブルをアタッチします。このルートテーブルには、ローカル VPC のデフォルトルートが 1 つだけ必要です。
セキュリティグループを作成する
安全な接続を確保するために、Databricks では、エンドポイントごとに個別のグループを使用するのではなく、2 つのプライマリ セキュリティ グループを使用することをお勧めします。
-
ワークスペースセキュリティグループ :ワークスペースリソースに適用されます。
-
プライベートリンクエンドポイントセキュリティグループ : すべての VPC エンドポイントに適用されます。このグループでは、ワークスペース セキュリティ グループをソースとして使用し、指定されたポートで受信規則が必要です。エンドポイント セキュリティ グループには送信規則は必要ありません。
-
ワークスペースVPCエンドポイント セキュリティ グループ : 「セキュリティ グループ」を参照
ワークスペースでコンプライアンスセキュリティプロファイルを使用している場合、他のポートと同じ方向ルールに従って、セキュアクラスター接続リレー用のFIPSエンドポイントをサポートするためにポート2443へのアクセスも許可する必要があります。
セキュリティグループのルールには方向性があるため、両方のグループで一致するインバウンドルールとアウトバウンドルールは必要ありません。ワークスペースのセキュリティグループはPrivate Linkエンドポイントセキュリティグループへのアウトバウンドアクセスを許可する必要があり、エンドポイントセキュリティグループはワークスペースセキュリティグループからのインバウンドアクセスを許可する必要があります。セキュリティグループはステートフルであるため、リターントラフィックは自動的に許可されます。したがって、エンドポイントのセキュリティグループにアウトバウンドルールは必要ありません。この最小限の特権構成は、「Security Reference Architectures (SRA) Terraformテンプレート」に実装されているものです。
ステップ 2: VPC エンドポイントを作成する
クラシック コンピュート プレーンのプライベート リンクの場合、安全なクラスター接続リレーとワークスペース用のVPCエンドポイントを作成し、 Databricks REST APIsへのコンピュート プレーンの呼び出しを有効にします。 AWS マネジメントコンソールを使用して VPC エンドポイントを管理する方法については、AWS の記事「AWS マネジメントコンソールで VPC エンドポイントを作成する」を参照してください。同じ顧客管理VPCを使用する複数のワークスペース間でクラシックVPCエンドポイントを共有できます。
ワークスペース VPC エンドポイントを作成する
AWS マネジメントコンソールでクラシック VPC エンドポイントを作成するには:
-
AWSマネジメントコンソールの [VPCエンドポイント] セクションに移動します。
-
右上で、領域をワークスペースと同じ領域に設定します。
-
[ エンドポイントの作成 ] をクリックします。
-
リージョンと
workspaceという単語を組み込んで、ワークスペース VPC エンドポイントにdatabricks-us-west-2-workspace-vpceなどのエンドポイントに名前を付けます。 -
[サービス カテゴリ] で、 [ネットワーク ロード バランサー (NLB) とゲートウェイ ロード バランサー (GWLB) を使用するエンドポイント サービス] を選択します。
-
[サービス名] フィールドに、サービス名を貼り付けます。リージョンのVPCPrivateLinkVPC エンドポイント サービスの 表から、リージョンの エンドポイント サービス ドメインを取得します。
最初に作成する VPC エンドポイントで、ワークスペースのリージョンサービス名をコピーします。
-
[サービスの検証] をクリックし、ページの緑色のボックスに 検証されたサービス名 が表示されていることを確認します。 「サービス名を検証できませんでした」というエラーが発生した場合は、VPC、サブネット、新しい VPC エンドポイントのリージョンが一致していることを確認してください。
-
[ VPC ] フィールドで、ワークスペース VPC を選択します。
-
[サブネット] セクションで、VPC エンドポイントを作成するサブネットを選択します。VPC エンドポイント用に別の専用サブネットを作成した場合は、そのサブネットを選択します。それ以外の場合は、Databricks ワークスペース サブネットの 1 つを選択します。
-
[セキュリティ グループ] セクションで、 「ステップ 1: AWSネットワーク オブジェクトを構成する」でクラシック接続用に作成したセキュリティ グループを選択します。
-
[追加設定] で、 [プライベート DNS 名を有効にする] オプションをオンにします。
-
[ エンドポイントの作成 ] をクリックします。
SCCリレーVPCエンドポイントを作成する
- 前の手順を繰り返して、セキュアなクラスタリング接続リレー エンドポイントを作成します。 PrivateLink VPC エンドポイント サービスのテーブルを使用して、セキュリティで保護されたクラスタリング接続リレーのリージョン サービス名を取得します。Databricks では、エンドポイント名にリージョンと
sccという単語を含めることをお勧めします (例:databricks-us-west-2-scc-vpce)。
エンドポイントで [プライベート DNS 名を有効にする] オプションを有効にすると、クラシック VPC エンドポイントでは AWS DNS 解決が自動的に使用されます。インバウンド プライベート リンクも構成する場合は、ユーザー リクエストをインバウンド VPC エンドポイントにルーティングするように DNS を設定する必要があります。包括的な DNS 構成ガイダンスについては、 「AWS インバウンド Private Link の DNS を構成する」を参照してください。
ステップ 3: Private Link オブジェクトを登録する
Private Link 構成に関連するオブジェクトには、次のようないくつかの種類があります。
-
VPCエンドポイント登録 : AWSマネジメントコンソールでVPCエンドポイントを作成した後、それらをDatabricksに登録して、 VPCエンドポイント登録を確立します。 VPC エンドポイントの登録は後で更新できません。
- クラシック VPC エンドポイントの場合、リージョン フィールドがワークスペースのリージョンと、登録する AWS VPC エンドポイントのリージョンと一致していることを確認します。インバウンド プライベート リンクの場合、リージョン フィールドは、トランジット VPC リージョンと、ワークスペースのインバウンド接続の AWS VPC エンドポイントのリージョンと一致する必要があります。
- クラシック VPC エンドポイントとインバウンド VPC エンドポイントを登録するには、 「VPC エンドポイント登録の管理」の手順に従います。
-
ネットワーク構成 (クラシックVPCエンドポイントにのみ必要) : ネットワーク構成には顧客管理VPCに関する詳細情報が含まれ、2 つのクラシック コンピュート プレーンのプライベート リンク構成フィールドが含まれます。
- ネットワーク構成を作成するには、 「VPC を Databricks に登録する」を参照してください。顧客管理 VPC、サブネット、セキュリティ グループの包括的な要件については、 「顧客管理VPC構成」を参照してください。 バックエンドプライベート接続 セクションで、次のように従来の VPC エンドポイント登録のフィールドを設定します。
- 最初のフィールドで、VPC セキュア クラスター接続リレー の エンドポイント登録を選択します。
- 2 番目のフィールドで、VPC エンドポイント登録に ワークスペース(REST API) を選択します。
- ネットワーク構成を作成した後は、更新することはできません。
-
プライベートアクセス構成 : ワークスペースのプライベートアクセス構成オブジェクトには、AWS Private Link 接続の設定が含まれています。同じ AWS リージョン内の複数のワークスペースに対して、単一のプライベートアクセス設定オブジェクトを使用できます。プライベート アクセス設定 (PAS) オブジェクトを作成するには、 「プライベート アクセス設定の管理」を参照してください。
ステップ 4: Private Link オブジェクトを使用してワークスペースを作成または更新する
ワークスペースは、既に顧客管理VPC とセキュリティで保護されたクラスター接続を使用している必要があります。
- ここの指示に従ってワークスペースを作成します。このページでは、ワークスペースの URL、リージョン、 Unity Catalog統合、資格情報の構成、ストレージ構成などの主要なワークスペース設定を構成する方法について説明します。 まだ 「保存」 ボタンをクリックしないでください。
- 詳細設定 をクリックして、追加のフィールドを表示します。
- Virtual Private Cloud のメニューで、作成した Databricks ネットワーク構成を選択します。
- [Private Link ] 見出しの下にあるメニューをクリックし、作成したプライベートアクセス設定オブジェクトの名前を選択します。
- [ 保存 ]をクリックします。
ワークスペースを作成すると、そのステータスがRUNNINGに変わり、関連する VPC ネットワークの更新がすぐに適用されます。ただし、クラスターを作成または使用する前に、ステータスがRUNNINGと表示されてからさらに 20 分待ってください。この時間より前にクラスターを作成または使用しようとすると、起動失敗、エラー、またはその他の予期しない動作が発生する可能性があります。
ステップ 5: 他の AWS サービスの VPC エンドポイントを追加する
クラシック コンピュート プレーン Private Link を実装する場合、 AWSサービス ( S3 、 STS 、 Kinesis ) へのクラスター接続のための 2 つのアプローチのいずれかを選択する必要があります。
- 標準構成 (オプション 1) : オプションの S3、STS、Kinesis VPC エンドポイントに加えて、NAT ゲートウェイとインターネット ゲートウェイ (または同様の顧客管理インフラストラクチャ) を使用したアウトバウンド インターネット アクセスが必要です。
- 完全にプライベートな構成 (オプション 2) : S3、STS、Kinesis VPC エンドポイントを必要とすることで、NAT ゲートウェイとインターネット ゲートウェイが不要になります。
オプション1: 推奨
一般的なユースケースでは、Databricks は次の VPC エンドポイントを作成することをお勧めします。これにより、クラシック コンピュート プレーン内のクラスターおよびその他のコンピュート リソースが、 AWS PrivateLink 経由でAWSネイティブ サービスに直接接続できるようになります。 これらの VPC エンドポイントを、従来の VPC エンドポイントと同じサブネットに作成します。
クラスターがパブリック AWS エンドポイントへのネットワーク アクセスを持たないユースケースでは、次の VPC エンドポイントが必要です。
- S3 VPC ゲートウェイ エンドポイント : これを、ワークスペース サブネットに接続されているルート テーブルにのみ接続します。クラシック VPC エンドポイント用に独自のルート テーブルを持つ推奨の個別のサブネットを使用している場合は、S3 VPC エンドポイントをその特定のルート テーブルに接続する必要はありません。S3 ゲートウェイエンドポイントに関するこの AWS の記事を参照してください。
- STS VPC インターフェイス エンドポイント : これをすべてのワークスペース サブネットで作成し、ワークスペース セキュリティ グループにアタッチします。STS インターフェイスエンドポイントについてはこの AWS セクションを、インターフェイスエンドポイントについてはこの一般的な記事を参照してください。
- Kinesis VPC インターフェイスエンドポイント : すべてのワークスペースサブネットに Kinesis VPC インターフェイスエンドポイントを作成し、STS VPC インターフェイスエンドポイントと同様にワークスペースセキュリティグループにアタッチします。 詳細については、インターフェイス エンドポイントに関するこのAWS記事とKinesisインターフェイス エンドポイントに関する一般的な記事を参照してください。
オプション2: 厳格なエアギャップ展開
デプロイメントで、コンピュート がパブリック インターネットにアクセスできない厳密なエアギャップ環境が必要な場合は、NAT ゲートウェイとインターネット ゲートウェイの接続を置き換える追加のVPCエンドポイントを構成します。
この構成では、NAT ゲートウェイとインターネット ゲートウェイが不要になります。代わりに、次のリソースを作成します。
-
最小
/27CIDR 範囲を持つ AWS サービスインターフェイスエンドポイントのプライベートサブネットを作成します。 -
ワークスペース セキュリティ グループからの TCP 443 を許可する受信ルールを使用して、AWS VPC エンドポイントのセキュリティ グループを作成します。
-
次の設定で STS VPC インターフェイス エンドポイントを作成します。
- サービス名:
com.amazonaws.<region>.sts - サブネット: AWS エンドポイントサブネット
- セキュリティグループ: AWS エンドポイントセキュリティグループ
- プライベートDNS名を有効にする
- 命名規則:
sts-<region>-vpce(例:sts-us-west-2-vpce)
- サービス名:
-
次の設定で Kinesis VPC インターフェイスエンドポイントを作成します。
- サービス名:
com.amazonaws.<region>.kinesis-streams - サブネット: AWS エンドポイントサブネット
- セキュリティグループ: AWS エンドポイントセキュリティグループ
- プライベートDNS名を有効にする
- 命名規則:
kinesis-<region>-vpce(例:kinesis-us-west-2-vpce)
- サービス名:
-
S3 VPC ゲートウェイ エンドポイントを作成します。このエンドポイントは必須であり、標準構成と同じように構成されます。
集中エンドポイント構成
エンドポイントを一元管理するには、次の点を確認してください。
- コンピュート リソース は、各サービスの完全修飾ドメイン名を、対応する VPC エンドポイントのプライベート IP に解決します。
- ルートは、コンピュート リソースが VPC エンドポイントに到達できるようにするために存在します。
クラシックコンピュートプレーンの接続を確認します
クラシックコンピュートプレーンのPrivate Linkを構成したら、コンピュートプレーンがDatabricksコントロールプレーンにプライベートに到達できることを確認してください。クラシックコンピュートで実行されているノートブックから、個人用アクセストークンを使用してワークスペースのREST APIエンドポイントを呼び出します。正常な応答は、コンピュートプレーンがPrivate Link経由でワークスペースに到達することを確認します。
ノートブックセルで、<workspace-url> をワークスペース URL に、<your-pat> を個人用アクセストークンに置き換えて、以下を実行してください。
%sh curl -X GET https://<workspace-url>/api/2.0/token/list \
-H "Authorization: Bearer <your-pat>"
%shマジックコマンドは、コンピュートプレーンのドライバーノードからリクエストを実行します。コンピュートプレーンがコントロールプレーンにプライベートに到達できない場合、リクエストはタイムアウトするか、接続に失敗します。テストが失敗した場合は、VPCエンドポイント、DNS解決、およびセキュリティグループのルールを確認してください。「AWS インバウンド Private Link の DNS を構成する」を参照してください。
リクエストがパブリックインターネットではなくPrivate Link経由で転送されることを確認するには、ワークスペースのURLがVPCエンドポイントのプライベートIPアドレスに解決されることを確認してください。ノートブックセルで、次を実行します:
%sh nslookup <workspace-url>
解決されたアドレスは、VPCエンドポイントのプライベートIPと一致する必要があります。パブリックアドレスに解決される場合、DNS解決が誤って構成されており、REST API呼び出しが成功しても、トラフィックはパブリックインターネット経由でルーティングされる可能性があります。