メインコンテンツまでスキップ

パフォーマンス集約型サービス向けにインバウンド Private Service Connect を構成する

このページでは、Databricks プラットフォーム上のパフォーマンス重視のサービスへのインバウンド接続用に Private Service Connect を構成する方法を説明します。このプライベート接続により、外部クライアントやユーザーは、Zerobus Ingest や Lakebase Autoscaling などの Databricks プラットフォーム上のサービスにアクセスできるようになります。

Databricksは、ワークスペースAPIおよびUIへの接続に対するPrivate サービス Connectを既にサポートしています。このページでは、パフォーマンス重視のサービスを対象とするPrivate Service Connect Endpointについて説明します。ワークスペースの接続については、「ワークスペースのインバウンドプライベート サービス接続を構成する」を参照してください。

利点​

  • セキュリティの強化:お客様のネットワークと Databricks サービス間のトラフィックは、Google Cloud ネットワークインフラストラクチャ内に留まります。
  • パフォーマンス重視のサービスへのアクセス:Zerobus IngestやLakebaseオートスケールなどのサービスへのプライベート接続です。
  • コンプライアンス要件: プライベートネットワーク接続を義務付ける規制要件を満たします。
  • コスト効率: Private Service Connect は、NAT ゲートウェイなどのパブリック接続オプションよりも低コストです。

要件​

  • Databricks アカウントは Enterprise レベルである必要があります。
  • VPCエンドポイントを登録し、イングレスポリシーを管理するには、Databricksアカウント管理者である必要があります。
  • Private Service Connect Endpointを作成するには、Google Cloudでの権限が必要です。

リージョンサービスアタッチメントのリファレンス​

パフォーマンス負荷の高いサービスのプライベート サービス接続Endpointを作成するには、リージョンのサービス添付ファイル URI が必要です。URI はサフィックスregional-plproxy-psc-endpoint-all-portsで終わります。これは、ワークスペース APIs および UI へのインバウンド Private Service Connect によって使用される 一般アクセス サービス添付ファイル (plproxy-psc-endpoint-all-ports) とは区別されます。

お使いのリージョンのサービスアタッチメントURIを確認するには、「Private Service Connect (PSC) 添付ファイルURIとプロジェクト番号」を参照してください。

Private Service Connect Endpointを構成する​

Google CloudでPrivate サービス Connect Endpointを作成する​

クライアントが接続するGoogle CloudプロジェクトおよびVPC内にEndpointを作成します:

  1. Google Cloud コンソールで、Private Service Connect ページに移動します。
  2. Connected Endpoint tabをクリックします。
  3. [ + Endpoint の接続 ] をクリックします。
  4. ターゲット には、 公開済みサービス を選択します。
  5. [Target service] フィールドに、リージョンのサービスアタッチメント URI を貼り付けます。リージョンサービスアタッチメントのリファレンスを参照してください。
  6. Endpointの名前を入力します。Databricksでは、リージョンと目的を含めた名前(例: us-central1-performance-intensive-psc)にすることをお勧めしています。
  7. Endpoint をホストする VPC ネットワークとサブネットを選択します。
  8. Endpoint 用の IP アドレスを予約します。
  9. 作成 をクリックします。
  10. 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ワイヤ)および443(Data APIおよびその他のHTTPSベースのクライアント)を使用します。ファイアウォールルールで、クライアントからEndpoint IPアドレスへのこれらのポートにおけるアウトバウンドTCPトラフィックが許可されていることを確認してください。

DatabricksにEndpointを登録する​

Databricksアカウントコンソールを使用してPrivate Service Connect Endpointを登録してください:

  1. Databricksアカウントコンソールに移動します。
  2. サイドバーの セキュリティ をクリックします。
  3. [ プライベートEndpoint ] をクリックします。
  4. [プライベートエンドポイントを登録] をクリックします。
  5. 必須フィールドに入力します:
    • [VPC Endpoint名] : 登録用の人間が判読できる名前。Databricksでは、リージョンと目的を含む名前を推奨しています。
    • リージョン :Private Service Connect Endpointが存在するGoogle Cloudリージョン。リージョンはワークスペースのリージョンと一致している必要があります。
    • Google Cloud VPCネットワークプロジェクトID : Endpointを作成したGoogle Cloudプロジェクト。
    • Google Cloud Private Service Connect(PSC)Endpoint ID :Google CloudコンソールでのEndpoint名。

VPC Endpoint構成APIを使用してEndpointを登録することもできます。次のフィールドを指定して POST リクエストを /api/2.0/accounts/{accountId}/vpc-endpoints に送信します。

  • endpoint_region:Private Service Connect Endpointが存在する Google Cloud リージョン。
  • project_id:エンドポイントを作成したGoogle Cloudプロジェクト。
  • psc_endpoint_name:Google Cloud コンソールにおける Endpoint 名。
  • vpc_endpoint_name:登録用の人間にとってわかりやすい名前。
