AWS マネージド リソースへのプライベート接続を設定する
Serverlessコンピュートから Amazon S3 連邦情報処理標準 (FIPS) Endpointへのプライベート接続は、米国およびカナダのリージョンでサポートされています。ワークスペースで FedRAMP Moderate および FedRAMP High ワークスペースを含む FIPS Endpoint が必要な場合は、プライベートEndpointルールを作成するときに S3 FIPS Endpoint サービスを選択します。
The S3 FIPS Endpoint サービスは、ネットワーク接続構成 (NCC) と同じリージョンにある必要があります。S3 FIPS は、クロスリージョン(リージョン間)のプライベート接続をサポートしていません。この FIPS のサポートは S3 にのみ適用され、このページのその他の AWS 管理リソースには適用されません。
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 バケットにアクセスする場合は、Endpointサービスに一致する DNS 名を使用します。
- Standard S3:
{your-s3-bucket}.s3.{region}.amazonaws.com - S3 FIPS:
{your-s3-bucket}.s3-fips.{region}.amazonaws.com
{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(同一地域または地域間) |
|
S3 FIPS (同じリージョンのみ) |
|
シークレットマネージャー |
|
セキュリティトークンサービス(STS) |
|
簡易通知サービス(SNS) |
|
シンプルキューサービス(SQS) |
|
- S3 および S3 FIPS は、バケットごとのスコピングをサポートしています。標準の S3 は、同一リージョンおよびクロスリージョンのプライベート接続をサポートしています。S3 FIPS は同一リージョンのプライベート接続のみをサポートしています。その他のすべてのリソースについて、プライベート Endpoint は、リソースタイプを対象とする NCC にアタッチされたワークスペースからのすべてのトラフィックに適用されます。インスタンスごとのスコピングはありません。
- このプライベート接続を介して S3 バケットにアクセスする場合は、標準 S3 の場合は
{your-s3-bucket}.s3.{region}.amazonaws.comを使用し、S3 FIPS の場合は{your-s3-bucket}.s3-fips.{region}.amazonaws.comを使用します。{your-s3-bucket}.s3.amazonaws.comなどのレガシーEndpointはサポートされていません。
必要条件
- ワークスペースは 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 ) を選択します。 対応リソースの全リストについては、「サポートされているリソース」を参照してください。
- ルール設定を構成します。
- Endpoint Service: S3 バケットの場合、ドロップダウンメニューからエンドポイントサービスを選択します。S3 FIPS を使用するには、
com.amazonaws.<NCC-region>.s3-fipsを選択します。その他のリソースタイプの場合、このフィールドは自動的に入力されます。 - S3バケット名 (S3 のみ):送信先リソースのバケット名を入力します。その他のすべてのリソースタイプでは、バケットまたはリソース名のフィールドは表示されません。プライベートEndpointは、選択したリソースタイプへのすべてのトラフィックに適用されます。
- Region (S3のみ): 標準 S3 の場合、必要に応じて宛先の S3 バケットのリージョンを指定します。リージョンを指定しない場合は、NCC のリージョンが使用されます。S3 FIPS の場合、宛先バケットとEndpointサービスは NCC のリージョンに存在する必要があります。
- Endpoint Service: S3 バケットの場合、ドロップダウンメニューからエンドポイントサービスを選択します。S3 FIPS を使用するには、
プライベート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 DNS names are blocked. Add {your-s3-bucket}.s3.{region}.amazonaws.com for standard S3 or {your-s3-bucket}.s3-fips.{region}.amazonaws.com for S3 FIPS to your network policy's Allowed domains. See Manage network policies for serverless egress control.
Access to your S3 buckets must use the regional endpoint that matches the configured endpoint service. 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 内のリソースへのプライベート接続を構成します。
- パブリックインターネットをバイパスして、Serverless ワークスペースから VPC 内の AWS サービスへの安全で独立したアクセスを確立するには、PrivateLink を使用します。
-
- Serverless コンピュート ファイアウォール設定
- Databricks Serverless コンピュートプレーンからのトラフィックを許可するようにデータソースのファイアウォールを構成します。
-
- Databricks のネットワークコストについて理解する
- データ転送と接続性とは、Serverless 環境へのデータの出し入れを指します。Serverless 製品のネットワーク料金は、Serverless コンピュートを使用する顧客にのみ適用されます。