AWS マネージド リソースへのプライベート接続を設定する
プレビュー
この機能は パブリック プレビュー段階です。このプレビューに参加するには、Databricks アカウント チームにお問い合わせください。
Databricks 、サーバレス ワークロードが顧客リソースに接続するとき、およびパフォーマンス重視のサービスがデータをリージョンを越えてクライアントに送信するときに、ネットワーク コストを請求します。 Databricksのネットワークコストについて理解するを参照してください。
このページでは、 Databricksアカウント コンソール UI を使用して、サーバレス コンピュートから AWS 管理のリソースへのプライベート接続を構成する方法について説明します。

サーバレス コンピュートのプライベート接続を構成すると、次のものが提供されます。
- 専用のプライベート接続: サーバーレス ワークスペースとAWSリソース間の安全で隔離されたアクセスを確保し、許可された接続のみにアクセスを制限します。
- データ流出の軽減策の強化: サーバレス コンピュート with Unity Catalog は組み込みデータ流出保護を提供しますが、PrivateLink はネットワーク防御のレイヤーを追加します。 AWS PrivateLinkを使用すると、データトラフィックは完全にAWSネットワークに留まり、パブリックインターネットを通過することはありません。このアーキテクチャは、VPC エンドポイントを介した制御されたアクセスと組み合わせることで、データ流出の攻撃対象領域を減らします。
Databricksコントロールプレーンへのアクセスは特定のメタデータ操作に使用されますが、この手順で構成された専用のVPCエンドポイントはAWSへのアクセスを処理します。 。 社内ネットワーク内からのリソースへのアクセスも許可する場合は、リソースのポリシーに社内VPNのIPアドレスを含めてください。
ノートブックやクエリなど、このプライベート接続を介して S3 バケットにアクセスする場合は、 {your-s3-bucket}.s3.{region}.amazonaws.comなどのリージョン DNS を使用してバケットを参照してください。{your-s3-bucket}.s3.amazonaws.comのような従来のグローバルエンドポイントはサポートされていません。
サポートされているリソース
サーバーレス コンピュートからのプライベート接続は、次の AWS 管理のリソースをサポートします。
リソース | エンドポイントDNS |
|---|---|
Bedrock |
|
ベッドロックエージェント |
|
BedrockエージェントRuntime |
|
Bedrock Runtime |
|
DynamoDB |
|
EMR |
|
Glue |
|
キー管理サービス(KMS) |
|
Lambda |
|
RDS |
|
RDSデータAPI |
|
RDS パフォーマンスに関する知識 |
|
Redshift |
|
Redshift Data API |
|
Redshiftレス |
|
S3(同一地域または地域間) |
|
シークレットマネージャー |
|
セキュリティトークンサービス(STS) |
|
簡易通知サービス(SNS) |
|
シンプルキューサービス(SQS) |
|
S3は、バケットごとのスコープ設定とリージョン間プライベート接続をサポートする唯一のリソースです。他のすべてのリソースの場合、プライベート エンドポイントは、リソース タイプをターゲットとする NCC に接続されたワークスペースからのすべてのトラフィックに適用されます。インスタンスごとのスコープはありません。
このプライベート接続を介して S3 バケットにアクセスする場合 (たとえば、ノートブックやクエリから)、 {your-s3-bucket}.s3.{region}.amazonaws.comなどのリージョン DNS を使用してバケットを参照してください。{your-s3-bucket}.s3.amazonaws.comのような従来のグローバルエンドポイントはサポートされていません。
必要条件
- ワークスペースは Enterprise プランです。
- あなたはDatabricksアカウントのアカウント管理者です。
- サーバレス コンピュートを使用して、少なくとも 1 つの機能ワークスペースがあります。
- AWSリソースのポリシーを作成および変更し、 VPCエンドポイントを作成するための適切なAWS IAM権限を持っています。
- 各 Databricks アカウントには、リージョンごとに最大 10 個の NCC を含めることができます。
- 各リージョンには 30 個のプライベート エンドポイントがあり、必要に応じて 1 から 10 個の NCC に分散できます。
- 各NCCは、最大50のワークスペースにアタッチできます。
- S3の場合、各NCCはリージョンごとに1つのS3プライベートエンドポイントルールを設定でき、各ルールには最大100個のバケット名を含めることができます。
ステップ 1: ネットワーク接続構成 (NCC) オブジェクトを作成する
使用するリージョンと AWS アカウントに既存の NCC がある場合は、この手順をスキップできます。
- アカウント コンソールで、 [セキュリティ] をクリックします。
- [ネットワーク接続構成] タブを選択します。
- ネットワーク構成の追加を 選択します。
- NCCの名前を入力してください。
- 地域を選択してください。これは、あなたのワークスペースのリージョンと一致している必要があります。
- [ 追加 ] をクリックします。
ステップ 2: AWSインターフェースエンドポイントを作成する
ステップ 3 を完了するまで、プライベート エンドポイントを有効にしないでください。
- NCCの 「プライベートエンドポイントルール」 セクションに移動してください。
- プライベート エンドポイント ルールの追加 を選択します。
- [リソース タイプ] で、接続するAWSリソース (たとえば、 S3バケット 、 Bedrock 、または RDS ) を選択します。 対応リソースの全リストについては、「サポートされているリソース」を参照してください。
- ルール設定を構成します。
- エンドポイントサービス: このフィールドは、プライベートエンドポイントの宛先リソースへの接続を確立するために自動的に入力されます。
- S3バケット名 (S3のみ):宛先リソースのバケット名を入力してください。その他のリソースタイプについては、バケット名またはリソース名のフィールドは表示されません。プライベートエンドポイントは、選択したリソースタイプへのすべてのトラフィックに適用されます。
- リージョン (S3のみ):必要に応じて、宛先S3バケットのリージョンを指定します。地域を指定しない場合は、NCCの地域が使用されます。これにより、リージョンをまたいだS3プライベート接続が可能になります。
ステップ 3: VPCエンドポイントからのトラフィックを受け入れるようにリソース ポリシーを更新する
サーバーレス コンピュートがプライベート エンドポイント経由でAWSリソースにアクセスできるようにするには、 AWSアカウントでリソースのポリシーを更新して、ステップ 2 で返されたVPCエンドポイントからのトラフィックを許可する必要がある場合があります。ポリシー メカニズムはリソースのタイプによって異なります。たとえば、 S3バケット ポリシーを使用し、 KMSキー ポリシーを使用し、Secrets Manager はシークレット リソース ポリシーを使用します。 ご利用のリソースに関するAWSドキュメントを参照してください。
次の例は、S3バケットポリシーのAllow句を示しています。
{
"Sid": "AllowVpcEndpointAccess",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:*",
"Resource": ["arn:aws:s3:::{bucket-name}", "arn:aws:s3:::{bucket-name}/*"],
"Condition": {
"StringEquals": {
"aws:SourceVpce": "vpce-12345" // This is the VPC endpoint returned in Step 2
}
}
}
代わりにポリシーがDeny句で構成されている場合は、ステップ 2 で返されたVPCエンドポイント ID の例外条件を追加する必要がある場合があります。
一例として、以下の条件を示します。
{
...
"Effect": "Deny",
...
"Condition": {
"StringNotEquals": {
"aws:SourceVpce": "vpce-12345"
}
}
}
このポリシー例には、企業VPNのIPアドレスなど、許可リストに追加したいその他のパブリックまたはプライベートのエンドポイントは含まれていません。Databricksのコントロールプレーンアクセスでは、メタデータ操作用に個別のゲートウェイVPCエンドポイントが使用されます。設定した専用VPCエンドポイントは、宛先リソースへのアクセスのみを処理します。
UI を更新するか、API 呼び出しを行って、ルールのステータスが ESTABLISHEDに変わることを確認します。
ステップ 4: プライベート エンドポイント ルールを有効にする
- ケバブメニューボタンをクリックしてください。
- ルールを更新 をクリックします。
- ルールを有効にする を選択します。
このステップは、NCC に接続されているワークスペースの PrivateLink を介して、設定されたAWSリソースのトラフィックをルーティングします。 続行する前に、 VPCエンドポイントからのリソースへのアクセスを許可するステップ 3 が完了していることを確認してください。
ステップ 5: NCC を 1 つ以上のワークスペースにアタッチする
この手順では、設定したプライベート接続をサーバレス ワークスペースに関連付けます。 ワークスペースが目的の NCC に既にアタッチされている場合は、この手順をスキップします。NCC をワークスペースにアタッチするには:
- 左側のナビゲーションから 「ワークスペース」 を選択してください。
- 既存のワークスペースを選択します。
- [ワークスペースの更新] を選択します。
- 「ネットワーク接続構成」 で、ドロップダウンメニューを選択し、作成したNCCを選択します。
- この NCC を適用するすべてのワークスペースに対してこの手順を繰り返します。
ステップ 6: 接続を確認する
接続性を確認する方法は、リソースの種類によって異なります。S3以外のリソースの場合は、適切なAWS SDK (Bedrock モデルの呼び出しやLambda関数の呼び出しなど) を介してリソースを呼び出してノートブックからのトラフィックをシミュレートし、リソースのアクセス ログをチェックしてリクエストがVPCエンドポイント経由で到着することを確認します。
次の例では、S3 バケットを外部ロケーションとして登録し、クエリを実行することで、 S3バケットへの接続をテストします。
- バケットを外部ロケーションとして登録する 外部ロケーションを参照してください。
- SQLエディタを開きます。
- ラン:
CREATE TABLE {catalog}.{schema}.test_connectivity LOCATION 's3://{your-s3-bucket}/test_connectivity'
接続が完全に確立されるまでに 10 分かかる場合があります。
ネットワークポリシーで外部アクセスが制限されている場合、 {your-s3-bucket}.s3.{region}.amazonaws.comのような AWS S3 バケットの FQDN への直接接続はブロックされます。このアクセスを許可するには、必要なFQDNをネットワークポリシーの 許可ドメイン に明示的に追加する必要があります。サーバレス出力制御については、「ネットワーク ポリシーの管理」を参照してください。
S3 バケットへのアクセスには、 {your-s3-bucket}.s3.{region}.amazonaws.comなどのリージョンエンドポイントを使用する必要があります。{your-s3-bucket}.s3.amazonaws.com などの従来のエンドポイントはサポートされていません。
次のステップ
- VPC内のAWSリソースへのプライベート接続を構成する : PrivateLink を使用して、パブリック インターネットをバイパスし、サーバーレス ワークスペースからVPC内のAWSサービスへの安全かつ隔離されたアクセスを確立します。 VPC内のリソースへのプライベート接続の設定については、「VPC内のリソースへのプライベート接続の設定」を参照してください。
- サーバレス コンピュート アクセス用のファイアウォールを構成する : Databricksサーバレス コンピュート プレーンからのトラフィックを許可するようにデータ ソース ファイアウォールを構成します。 「サーバレス コンピュート ファイアウォール設定」を参照してください。
- データ転送と接続コストを理解する :データ転送と接続とは、データを環境に出入りさせることを指します。 レス環境。 サーバレス製品のネットワーク料金は、サーバレスコンピュートをご利用の顧客にのみ適用されます。 Databricksのネットワークコストについて理解するを参照してください。