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

パフォーマンス重視のサービス向けに受信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エンドポイント サービスを参照してください。

インバウンドPrivateLinkをセットアップする

VPC Endpointを作成する

AWS マネジメントコンソールでインバウンド VPC エンドポイントを作成するには:

  1. AWSマネジメントコンソールの [VPCエンドポイント] セクションに移動します。

  2. 右上で、リージョンをトランジット VPC リージョンと同じリージョンに設定します。

  3. [ エンドポイントの作成 ] をクリックします。

  4. エンドポイントに名前を付ける際には、Databricks ではdatabricks-us-west-2-inbound-pl-vpceのようにリージョンと目的を含めることを推奨しています。

  5. [サービス カテゴリ] で、 NLB と GWLB を使用するエンドポイント サービス を選択します。

  6. サービス名欄に、お住まいの地域のサービス名を貼り付けてください。PrivateLink VPCエンドポイント サービスのテーブルを使用して、インバウンド PrivateLink サービス名を見つけます (テーブル内では 、パフォーマンス重視のサービス用のインバウンド プライベート リンク というラベルが付いています)。

  7. 「サービスの検証」 をクリックし、 検証されたサービス名が 緑色のボックスに表示されることを確認します。 「サービス名を検証できませんでした」というエラーが発生した場合は、VPC のリージョン、サブネット、新しい VPC エンドポイントが正しく一致していることを確認してください。

  8. [ VPC ] メニューで、トランジットVPCをクリックします。

  9. [サブネット] で、サブネットを選択します。ap-northeast-1ap-northeast-2us-east-1 、またはus-west-2にデプロイする場合は、アベイラビリティーゾーンのサポートにリストされているサポートされているアベイラビリティーゾーンのみを使用していることを確認してください。

  10. [セキュリティ グループ] セクションで、受信接続用に作成したセキュリティ グループを選択します。

  11. (オプション) VPC エンドポイントの プライベート DNS 名 を有効にします。

警告

このステップでは、 プライベートDNS名 を有効にしないことをお勧めします。プライベートDNSを有効にすると、トラフィックは直ちに PrivateLink 経由でルーティングされますが、以下のステップで VPC Endpoint の登録と構成を完了するまで、リクエストは拒否されます。代わりに、セットアップ完了後に 「インバウンド PrivateLink の DNS を構成する」で DNS を構成してください。

  1. [ エンドポイントの作成 ] をクリックします。

  2. 後のステップのために次の情報を記録します。

    • VPCエンドポイントID
    • 選択したサブネット内の VPC エンドポイントの IPv4 アドレス
注記

The security group that you select for inbound connections must allow the inbound traffic for the service you connect to over the VPC endpoint:

  • Lakebase Autoscaling: Allow inbound TCP from the security groups or CIDR ranges of the clients that connect, on the port(s) matching how they connect: 5432 for Postgres wire traffic (psql, Postgres drivers, and ORMs) and 443 for Data API and other HTTPS-based clients. Both use the same regional ingress.
  • Zerobus Ingest: Allow inbound TCP on port 443.

You do not need to configure outbound rules. Security groups are stateful, so response traffic for an allowed inbound connection is permitted automatically.

VPC Endpointを登録する

AWSマネジメントコンソールでVPCエンドポイントを作成したら、 Databricksでそれらを登録します。 ネットワーク構成は作成後に更新することはできません。次のステップに従って、 VPCエンドポイントを登録します。

  1. Databricks アカウント コンソールに移動します。

  2. サイドバーの セキュリティ をクリックします。

  3. 垂直ナビゲーションから プライベートエンドポイント をクリックします。

  4. [プライベートエンドポイントを登録] をクリックします。

  5. VPC エンドポイント登録のわかりやすい名前を入力します。

    • VPCE us-west-2 for Service-Directのように、地域と目的を含む命名規則が推奨されます。
  6. 適切なリージョンを選択します。リージョンは、ワークスペースのリージョンと、登録するAWS VPCエンドポイントのリージョンに一致する必要があります。

  7. AWS VPC エンドポイント ID フィールドに AWS VPC エンドポイント ID を貼り付けます。

  8. [新しい VPC エンドポイントを登録] をクリックします。

クラシック コンピュートを使用し、同じ顧客管理VPCを共有する複数のワークスペースがある場合は、それらの間でAWS VPCエンドポイントを共有できます。複数のDatabricksアカウントの場合は、各アカウントにAWS VPCエンドポイントを登録できます。

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

サービス ダイレクト VPC エンドポイントを登録すると、ワークスペースのプライベートアクセス ポリシーを構成する方法が2つあります。コンテキストベースのイングレスを使用する方法と、プライベートアクセス設定を使用する方法です。コンテキストベースのイングレスアプローチを使用すると、ID、リクエストの種類、およびネットワーク ソースの条件を結合することで、きめ細かいアクセスを構成できます。「コンテキストベースのイングレス制御」を参照してください。プライベートアクセス設定は、オールオアナッシングのリージョンに紐付けられたポリシーです。

