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

サーバレス コンピュートのプライベート接続を構成すると、次のものが提供されます。
- 専用のプライベート接続: サーバーレス ワークスペースとAWSリソース間の安全で隔離されたアクセスを確保し、許可された接続のみにアクセスを制限します。
- データ流出の軽減策の強化: サーバレス コンピュート with Unity Catalog は組み込みデータ流出保護を提供しますが、PrivateLink はネットワーク防御のレイヤーを追加します。 AWS PrivateLinkを使用すると、データトラフィックは完全にAWSネットワークに留まり、パブリックインターネットを通過することはありません。このアーキテクチャは、VPC エンドポイントを介した制御されたアクセスと組み合わせることで、データ流出の攻撃対象領域を減らします。
この手順で構成された専用のVPC Endpointは、AWSリソースへのServerlessコンピュートアクセスを処理します。Databricksコントロールプレーンは、メタデータ操作のために一部のリソースにもアクセスします。S3の場合、Unity Catalogはコントロールプレーンからバケットにアクセスします。そのため、バケットポリシーはServerless Endpointに加えてUnity Catalogを許可する必要があります。ステップ3を参照してください。会社のネットワーク内からもリソースにアクセスする場合は、会社の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 に接続されたワークスペースからのすべてのトラフィックに適用されます。インスタンスごとのスコープはありません。
- SAP BDCデータソースへのプライベート接続もサポートされています。詳細については、SAP Business Data Cloud (BDC) コネクターの作成および管理をご覧ください。
- このプライベート接続を介して 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個のバケット名を含めることができます。
プライベート接続を構成します
ネットワーク接続構成(NCC)オブジェクトを作成します
使用するリージョンと AWS アカウントに既存の NCC がある場合は、この手順をスキップできます。
- アカウント コンソールで、 [セキュリティ] をクリックします。
- [ネットワーク接続構成] タブを選択します。
- ネットワーク構成の追加を 選択します。
- NCCの名前を入力してください。
- 地域を選択してください。これは、あなたのワークスペースのリージョンと一致している必要があります。
- [ 追加 ] をクリックします。
AWS Interface Endpoint を作成する
Do not enable your private endpoint until you have updated the resource policy.
- NCCの 「プライベートエンドポイントルール」 セクションに移動してください。
- プライベート エンドポイント ルールの追加 を選択します。
- [リソース タイプ] で、接続するAWSリソース (たとえば、 S3バケット 、 Bedrock 、または RDS ) を選択します。 対応リソースの全リストについては、「サポートされているリソース」を参照してください。
- ルール設定を構成します。
- エンドポイントサービス: このフィールドは、プライベートエンドポイントの宛先リソースへの接続を確立するために自動的に入力されます。
- S3バケット名 (S3のみ):宛先リソースのバケット名を入力してください。その他のリソースタイプについては、バケット名またはリソース名のフィールドは表示されません。プライベートエンドポイントは、選択したリソースタイプへのすべてのトラフィックに適用されます。
- リージョン (S3のみ):必要に応じて、宛先S3バケットのリージョンを指定します。地域を指定しない場合は、NCCの地域が使用されます。これにより、リージョンをまたいだS3プライベート接続が可能になります。
プライベートEndpointへのアクセスを制限する
プライベートEndpointを有効にする前に、前のステップで返されたVPC Endpointからのトラフィックと、承認した他のソースからのトラフィックのみがそれに到達できるように、AWSリソースへのアクセスを制限します。この制限を適用する場所は、リソースがリソースベースのポリシーをサポートしているかどうかによって異なります。
How to restrict access | Resources |
|---|---|
Add a | DynamoDB, Glue, KMS, Lambda, Secrets Manager, SNS, SQS |
Add a | S3 |
Add a | Bedrock, Bedrock Agent, Bedrock Agent Runtime, Bedrock Runtime, EMR, RDS, RDS Data API, RDS Performance Insights, Redshift, Redshift Data API, Redshift Serverless, STS |
すべての場合において、Allowではなく明示的なDenyを使用します。AWSでは、defaultではアクセスは拒否されるため、Allowステートメントはアクセスを許可するだけです。Allowステートメントでは、特定のパスへのアクセスを限定することはできません。プライベートEndpointへのアクセスを制限するには、明示的なDenyがすべてのAllowを上書きするため、ソースがVPC Endpointではないすべてのリクエストを拒否します。
A Deny statement with "Principal": "*" blocks every request that doesn't carry a matching aws:SourceVpce key, including access from the AWS console, the AWS CLI, and IAM identities in your account. Before you enable the endpoint, add every source you still need, such as administrative IAM roles or corporate VPN IP ranges, to the policy. Otherwise, you can lose console and administrative access to the resource. Enabling the endpoint manually in the next step gives you time to update these policies before serverless traffic starts routing through the endpoint.
- Resource-based policy
- S3 bucket
- IAM role policy
これらのリソースを使用すると、ポリシーをリソースに直接アタッチできます。前のステップで返されたVPC Endpointをソースとしない要求を拒否するDenyステートメントを追加します。次の例では、要求がそのEndpointを介して行われた場合を除き、DynamoDBテーブルへのすべてのアクセスを拒否します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyAccessOutsideVpcEndpoint",
"Effect": "Deny",
"Principal": "*",
"Action": "dynamodb:*",
"Resource": "arn:aws:dynamodb:{region}:{account-id}:table/{table-name}",
"Condition": {
"StringNotEquals": {
"aws:SourceVpce": "vpce-12345"
}
}
}
]
}
vpce-12345を前のステップで返されたVPC Endpointに置き換えてください。ポリシーメカニズムおよびActionの値は、リソースによって異なります。たとえば、KMS はキーポリシーを使用し、Secrets Manager はシークレットリソースポリシーを使用します。お使いのリソースのAWSドキュメントを参照してください。
S3 はバケットポリシーを使用しますが、1つ追加する必要があります。Unity Catalogの操作は、Serverless VPC エンドポイントを介するのではなく、Databricksコントロールプレーンからバケットに到達します。そのため、Serverless エンドポイントを除くすべてを拒否するポリシーは、Unity Catalogもブロックします。コントロールプレーンのS3ゲートウェイVPC Endpointを、それらのVPC IDをaws:SourceVpc条件キーとともにポリシーに追加することで許可します。Databricksコントロールプレーンからの送信IPで、お使いのリージョンのコントロールプレーンVPC IDを確認してください。
以下のバケットポリシーは、Serverless VPC Endpoint、DatabricksコントロールプレーンVPC、または承認された企業VPN IPを介したリクエストでない限り、すべてのアクセスを拒否します:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyAllOtherAccess",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": ["arn:aws:s3:::{bucket-name}", "arn:aws:s3:::{bucket-name}/*"],
"Condition": {
"StringNotEqualsIfExists": {
"aws:SourceVpce": "vpce-12345",
"aws:SourceVpc": ["vpc-11111", "vpc-22222"]
},
"NotIpAddressIfExists": {
"aws:SourceIp": ["1.2.3.4/32", "5.6.7.8/32"]
}
}
}
]
}
vpce-12345を、前のステップで返されたServerless VPC Endpointに置き換えます。vpc-11111とvpc-22222を、お使いのリージョンのDatabricksコントロールプレーンVPC IDに置き換えます。Databricks コントロールプレーンからのアウトバウンド IP を参照してください。aws:SourceIpの値を企業のVPN IP範囲に置き換えるか、ネットワークからのアクセスが不要な場合はNotIpAddressIfExistsブロックを削除してください。
...IfExists演算子は、リクエストがそのキーを持つ場合にのみ各条件を適用するため、承認された単一のソースからのリクエストは許可されます。
これらのリソースは、リソースにポリシーをアタッチすることをサポートしていません。代わりに、Denyステートメントを、リソースのサービスの資格情報が使用するIAMロールにインラインポリシーとして追加します。次のインラインポリシーは、リクエストが前のステップで返されたVPC Endpointを介して行われる場合を除き、すべてのアクセスを拒否します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyAccessOutsideVpcEndpoint",
"Effect": "Deny",
"Action": "*",
"Resource": "*",
"Condition": {
"StringNotEquals": {
"aws:SourceVpce": "vpce-12345"
}
}
}
]
}
vpce-12345を、前のステップで返されたVPC Endpointに置き換えます。
These private endpoints cover each AWS service's API: management operations and, for the Data API variants (rds-data and redshift-data), HTTP-based SQL queries. They do not cover direct JDBC or ODBC database connections to RDS or Redshift instances, which use separate instance DNS names.
UI を更新するか、API 呼び出しを行って、ルールのステータスが ESTABLISHEDに変わることを確認します。
プライベートEndpointルールを有効にする
- ケバブメニューボタンをクリックしてください。
- ルールを更新 をクリックします。
- ルールを有効にする を選択します。
This step routes traffic for the configured AWS resource through PrivateLink for any workspace attached to the NCC. Before proceeding, verify you have updated the resource policy to allow resource access from the VPC endpoint.
NCCを1つまたは複数のワークスペースにアタッチします
この手順では、設定したプライベート接続をサーバレス ワークスペースに関連付けます。 ワークスペースが目的の NCC に既にアタッチされている場合は、この手順をスキップします。NCC をワークスペースにアタッチするには:
- 左側のナビゲーションから 「ワークスペース」 を選択してください。
- 既存のワークスペースを選択します。
- [ワークスペースの更新] を選択します。
- 「ネットワーク接続構成」 で、ドロップダウンメニューを選択し、作成したNCCを選択します。
- この NCC を適用するすべてのワークスペースに対してこの手順を繰り返します。
接続の検証
接続性を確認する方法は、リソースの種類によって異なります。S3以外のリソースの場合は、適切なAWS SDK (Bedrock モデルの呼び出しやLambda関数の呼び出しなど) を介してリソースを呼び出してノートブックからのトラフィックをシミュレートし、リソースのアクセス ログをチェックしてリクエストがVPCエンドポイント経由で到着することを確認します。
次の例では、S3 バケットを外部ロケーションとして登録し、クエリを実行することで、 S3バケットへの接続をテストします。
-
バケットを外部ロケーションとして登録する 外部ロケーションを参照してください。
-
SQLエディタを開きます。
-
ラン:
SQLCREATE TABLE {catalog}.{schema}.test_connectivity LOCATION 's3://{your-s3-bucket}/test_connectivity'
接続が完全に確立されるまでに 10 分かかる場合があります。
If your network policy restricts external access, direct connections to your AWS S3 bucket's FQDNs like {your-s3-bucket}.s3.{region}.amazonaws.com are blocked. You must explicitly add the required FQDNs to your network policy's Allowed domains to allow this access. See Manage network policies for serverless egress control.
Access to your S3 buckets must use regional endpoints like {your-s3-bucket}.s3.{region}.amazonaws.com. Legacy endpoints like {your-s3-bucket}.s3.amazonaws.com are not supported.
Unity Catalog の外部ロケーションとして登録できないリソース(例えば Delta Sharing Endpoint など)の接続性を確認するには、ノートブックからそのリソースのEndpointに対して DNS ルックアップを実行し、プライベート IP アドレスに解決されることを確認してください:
%sh nslookup <resource-endpoint>
次のステップ
- VPC内のAWSリソースへのプライベート接続を構成する : PrivateLink を使用して、パブリック インターネットをバイパスし、サーバーレス ワークスペースからVPC内のAWSサービスへの安全かつ隔離されたアクセスを確立します。 VPC内のリソースへのプライベート接続の設定については、「VPC内のリソースへのプライベート接続の設定」を参照してください。
- サーバレス コンピュート アクセス用のファイアウォールを構成する : Databricksサーバレス コンピュート プレーンからのトラフィックを許可するようにデータ ソース ファイアウォールを構成します。 「サーバレス コンピュート ファイアウォール設定」を参照してください。
- データ転送と接続コストを理解する :データ転送と接続とは、データを環境に出入りさせることを指します。 レス環境。 サーバレス製品のネットワーク料金は、サーバレスコンピュートをご利用の顧客にのみ適用されます。 Databricksのネットワークコストについて理解するを参照してください。