JSON
{
"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の値が含まれます。

プライベートアクセスポリシーを構成する​

プライベート サービス接続Endpointを登録した後、ワークスペースのプライベートアクセス ポリシーを構成する方法は、コンテキストベースのイングレスを使用する方法と、プライベートアクセス設定を使用する方法の2つがあります。コンテキストベースのイングレスアプローチを使用すると、ID、リクエストタイプ、ネットワークソースの条件を組み合わせて、きめ細かなアクセスを構成できます。コンテキストベースのイングレス制御を参照してください。プライベートアクセス設定は、すべてか無か、またはリージョンにバインドされるポリシーです。

トラフィックを許可するには、プライベートアクセス設定とコンテキストベースのイングレスの両方でEndpointを許可する必要があります。defaultでは、コンテキストベースのイングレスは [すべてのプライベートEndpointからのアクセスを許可] に設定されており、アクセスの決定はワークスペースのプライベートアクセス設定に延期されます。コンテキストベースのプライベートアクセス ポリシーを使用するには、 [パブリックアクセスが有効] を [True] に、 [プライベートアクセスレベル] を [アカウント] に設定して、プライベートアクセス設定オブジェクトをワークスペースにアタッチします。これにより、アクセスの決定がワークスペースのコンテキストベースのイングレスポリシーに延期されます。同じリージョン内の任意のワークスペースで、同じ「すべてのアクセスを許可」プライベートアクセス設定オブジェクトを再利用できます。

注記

To configure private access to workspaces using context-based ingress (Method 1), an account admin must turn on Context-Based Ingress: Workspace Private Access Policies from the account console Previews page. See Manage account-level previews.

  1. アカウントコンソールで、サイドバーの**セキュリティ**をクリックします。

  2. サイドバーで「 コンテキストベースのイングレスおよびエグレス制御 」をクリックします。

  3. ワークスペースレベルポリシー の下にある 新しいワークスペースポリシー をクリックします。

  4. Ingress > Private Network Access で、プライベート アクセス ポリシーを定義します。

    1. defaultでは、登録されているすべてのエンドポイントが許可されています: すべてのプライベートエンドポイントからのアクセスを許可 。これでよろしければ、次のステップに進んでください。この default には、登録されている最初の 200 個の VPC Endpoint のみが含まれます。ポリシーでそれ以上のものが必要な場合は、アカウントチームに連絡して増量を依頼してください。
    2. 特定の登録済みEndpointを許可リストに登録し、他のすべてのEndpointを拒否するには、 すべてのプライベートEndpointからのアクセスを許可 のチェックを外し、許可ルールを追加します。
      1. アクセスを許可するIDとワークスペースの送信先を選択します。defaultではすべて許可されています。
      2. 「 ソースタイプ 」に「 選択したプライベートEndpoint 」を選択し、登録したPrivate Service Connect Endpointを選択します。Endpointのリージョンは、ワークスペースのリージョンと一致している必要があります。
      3. 確認 をクリックします。
      4. オプションで、 拒否ルール をポリシーに追加して、許可ルールの例外を定義できます。
  5. イングレス > パブリックネットワークアクセス でパブリックアクセス ポリシーを設定します。すべてのパブリック IP アクセスを無効にするには、 「すべてのパブリック IP からのアクセスを許可」 のチェックを外します。Databricksでは、DNS構成をテストしている間はパブリックアクセスを有効にしておき、DNSが確定した後に無効にして排他的なプライベート接続を強制することをお勧めします。

  6. ドライランモード でイングレスポリシーをテストしてから、 適用済み に切り替えます。ドライランモードのアクセス拒否はsystem.access.inbound_networkシステムテーブルにログされますが、アクセスはブロックされません。

  7. エグレス ポリシーが正しいことを確認してください。

  8. ポリシーをワークスペースにアタッチしてください。

  9. ネットワーク ポリシーを保存します。コンテキストベースのイングレス ポリシーの更新は、通常10分以内に有効になります。ワークスペースごとに1つのネットワークポリシーを使用するか、同じイングレスルールとエグレスルールを使用するワークスペース間で単一のポリシーを共有できるため、1回定義すればどこにでもアタッチできます。

  10. 「すべてアクセスを許可する」プライベートアクセス設定オブジェクトをワークスペースにアタッチします。プライベートアクセス設定オブジェクトがアタッチされていないワークスペースでは、ネットワークポリシーに関係なく、すべてのプライベートアクセスが拒否されます。メソッド2のステップに従います。その際、 パブリックアクセスを有効にする を True に設定し、 プライベートアクセスレベル を アカウント に設定します。 パブリックアクセスを有効にする を True に設定したまま、コンテキストベースのイングレスポリシーを使用してアクセスを制限します。

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 に向かうようにすることを推奨しています:

  1. <product>.<region>.gcp.databricks.com 用のプライベートホストゾーンを作成し、Private Service Connect Endpoint をホストする VPC にアタッチします。Google Cloud プライベートゾーンは、アタッチされたネットワークに対してのみ解決されるため、クライアントが使用するには、そのゾーンを該当する VPC にアタッチする必要があります。
  2. そのゾーンで、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アドレスに解決されることを確認します:

Bash
nslookup <workspace-id>.zerobus.<region>.gcp.databricks.com

ルックアップでは、「Google Cloud での Private Service Connect Endpoint の作成」で予約したプライベート IP アドレスが返される必要があります。代わりにパブリックアドレスが返される場合は、DNS 構成を再確認してください。

次に、接続をテストします:

Bash
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を構成する前に、使用するサービスがリージョンでサポートされていることを確認してください。「インジェストの可用性」を参照してください。
  • プロジェクトおよびリージョンごとのEndpoint:各Databricksアカウントでは、顧客のGoogle CloudプロジェクトIDに対して、各リージョンの高負荷サービス用Private Service Connect Endpointが10個までに制限されています。クォータの増加が必要な場合は、Databricksアカウントチームにお問い合わせください。

トラブルシューティング​

接続に関する問題が発生した場合、またはフィードバックを共有する場合は、Databricksアカウントチームにお問い合わせください。

その他のリソース​