パフォーマンス重視のサービス向けに受信PrivateLinkを構成する
このページでは、Databricks プラットフォーム上のパフォーマンス集約型サービスへの受信接続用に PrivateLink を構成する方法を説明します。このプライベート接続により、外部クライアントやユーザーは、Zerobus Ingest や Lakebase オートスケールなどのDatabricksプラットフォーム上のサービスにアクセスできるようになります。
利点
- セキュリティの強化:お客様のネットワークとDatabricksサービス間のトラフィックは、AWSネットワークインフラストラクチャ内に留まります。
- パフォーマンス重視のサービスへのアクセス:Zerobus IngestやLakebaseオートスケールなどのサービスへのプライベート接続です。
- コンプライアンス要件: プライベートネットワーク接続を義務付ける規制要件を満たします。
- コスト効率:PrivateLinkは、NATゲートウェイなどのパブリック接続オプションよりも低コストです。
Databricksは、パフォーマンス重視のサービスへのインバウンドPrivateLink接続に関連する特定のネットワークコストを請求します。詳細については、Databricksのネットワークコストについてを参照してください。
要件
- Databricks アカウントは Enterprise レベルである必要があります。
- VPCエンドポイントを登録し、プライベート アクセス設定を管理するには、 Databricksアカウント管理者である必要があります。
- VPC エンドポイントを作成するには、AWS の権限が必要です。
- AWS リージョンはインバウンド PrivateLink をサポートしている必要があります。リージョン VPCエンドポイント サービスについては、PrivateLink VPCエンドポイント サービスを参照してください。
ステップ 1: VPCエンドポイントを作成する
AWS マネジメントコンソールでインバウンド VPC エンドポイントを作成するには:
-
AWSマネジメントコンソールの [VPCエンドポイント] セクションに移動します。
-
右上で、リージョンをトランジット VPC リージョンと同じリージョンに設定します。
-
[ エンドポイントの作成 ] をクリックします。
-
エンドポイントに名前を付ける際には、Databricks では
databricks-us-west-2-inbound-pl-vpceのようにリージョンと目的を含めることを推奨しています。 -
[サービス カテゴリ] で、 NLB と GWLB を使用するエンドポイント サービス を選択します。
-
サービス名欄に、お住まいの地域のサービス名を貼り付けてください。PrivateLink VPCエンドポイント サービスのテーブルを使用して、インバウンド PrivateLink サービス名を見つけます (テーブル内では 、パフォーマンス重視のサービス用のインバウンド プライベート リンク というラベルが付いています)。
-
「サービスの検証」 をクリックし、 検証されたサービス名が 緑色のボックスに表示されることを確認します。 「サービス名を検証できませんでした」というエラーが発生した場合は、VPC のリージョン、サブネット、新しい VPC エンドポイントが正しく一致していることを確認してください。
-
[ VPC ] メニューで、トランジットVPCをクリックします。
-
[サブネット] で、サブネットを選択します。
ap-northeast-1、ap-northeast-2、us-east-1、またはus-west-2にデプロイする場合は、アベイラビリティーゾーンのサポートにリストされているサポートされているアベイラビリティーゾーンのみを使用していることを確認してください。 -
[セキュリティ グループ] セクションで、受信接続用に作成したセキュリティ グループを選択します。
-
(オプション) VPC エンドポイントの プライベート DNS 名 を有効にします。
このステップでは プライベート DNS 名 を有効にしないことをお勧めします。 プライベート DNS を有効にすると、トラフィックはすぐに PrivateLink 経由でルーティングされますが、次の手順でVPCエンドポイントの登録と構成が完了するまで、リクエストは拒否されます。 代わりに、セットアップの完了後にステップ 5 で DNS を構成します。
-
[ エンドポイントの作成 ] をクリックします。
-
後のステップのために次の情報を記録します。
- VPCエンドポイントID
- 選択したサブネット内の VPC エンドポイントの IPv4 アドレス
インバウンド接続用に選択するセキュリティグループは、VPC Endpoint 経由で接続するサービスに対するインバウンドトラフィックを許可する必要があります:
- Lakebase オートスケール :接続するクライアントのセキュリティグループまたは CIDR 範囲からの、ポート 5432 (Postgres) でのインバウンド TCP を許可します。
psql、Postgres ドライバーと ORM、テーブルエディタ、SQLエディタを対象としています。 - Zerobus Ingest :ポート 443 でのインバウンド TCP を許可します。
アウトバウンドルールを設定する必要はありません。セキュリティグループはステートフルなので、許可されたインバウンド接続への応答トラフィックは自動的に許可されます。
ステップ 2: VPCポイントを登録する
AWSマネジメントコンソールでVPCエンドポイントを作成したら、 Databricksでそれらを登録します。 ネットワーク構成は作成後に更新することはできません。次のステップに従って、 VPCエンドポイントを登録します。
-
Databricks アカウント コンソールに移動します。
-
サイドバーの セキュリティ をクリックします。
-
垂直ナビゲーションから プライベートエンドポイント をクリックします。
-
[プライベートエンドポイントを登録] をクリックします。
-
VPC エンドポイント登録のわかりやすい名前を入力します。
VPCE us-west-2 for Service-Directのように、地域と目的を含む命名規則が推奨されます。
-
適切なリージョンを選択します。リージョンは、ワークスペースのリージョンと、登録するAWS VPCエンドポイントのリージョンに一致する必要があります。
-
AWS VPC エンドポイント ID フィールドに AWS VPC エンドポイント ID を貼り付けます。
-
[新しい VPC エンドポイントを登録] をクリックします。
クラシック コンピュートを使用し、同じ顧客管理VPCを共有する複数のワークスペースがある場合は、それらの間でAWS VPCエンドポイントを共有できます。複数のDatabricksアカウントの場合は、各アカウントにAWS VPCエンドポイントを登録できます。
ステップ3:プライベートアクセスポリシーを構成する
サービス ダイレクト VPC エンドポイントを登録すると、ワークスペースのプライベートアクセス ポリシーを構成する方法が2つあります。コンテキストベースのイングレスを使用する方法と、プライベートアクセス設定を使用する方法です。コンテキストベースのイングレスアプローチを使用すると、ID、リクエストの種類、およびネットワーク ソースの条件を結合することで、きめ細かいアクセスを構成できます。「コンテキストベースのイングレス制御」を参照してください。プライベートアクセス設定は、オールオアナッシングのリージョンに紐付けられたポリシーです。
トラフィックを許可するには、プライベートアクセス設定とコンテキストベースのイングレスの両方がエンドポイントを許可する必要があります。デフォルトでは、コンテキストベースのイングレスは**すべてのプライベートエンドポイントからのアクセスを許可する**ように設定されており、アクセス決定はワークスペースのプライベートアクセス設定に委ねられます。コンテキストベースのプライベートアクセスポリシーを構成する場合は、ワークスペースにプライベートアクセス設定がアタッチされており、登録されているすべてのプライベートエンドポイントが許可されていることを確認してください(詳細は以下を参照)。これにより、アクセス決定はワークスペースのコンテキストベースのイングレスポリシーに委ねられます。同じリージョン内の任意のワークスペースで、同じ「すべてのアクセスを許可」プライベートアクセス設定を再利用できます。
プレビュー
コンテキストベースのイングレス (方法 1) を使用したワークスペースへのプライベートアクセス設定はベータ版です。
- Method 1: Context-based ingress
- Method 2: Private access settings
-
アカウントコンソールで、サイドバーの**セキュリティ**をクリックします。
-
サイドバーで「 コンテキストベースのイングレスおよびエグレス制御 」をクリックします。
-
ワークスペースレベルポリシー の下にある 新しいワークスペースポリシー をクリックします。
-
Ingress > Private Network Access で、プライベート アクセス ポリシーを定義します。
- デフォルトでは、すべての登録済みエンドポイントが許可されています: すべてのプライベートエンドポイントからのアクセスを許可 します。これが許容される場合は、次のステップに進んでください。このデフォルトには、登録されている最初の200個のVPCエンドポイントのみが含まれます。ポリシーでそれ以上が必要な場合は、アカウントチームに連絡して増加を依頼してください。
- 特定の登録済みエンドポイントを許可リストに登録し、他のすべてのエンドポイントを拒否する場合は、[ すべてのプライベートエンドポイントからのアクセスを許可 ] のチェックを外し、許可ルールを追加します。
- アクセスを許可するIDとワークスペースの宛先を選択してください(デフォルトではすべて許可されています)。
- 次に、ソースタイプを 選択されたプライベートエンドポイント に選択し、登録したService Direct VPCエンドポイントを選択します。このVPCエンドポイントのリージョンは、ワークスペースのリージョンと一致している必要があります。Service Directエンドポイントは、同じリージョン内のワークスペースのみをサポートできます。
- 確認 をクリックします。
- ポリシーに 拒否ルール を追加することもできます。これは、許可ルールに対する例外を定義します。
-
プライベートアクセス設定ポリシーの構成が完了したら、「 イングレス > パブリックネットワークアクセス 」でパブリックアクセス設定ポリシーも構成できます。「 すべてのパブリックIPからのアクセスを許可 」のチェックを外すと、すべてのパブリックIPアクセスを無効にできます。Databricksは、DNS構成のテスト中はパブリックアクセスを有効にしておき、DNSが確定した後に無効にして排他的なプライベート接続を強制することをお勧めします。
-
最初に ドライ実行モード でイングレスポリシーをテストしてから、 強制 に切り替えてください。ドライ実行モードのアクセス拒否は、
system.access.inbound_networkシステムテーブルに記録されますが、アクセスはブロックされません。 -
エグレス ポリシーが正しいことを確認してください。
-
ポリシーをワークスペースにアタッチしてください。
-
ネットワークポリシーを保存します。コンテキストベースのイングレスポリシーの更新が有効になるまでにかかる時間は10分未満です。ワークスペースごとに1つのネットワークポリシーを使用することも、同じイングレスルールとエグレスルールを使用する複数のワークスペースで単一のポリシーを共有することもできます。これにより、一度定義すればどこにでもアタッチできます。
-
「すべてのアクセスを許可」プライベートアクセス設定をワークスペースにアタッチします。プライベートアクセス設定がアタッチされていないワークスペースは、ネットワークポリシーに関係なく、すべてのプライベートアクセスが拒否されます。
- アカウントコンソールで、サイドバーの**セキュリティ**をクリックします。
- サイドバーの プライベートアクセス設定 をクリックします。
- [プライベートアクセス設定の追加] をクリックします。
- 新しいプライベートアクセス設定オブジェクトの名前を入力します。
- ワークスペースのリージョンに一致するリージョンを選択します。
- 「**パブリックアクセスが有効**」フィールドを「**True**」に構成します。
- プライベートアクセスレベル : アカウント を選択してください。
- [プライベートアクセス設定の追加] をクリックします。
- ワークスペースで、[ 詳細設定 ] をクリックして追加のフィールドを表示します。
- [PrivateLink] ドロップダウンで、前のステップで作成したプライベート アクセス設定オブジェクトの名前を選択します。
- 保存 をクリックします。
-
アカウント管理者として、アカウントコンソールにログインします。
-
サイドバーで、 [セキュリティ] > [プライベートアクセス設定] をクリックします。
-
[プライベートアクセス設定の追加] をクリックします。
-
新しいプライベートアクセス設定オブジェクトの名前を入力します。
-
ワークスペースのリージョンに一致するリージョンを選択します。
-
パブリック アクセス有効 フィールドを設定します。
- False (デフォルト) : インバウンド接続は PrivateLink 経由でのみアクセス可能であり、パブリック インターネット アクセスはブロックされます。
- True : インバウンド接続は、PrivateLink とパブリック インターネットの両方からアクセスできます。
Databricks は、DNS 設定のテスト中は True から始めることを推奨し、その後、メンテナンス期間中に False に変更して、排他的なプライベート接続を強制することを推奨します。
-
プライベートアクセスレベル を選択してください:
- アカウント : Databricksアカウントに登録されているVPCエンドポイントへの接続を制限します。
- エンドポイント : 明示的な VPC エンドポイントのセットへの接続を制限します。インバウンド VPC エンドポイント登録を含めます。
-
[プライベートアクセス設定の追加] をクリックします。
-
ワークスペースで、[ 詳細設定 ] をクリックして追加のフィールドを表示します。
-
[PrivateLink] ドロップダウンで、前のステップで作成したプライベート アクセス設定オブジェクトの名前を選択します。
-
保存 をクリックします。
-
ワークスペースを作成または更新した後、それが使用可能になるまで待ってから、コンピュートを使用または作成します。
ワークスペースのステータスは
RUNNINGのままで、VPC の変更は直ちに行われます。ただし、その後 20 分間はコンピュートの使用と作成ができなくなります。 この間隔が終了する前にコンピュートを作成または使用しようとすると、コンピュートの起動に失敗したり、その他の予期しない動作が発生したりする可能性があります。
ステップ4:インバウンドPrivateLinkのDNSを構成する
PrivateLink 構成を完了するには、VPC エンドポイントを介してトラフィックをルーティングするようにカスタム DNS 設定を構成します。詳細な手順については、 「AWS インバウンド プライベート リンクの DNS を構成する」を参照してください。
ステップ 5: ネットワーク接続を確認します。
クライアントからの接続をテストして、受信 PrivateLink が正しく構成されていることを確認します。
DNS解決を確認する
DNS クエリが、先ほど作成した VPC エンドポイントのプライベート IP アドレスに解決されることを確認します。
dig <region>.service-direct.privatelink.cloud.databricks.com
または代わりにnslookup使用します:
nslookup <region>.service-direct.privatelink.cloud.databricks.com
どちらのコマンドも、VPC エンドポイントのプライベート IP アドレスを返します。
基本的な接続をテストする
PrivateLink エンドポイントに接続できることを確認します。
nc -vz <region>.service-direct.privatelink.cloud.databricks.com 443
443 チェックでは、VPC Endpoint が到達可能であることのみ確認されます。これは Lakebase オートスケールのデータパスではありません。Lakebase オートスケールはポート 5432 で Postgres を使用します。Lakebase オートスケール接続を検証するには、Lakebase ホストに対して Postgres ポートをテストします: nc -vz <lakebase-host> 5432。
接続が成功した場合、インバウンドPrivateLinkが正しく構成されています。Zerobus IngestやLakebase オートスケールなどの製品固有の接続性テストについては、それらのサービスのドキュメントを参照してください。
制限事項
次の制限事項に注意してください。
- VPCエンドポイントの制限:あらゆる種類のVPCエンドポイントのデフォルト制限は、アカウントあたり110です。クォータの増加が必要な場合は、Databricksアカウントチームにお問い合わせください。
- アベイラビリティーゾーンの制限:一部のAWSリージョンでは、特定の可用性ゾーンでのみPrivateLinkがサポートされています。「アベイラビリティーゾーンのサポート」を参照してください。
- クラシックコンピュートの制限事項:標準のクラシックコンピュートリソースからインバウンド PrivateLink にアクセスする場合、システムはポート 80、443、および 53 を除くワークスペース CIDR 内の IP アドレスへのトラフィックをブロックします。この制限は、ワークスペース VPC 内で VPC エンドポイントを作成する場合にのみ適用されます。この制限を回避するには、別の VPC で VPC エンドポイントを作成し、2 つの VPC 間で VPC ピアリングを構成します。
可用性ゾーンのサポート
一部の AWS リージョンでは、特定のアベイラビリティーゾーンでのみ、パフォーマンス重視のサービス向けに PrivateLink をサポートしています。次のいずれかのリージョンにデプロイする場合は、VPC エンドポイント サブネットがサポートされているアベイラビリティーゾーンにあることを確認してください。
リージョン | サポートされているアベイラビリティゾーン |
|---|---|
|
|
|
|
|
|
|
|
サポートされているその他のすべてのリージョンでは、任意の可用性ゾーンが許可されます。