パフォーマンス集約型サービス向けにインバウンド Private Service Connect を構成する
ベータ版
この機能はベータ版です。アカウント管理者は、アカウント コンソールの [プレビュー] ページから、この機能へのアクセスを管理できます。「アカウント レベルのプレビューを管理する」を参照してください。
このページでは、Databricks プラットフォーム上のパフォーマンス重視のサービスへのインバウンド接続用に Private Service Connect を構成する方法を説明します。このプライベート接続により、外部クライアントやユーザーは、Zerobus Ingest や Lakebase Autoscaling などの Databricks プラットフォーム上のサービスにアクセスできるようになります。
Databricks は、ワークスペースの APIs および UI への接続に対して、すでに Private Service Connect をサポートしています。このページでは、代わりにパフォーマンス重視のサービスを対象とする Private Service Connect Endpoint について説明します。ワークスペースの接続については、「インバウンド Private Service Connect の構成」をご覧ください。
利点
- セキュリティの強化:お客様のネットワークと Databricks サービス間のトラフィックは、Google Cloud ネットワークインフラストラクチャ内に留まります。
- パフォーマンス重視のサービスへのアクセス:Zerobus IngestやLakebaseオートスケールなどのサービスへのプライベート接続です。
- コンプライアンス要件: プライベートネットワーク接続を義務付ける規制要件を満たします。
- コスト効率: Private Service Connect は、NAT ゲートウェイなどのパブリック接続オプションよりも低コストです。
要件
- Databricks アカウントは Enterprise レベルである必要があります。
- VPCエンドポイントを登録し、イングレスポリシーを管理するには、Databricksアカウント管理者である必要があります。
- Private Service Connect Endpointを作成するには、Google Cloudでの権限が必要です。
リージョンサービスアタッチメントのリファレンス
パフォーマンス集約型のサービス用に Private Service Connect Endpoint を作成するには、リージョンのサービス アタッチメント URI が必要です。URIは接尾辞 regional-plproxy-psc-endpoint-all-ports で終わります。これにより、インバウンド Private Service Connect がワークスペースのAPIおよびUIに対して使用するワークスペース サービス アタッチメントと区別されます。
お使いのリージョンのサービスアタッチメントURIを確認するには、「Private Service Connect (PSC) 添付ファイルURIとプロジェクト番号」を参照してください。
Private Service Connect Endpointを構成する
Google CloudでPrivate サービス Connect Endpointを作成する
クライアントが接続するGoogle CloudプロジェクトおよびVPC内にEndpointを作成します:
- Google Cloud コンソールで、Private Service Connect ページに移動します。
- Connected Endpoint tabをクリックします。
- [ + Endpoint の接続 ] をクリックします。
- ターゲット には、 公開済みサービス を選択します。
- [Target service] フィールドに、リージョンのサービスアタッチメント URI を貼り付けます。リージョンサービスアタッチメントのリファレンスを参照してください。
- Endpointの名前を入力します。Databricksでは、リージョンと目的を含めた名前(例:
us-central1-performance-intensive-psc)にすることをお勧めしています。 - Endpoint をホストする VPC ネットワークとサブネットを選択します。
- Endpoint 用の IP アドレスを予約します。
- 作成 をクリックします。
- Endpointを登録する際に必要な以下の値を記録してください:
- Google Cloud プロジェクト ID
- Private Service Connect Endpoint 名
- Endpoint 用に予約したプライベート IP アドレス
After you create the endpoint, its connection state is Pending. This is expected. The connection is accepted when you register the endpoint with Databricks in the next step.
パフォーマンス集約型サービスはTCP経由で接続します。Zerobus Ingestはポート443を使用し、Lakebaseオートスケールはポート5432(Postgres)を使用します。ファイアウォールルールで、クライアントからEndpoint IPアドレスへのこれらのポートにおけるアウトバウンドTCPトラフィックが許可されていることを確認してください。
DatabricksにEndpointを登録する
VPC Endpoint Configurations APIを使用して、Private Service Connect Endpointを登録します。次のフィールドを指定して、/api/2.0/accounts/{accountId}/vpc-endpoints に POST リクエストを送信します。
endpoint_region:Private Service Connect Endpointが存在する Google Cloud リージョン。project_id:エンドポイントを作成したGoogle Cloudプロジェクト。psc_endpoint_name:Google Cloud コンソールにおける Endpoint 名。vpc_endpoint_name:登録用の人間にとってわかりやすい名前。
{
"gcp_vpc_endpoint_info": {
"endpoint_region": "us-central1",
"project_id": "my-prod-project",
"psc_endpoint_name": "performance-intensive-psc"
},
"vpc_endpoint_name": "psc-vpce"
}
応答には、SERVICE_DIRECT に設定された use_case、vpc_endpoint_id、および gcp_vpc_endpoint_info 内の psc_connection_id と service_attachment_id の値が含まれます。次のステップで必要になるため、vpc_endpoint_id を記録しておきます。
プライベートアクセス設定オブジェクトを作成する
新しいVPC Endpointを使用してワークスペースへのアクセスを許可する、プライベートアクセス設定オブジェクトを作成します。以下のフィールドを指定して、/api/2.0/accounts/{accountId}/private-access-settings に POST リクエストを送信します:
private_access_settings_name:プライベートアクセス設定オブジェクトの名前。region:ワークスペースのリージョンと一致するリージョン。private_access_level:ACCOUNTまたはENDPOINTのいずれか。ACCOUNTは、アカウントに登録されているすべてのVPC Endpointを許可します。ENDPOINTは、一覧表示したEndpointへのアクセスを制限します。allowed_vpc_endpoint_ids:ワークスペースにアクセス可能なVPC Endpoint ID。private_access_levelがENDPOINTの場合にのみ、このフィールドを設定します。public_access_enabled: ワークスペースがパブリックインターネットからの接続も受け入れるかどうか。
Databricksでは、DNS構成のテスト中は public_access_enabled を true に設定し、その後、メンテナンス期間中に false に変更して排他的なプライベート接続を適用することを推奨しています。public_access_enabled が false の場合、ワークスペースには Private Service Connect を介してのみアクセスできます。
代わりに既存のプライベートアクセス設定オブジェクトにEndpointを追加するには、同じEndpointにPUTリクエストを送信します。
プライベートアクセス設定オブジェクトをワークスペースにアタッチする
Endpointを使用する各ワークスペースに、プライベートアクセス設定オブジェクトをアタッチします。private_access_settings_id フィールドにプライベートアクセス設定オブジェクトのIDを設定して、/api/2.0/accounts/{accountId}/workspaces/{workspaceId} に PATCH リクエストを送信します。
Private Service Connect経由でトラフィックをルーティングするようにDNSを構成する
defaultでは、パフォーマンス集約型サービスはパブリック DNS 名 <product-instance>.<product>.<region>.gcp.databricks.com を使用して解決されます。例えば、Zerobus Ingest は <workspace-id>.zerobus.<region>.gcp.databricks.com を使用します。
Databricks では、製品レベルで DNS をオーバーライドし、その製品のすべてのトラフィックが Private Service Connect Endpoint に向かうようにすることを推奨しています:
<product>.<region>.gcp.databricks.com用のプライベートホストゾーンを作成し、Private Service Connect Endpoint をホストする VPC にアタッチします。Google Cloud プライベートゾーンは、アタッチされたネットワークに対してのみ解決されるため、クライアントが使用するには、そのゾーンを該当する VPC にアタッチする必要があります。- そのゾーンで、Private Service Connect EndpointのプライベートIPアドレスを指すワイルドカード
Aレコードを追加します。
A wildcard record sends every hostname for that product and region to one endpoint IP address. If you use more than one Private Service Connect endpoint for the same product and region, add a record for each specific hostname instead of a wildcard, so that each product instance resolves to its intended endpoint.
プライベート接続を確認する
Private Service Connect EndpointをホストするVPC内のクライアントから接続を確認します。次の例では、Zerobus Ingestホストを使用します。
まず、製品ホストがPrivate Service Connect EndpointのプライベートIPアドレスに解決されることを確認します:
nslookup <workspace-id>.zerobus.<region>.gcp.databricks.com
ルックアップでは、「Google Cloud での Private Service Connect Endpoint の作成」で予約したプライベート IP アドレスが返される必要があります。代わりにパブリックアドレスが返される場合は、DNS 構成を再確認してください。
次に、接続をテストします:
nc -vz <workspace-id>.zerobus.<region>.gcp.databricks.com 443
接続が成功すれば、パフォーマンス重視のサービス向けの Private Service Connect Endpoint は正しく構成されています。IPアドレスではなくホスト名をテストすることで、DNS解決と接続の両方がプライベートパス経由で機能していることが確認できます。製品固有の接続テストについては、そのサービスのドキュメントを参照してください。
制限事項
次の制限事項に注意してください。
- サポートされているサービス:Google Cloudにおいて、パフォーマンス重視のサービス向けのインバウンドPrivate Service Connectは、Zerobus IngestおよびLakebaseのオートスケールをサポートしています。
- リージョン別の可用性:これらのサービスは、一部の Google Cloud リージョンで利用可能です。Endpointを構成する前に、使用するサービスがリージョンでサポートされていることを確認してください。「インジェストの可用性」を参照してください。
- VPC Endpointの制限:あらゆるタイプのVPC Endpointのdefault制限は、1アカウントあたり100です。クォータの引き上げが必要な場合は、Databricksアカウントチームにご連絡ください。
- リージョンごとの Endpoint: 各アカウントは、リージョンごとに
SERVICE_DIRECTタイプの VPC Endpoint を 5 つまで作成できます。 - プロジェクトあたりのEndpoint数:各顧客の Google Cloud プロジェクト ID は、パフォーマンス集約型サービスに対して 10 個の Private Service Connect Endpointまでに制限されています。
トラブルシューティング
接続の問題が発生した場合、またはベータ版に関するフィードバックを共有したい場合は、Databricks アカウント チームにお問い合わせください。