トラフィックを許可するには、プライベートアクセス設定とコンテキストベースのイングレスの両方がエンドポイントを許可する必要があります。デフォルトでは、コンテキストベースのイングレスは**すべてのプライベートエンドポイントからのアクセスを許可する**ように設定されており、アクセス決定はワークスペースのプライベートアクセス設定に委ねられます。コンテキストベースのプライベートアクセスポリシーを構成する場合は、ワークスペースにプライベートアクセス設定がアタッチされており、登録されているすべてのプライベートエンドポイントが許可されていることを確認してください(詳細は以下を参照)。これにより、アクセス決定はワークスペースのコンテキストベースのイングレスポリシーに委ねられます。同じリージョン内の任意のワークスペースで、同じ「すべてのアクセスを許可」プライベートアクセス設定を再利用できます。

備考

Preview

Configuring private access to workspaces using context-based ingress (Method 1) is in Beta.

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

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

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

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

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

  6. 最初に ドライ実行モード でイングレスポリシーをテストしてから、 強制 に切り替えてください。ドライ実行モードのアクセス拒否は、system.access.inbound_networkシステムテーブルに記録されますが、アクセスはブロックされません。

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

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

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

  10. 「すべてのアクセスを許可」プライベートアクセス設定をワークスペースにアタッチします。プライベートアクセス設定がアタッチされていないワークスペースは、ネットワークポリシーに関係なく、すべてのプライベートアクセスが拒否されます。

    1. アカウントコンソールで、サイドバーの**セキュリティ**をクリックします。
    2. サイドバーの プライベートアクセス設定 をクリックします。
    3. [プライベートアクセス設定の追加] をクリックします。
    4. 新しいプライベートアクセス設定オブジェクトの名前を入力します。
    5. ワークスペースのリージョンに一致するリージョンを選択します。
    6. 「**パブリックアクセスが有効**」フィールドを「**True**」に構成します。
    7. プライベートアクセスレベル : アカウント を選択してください。
    8. [プライベートアクセス設定の追加] をクリックします。
    9. ワークスペースで、[ 詳細設定 ] をクリックして追加のフィールドを表示します。
    10. [PrivateLink] ドロップダウンで、前のステップで作成したプライベート アクセス設定オブジェクトの名前を選択します。
    11. 保存 をクリックします。

インバウンドPrivateLinkのDNSを構成する

PrivateLink 構成を完了するには、VPC エンドポイントを介してトラフィックをルーティングするようにカスタム DNS 設定を構成します。詳細な手順については、 「AWS インバウンド プライベート リンクの DNS を構成する」を参照してください。

ネットワーク接続を確認する

クライアントからの接続をテストして、受信 PrivateLink が正しく構成されていることを確認します。

DNS解決を確認する

DNS クエリが、先ほど作成した VPC エンドポイントのプライベート IP アドレスに解決されることを確認します。

Bash
dig <region>.service-direct.privatelink.cloud.databricks.com

または代わりにnslookup使用します:

Bash
nslookup <region>.service-direct.privatelink.cloud.databricks.com

どちらのコマンドも、VPC エンドポイントのプライベート IP アドレスを返します。

基本的な接続をテストする

PrivateLink エンドポイントに接続できることを確認します。

Bash
nc -vz <region>.service-direct.privatelink.cloud.databricks.com 443

エンドポイントのホスト名に対する 443 チェックは、VPCエンドポイントに到達可能であることのみを確認するものであり、Lakebaseを実行するものではありません。Lakebase オートスケール の場合、関連するポートを Lakebase ホストに対してテストします:nc -vz <lakebase-host> 5432 (Postgres ワイヤ) または nc -vz <lakebase-host> 443 (Data API およびその他の HTTPS ベースのクライアント)。

接続が成功した場合、インバウンド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 エンドポイント サブネットがサポートされているアベイラビリティーゾーンにあることを確認してください。

リージョン

サポートされているアベイラビリティゾーン

ap-northeast-1

apne1-az1apne1-az2apne1-az4

ap-northeast-2

apne2-az1, apne2-az3

us-east-1

use1-az1use1-az2use1-az4

us-west-2

usw2-az1usw2-az2usw2-az3

リージョン

サポートされているアベイラビリティゾーン

ap-northeast-1

apne1-az1apne1-az2apne1-az4

ap-northeast-2

apne2-az1, apne2-az3

us-east-1

use1-az1use1-az2use1-az4

us-west-2

usw2-az1usw2-az2usw2-az3

サポートされているその他のすべてのリージョンでは、任意の可用性ゾーンが許可されます。

その他のリソース