AWS PrivateLink を使用してプライベート接続を有効にする
このページでは、Databricks での PrivateLink の一般的な概要と、 バックエンドの プライベート接続を有効にするための構成手順について説明します。
- Databricks へのフロントエンド プライベート接続を有効にするには、「 Databricks へのプライベート接続を構成する」を参照してください。
- REST API を使用するには、 Private Access Settings API リファレンスを参照してください。
プライベート接続の概要
PrivateLink は、AWS VPC およびオンプレミスネットワークから AWS サービスへの安全でプライベートな接続を可能にし、トラフィックがパブリックインターネットから分離された状態を維持します。この機能は、エンドツーエンドのプライベートネットワーキングを可能にし、データ流出のリスクを最小限に抑えることで、組織がセキュリティとコンプライアンスの要件に対処できるように設計されています。
フロントエンドまたはバックエンドの PrivateLink 接続は、セキュリティとコンプライアンスの要件に応じて個別に有効にすることも、両方を有効にすることもできます。また、ワークスペースにプライベート接続を強制して、Databricks がすべてのパブリック ネットワーク接続を自動的に拒否するようにすることもできます。この組み合わせたアプローチにより、包括的なネットワーク分離が実現し、攻撃対象領域が縮小され、機密性の高いワークロードのコンプライアンスがサポートされます。
PrivateLink を使用すると、次のことができます。
- Databricks Web アプリケーションまたはAPIsを使用するときに、許可されていないネットワークまたはパブリック インターネットからのデータ アクセスをブロックします。
- 承認されたプライベートエンドポイントのみにネットワーク露出を制限することで、データ流出のリスクを大幅に低減します。
PrivateLink をデプロイするには、次のことを行う必要があります。
- 特定の Databricks 構成オブジェクトを作成し、既存の構成を新しいフィールドで更新して、プライベート アクセス設定と許可された VPC エンドポイントを定義します。
- 接続の種類をどちらか一方または両方に実装するかを選択し、必要に応じてネットワークを完全に分離するための強制を行います。
ワークスペースのバックエンド PrivateLink を有効にする
バックエンドの PrivateLink (クラシック コンピュート to コントロール プレーン) は Databricks 顧客 VPC 内のクラシック コンピュート リソースをワークスペース コア サービスに接続します。 クラスタリングは、 Databricks REST APIs で安全なクラスタリング接続リレーのためにコントロールプレーンに接続します。 次のガイドには、Databricks アカウント コンソールまたは API を使用して実行できるいくつかの構成手順が含まれています。
必要条件
- DatabricksアカウントがEnterprise価格プランである必要があります。
- Databricksワークスペースでは、顧客管理VPCを使用する必要があります。既存のワークスペースを Databricks管理の VPC から顧客管理VPCに変換することはできません。 顧客管理VPCの設定を参照してください。Y
- Databricksワークスペースでは、セキュリティで保護されたクラスタリング接続を使用する必要があります。セキュリティで保護されたクラスタリング接続を使用していない古いワークスペースにバックエンドの PrivateLink を追加するには、 Databricks アカウント チームにお問い合わせください。
- Databricks ワークスペースを設定し、ワークスペースの新しい VPC エンドポイントを作成するには、必要なすべての AWS アクセス許可が必要です。
- オンプレミスネットワークからワークスペースにアクセスするためのフロントエンド PrivateLink 接続を確立するには、Direct Connect または VPN を使用してオンプレミスネットワークを AWS VPC に接続します。
- ローカルネットワーク内のすべての関連するアドレス空間からのネットワークトラフィックが、TCP ポート 443 を使用して VPC エンドポイントに接続できるようにします。
ステップ 1: AWS ネットワークオブジェクトを設定する
AWSマネジメントコンソールを使用してこれらのオブジェクトを作成したり、ネットワーク用のTerraformプロバイダーなどのツールでプロセスを自動化したりできます。
-
まだ設定していない場合は、ワークスペースの VPC を設定します。別のワークスペースから VPC を再利用できます。VPCを作成するには、「顧客管理VPCの設定」を参照してください。PrivateLink のワークスペースを更新する場合は、既に顧客管理VPCを使用していることを確認してください。
-
VPC で DNS ホスト名 と DNS 解決 の両方が有効になっていることを確認します。
-
サブネットのネットワークACLに、次のポートで0.0.0.0/0へのTCPアクセスを許可する 双方向 (アウトバウンドおよびインバウンド)ルールがあることを確認します。
- 443:Databricksインフラストラクチャ、クラウドデータソース、ライブラリリポジトリ用。
- 3306:メタストア用。
- 6666: PrivateLink用。
- 2443: コンプライアンスセキュリティプロファイルを使用している場合のみ。
- 8443: Databricks コンピュート プレーンから Databricks コントロール プレーンへの内部コールの場合 API
- 8444: Unity Catalogのログ記録とDatabricksへの系列データストリーミング用。
- 8445〜8451: 将来的な拡張性。
-
追加のVPCサブネットを作成して設定します(任意)。
- バックエンドの PrivateLink VPC エンドポイントや 、他の AWS サービスへのオプションの VPC エンドポイントを含む VPC エンドポイントについては、ネットワークが VPC エンドポイントにルーティングできる限り、任意のワークスペースサブネットに作成できます。
- VPC エンドポイントサブネットには、ワークスペースサブネットのルートテーブルとは異なる別のルートテーブルをアタッチします。このルートテーブルには、ローカル VPC のデフォルトルートが 1 つだけ必要です。
-
追加のセキュリティグループを作成して設定します(推奨ですが任意)。
-
ワークスペースに必要な標準セキュリティグループに加えて、ワークスペースサブネットと個別の VPC エンドポイントサブネット (ある場合) の両方への HTTPS/443 および TCP/6666 双方向 (アウトバウンドおよびインバウンド) アクセスを許可する別のセキュリティグループを作成します。この設定により、 REST API (ポート 443) とセキュアなクラスタリング接続 (6666) の両方へのアクセスが容易になり、セキュリティ グループ管理が簡素化されます。
ワークスペースで コンプライアンス セキュリティ プロファイルを使用している場合は、ポート 2443 への 双方向 (送信および受信) アクセスも許可して、セキュリティで保護されたクラスタリング接続リレーの FIPS エンドポイントをサポートする必要があります。
-
ステップ 2: VPC エンドポイントを作成する
バックエンドの PrivateLink では、セキュリティで保護されたクラスタリング接続リレーとワークスペースの VPC エンドポイントを作成し、 Databricks REST APIへのコンピュート プレーン呼び出しを有効にします。 AWS マネジメントコンソール を使用した VPC エンドポイントの管理に関するガイダンスについては、AWS の記事「AWS マネジメントコンソールで VPC エンドポイントを作成する」を参照してください。バックエンド VPC エンドポイントは、同じ顧客管理VPCを使用する複数のワークスペース間で共有できます。
AWS Management Console でバックエンド VPC エンドポイントを作成するには:
-
AWSマネジメントコンソールの [VPCエンドポイント] セクションに移動します。
-
右上で、領域をワークスペースと同じ領域に設定します。
-
[ エンドポイントの作成 ] をクリックします。
-
リージョンと
workspace
という単語を組み込んで、ワークスペース VPC エンドポイントにdatabricks-us-west-2-workspace-vpce
などのエンドポイントに名前を付けます。 -
[サービス カテゴリ] で、 [ その他のエンドポイント サービス ] を選択します。
-
[サービス名] フィールドに、サービス名を貼り付けます。リージョンのVPCPrivateLinkVPC エンドポイント サービスの 表から、リージョンの エンドポイント サービス ドメインを取得します。
最初に作成する VPC エンドポイントで、ワークスペースのリージョンサービス名をコピーします。
-
[ Verify Service ] をクリックし、ページの緑色のボックスに 「Service name Verified (サービス名確認 済み)」と表示されていることを確認します。 「サービス名を確認できませんでした」というエラーが発生した場合は、VPC、サブネット、および新しい VPC エンドポイントのリージョンが一致していることを確認してください。
-
[ VPC ] フィールドで、ワークスペース VPC を選択します。
-
[サブネット] セクションで、Databricks ワークスペース サブネットの 1 つだけを選択します。
-
[ セキュリティ グループ ] セクションで、「 ステップ 1: AWS ネットワーク オブジェクトを構成する」でバックエンド接続用に作成したセキュリティ グループを選択します。
-
[追加設定 ] で、[ DNS 名を有効にする ] オプションをオンにします。
-
[ エンドポイントの作成 ] をクリックします。
-
前の手順を繰り返して、セキュアなクラスタリング接続リレー エンドポイントを作成します。 PrivateLink VPC エンドポイント サービスのテーブルを使用して、セキュリティで保護されたクラスタリング接続リレーのリージョン サービス名を取得します。Databricks では、エンドポイント名にリージョンと
scc
という単語を含めることをお勧めします (例:databricks-us-west-2-scc-vpce
)。
ステップ 3: PrivateLink オブジェクトを登録する
PrivateLink の設定には、いくつかのタイプのオブジェクトが関連しています。
-
VPC エンドポイント登録:VPC AWS管理コンソールでエンドポイント を作成した後、エンドポイント登録を確立するには、エンドポイントを に登録してDatabricks VPCする必要があります。VPC エンドポイントの登録は後で更新できません。
- バックエンド VPC エンドポイントの場合は、リージョン フィールドがワークスペースのリージョンと、登録する AWS VPC エンドポイントのリージョンと一致していることを確認します。 フロントエンド PrivateLink の場合、region フィールドは、トランジット VPC リージョンと、ワークスペースのフロントエンド接続の AWS VPC エンドポイントのリージョンと一致する必要があります。
- バックエンドとフロントエンドの VPC エンドポイントを登録するには、VPC エンドポイントの登録を管理するの手順に従います。
-
ネットワーク構成 (バックエンド VPC エンドポイントにのみ必要): ネットワーク構成は、顧客管理VPC に関する詳細情報であり、2 つのバックエンド PrivateLink 構成フィールドが含まれています。
- ネットワーク設定を作成するには、「 カスタム VPC デプロイのネットワーク設定を作成する」を参照してください。顧客管理VPC、サブネット、およびセキュリティグループの包括的な要件については、「顧客管理VPCの設定」を参照してください。[ バックエンドプライベート接続 ] セクションで、次のようにフィールドをバックエンド VPC エンドポイント登録に設定します。
- 最初のフィールドで、VPC セキュア クラスター接続リレー の エンドポイント登録を選択します。
- 2 番目のフィールドで、VPC エンドポイント登録に ワークスペース(REST API) を選択します。
- ネットワーク構成を作成した後は、更新できません。
-
プライベートアクセス設定 : ワークスペースのプライベートアクセス設定オブジェクトには、AWS PrivateLink 接続の設定が含まれます。 同じ AWS リージョン内の複数のワークスペースに対して、1 つのプライベートアクセス設定オブジェクトを使用できます。 プライベートアクセス設定 (PAS) オブジェクトを作成するには、 プライベートアクセス設定の管理を参照してください。
手順 4: PrivateLink オブジェクトを使用してワークスペースを作成または更新する
ワークスペースは、既に顧客管理VPC とセキュリティで保護されたクラスター接続を使用している必要があります。
- こちらの手順を使用してワークスペースを作成します。このページでは、ワークスペースの URL、リージョン、Unity Catalog (UC) 統合、資格情報の構成、ストレージの構成など、主要なワークスペース設定を構成する方法について説明します。「 保存 」ボタンはまだクリックしないでください。
- 詳細設定 をクリックして、追加のフィールドを表示します。
- Virtual Private Cloud のメニューで、作成した Databricks ネットワーク構成を選択します。
- [Private Link ] 見出しの下にあるメニューをクリックし、作成したプライベートアクセス設定オブジェクトの名前を選択します。
- [ 保存 ]をクリックします。
ワークスペースを作成すると、そのステータスが RUNNING
に変わり、関連する VPC ネットワークの更新がすぐに適用されます。ただし、ステータスが [ RUNNING
] と表示されてからさらに 20 分待ってから、クラスタリングを正常に作成または使用できるようになるまで待つ必要があります。 この時間より前にクラスタリングを作成または使用しようとすると、起動の失敗、エラー、またはその他の予期しない動作が発生する可能性があります。
ステップ 5: 他の AWS サービスの VPC エンドポイントを追加する
一般的なユースケースでは、次の VPC エンドポイントを作成する ことをお勧めします 。これにより、クラシック コンピュート プレーン内のクラスタリングやその他のコンピュート リソースAWSAWS PrivateLink 経由でネイティブ サービスに直接接続できます。これらの VPC エンドポイントは、バックエンド VPC エンドポイントと同じサブネットに作成します。
これらのVPC エンドポイントは、クラスタリングがパブリック エンドポイントにネットワークアクセスできないユースケース に必要です AWS 。
- S3 VPC ゲートウェイエンドポイント : これは、ワークスペースサブネットにアタッチされているルートテーブルにのみアタッチします。バックエンド VPC エンドポイント用に独自のルートテーブルを持つ推奨される別のサブネットを使用している場合、S3 VPC エンドポイントをその特定のルートテーブルにアタッチする必要はありません。S3 ゲートウェイエンドポイントについては、この AWS の記事を参照してください。
- STS VPC インターフェイス エンドポイント : これをすべてのワークスペース サブネットで作成し、ワークスペース セキュリティ グループにアタッチします。STS インターフェイスエンドポイントについてはこの AWS セクションを、インターフェイスエンドポイントについてはこの一般的な記事を参照してください。
- Kinesis VPC インターフェイスエンドポイント : すべてのワークスペースサブネットに Kinesis VPC インターフェイスエンドポイントを作成し、STS VPC インターフェイスエンドポイントと同様にワークスペースセキュリティグループにアタッチします。 詳細については、インターフェイス エンドポイントに関するこのAWS記事とKinesisインターフェイス エンドポイントに関する一般的な記事を参照してください。
エンドポイントを一元化するには、次の点を確認してください。
- コンピュート リソース は、各サービスの完全修飾ドメイン名を、対応する VPC エンドポイントのプライベート IP に解決します。
- ルートは、コンピュート リソースが VPC エンドポイントに到達できるようにするために存在します。