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

AWS マネージド リソースへのプライベート接続を設定する

備考

プレビュー

この機能は パブリック プレビュー段階です。このプレビューに参加するには、Databricks アカウント チームにお問い合わせください。

注記

Databricks 、サーバレス ワークロードが顧客リソースに接続するとき、およびパフォーマンス重視のサービスがデータをリージョンを越えてクライアントに送信するときに、ネットワーク コストを請求します。 Databricksのネットワークコストについて理解するを参照してください。

このページでは、 Databricksアカウント コンソール UI を使用して、サーバレス コンピュートから AWS 管理のリソースへのプライベート接続を構成する方法について説明します。

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.{region}.amazonaws.com

ベッドロックエージェント

bedrock-agent.{region}.amazonaws.com

BedrockエージェントRuntime

bedrock-agent-runtime.{region}.amazonaws.com

Bedrock Runtime

bedrock-runtime.{region}.amazonaws.com

DynamoDB

dynamodb.{region}.amazonaws.com

EMR

elasticmapreduce.{region}.amazonaws.com

Glue

glue.{region}.amazonaws.com

キー管理サービス(KMS)

kms.{region}.amazonaws.com

Lambda

lambda.{region}.amazonaws.com

RDS

rds.{region}.amazonaws.com

RDSデータAPI

rds-data.{region}.amazonaws.com

RDS パフォーマンスに関する知識

pi.{region}.amazonaws.com

Redshift

redshift.{region}.amazonaws.com

Redshift Data API

redshift-data.{region}.amazonaws.com

Redshiftレス

redshift-serverless.{region}.amazonaws.com

S3(同一地域または地域間)

s3.{region}.amazonaws.com

シークレットマネージャー

secretsmanager.{region}.amazonaws.com

セキュリティトークンサービス(STS)

sts.{region}.amazonaws.com

簡易通知サービス(SNS)

sns.{region}.amazonaws.com

シンプルキューサービス(SQS)

sqs.{region}.amazonaws.com

リソース

エンドポイントDNS

Bedrock

bedrock.{region}.amazonaws.com

ベッドロックエージェント

bedrock-agent.{region}.amazonaws.com

BedrockエージェントRuntime

bedrock-agent-runtime.{region}.amazonaws.com

Bedrock Runtime

bedrock-runtime.{region}.amazonaws.com

DynamoDB

dynamodb.{region}.amazonaws.com

EMR

elasticmapreduce.{region}.amazonaws.com

Glue

glue.{region}.amazonaws.com

キー管理サービス(KMS)

kms.{region}.amazonaws.com

Lambda

lambda.{region}.amazonaws.com

RDS

rds.{region}.amazonaws.com

RDSデータAPI

rds-data.{region}.amazonaws.com

RDS パフォーマンスに関する知識

pi.{region}.amazonaws.com

Redshift

redshift.{region}.amazonaws.com

Redshift Data API

redshift-data.{region}.amazonaws.com

Redshiftレス

redshift-serverless.{region}.amazonaws.com

S3(同一地域または地域間)

s3.{region}.amazonaws.com

シークレットマネージャー

secretsmanager.{region}.amazonaws.com

セキュリティトークンサービス(STS)

sts.{region}.amazonaws.com

簡易通知サービス(SNS)

sns.{region}.amazonaws.com

シンプルキューサービス(SQS)

sqs.{region}.amazonaws.com

注記
  • 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 がある場合は、この手順をスキップできます。

  1. アカウント コンソールで、 [セキュリティ] をクリックします。
  2. [ネットワーク接続構成] タブを選択します。
  3. ネットワーク構成の追加を 選択します。
  4. NCCの名前を入力してください。
  5. 地域を選択してください。これは、あなたのワークスペースのリージョンと一致している必要があります。
  6. [ 追加 ] をクリックします。

AWS Interface Endpoint を作成する

重要

Do not enable your private endpoint until you have updated the resource policy.

  1. NCCの 「プライベートエンドポイントルール」 セクションに移動してください。
  2. プライベート エンドポイント ルールの追加 を選択します。
  3. [リソース タイプ] で、接続するAWSリソース (たとえば、 S3バケットBedrock 、または RDS ) を選択します。 対応リソースの全リストについては、「サポートされているリソース」を参照してください。
  4. ルール設定を構成します。
    • エンドポイントサービス: このフィールドは、プライベートエンドポイントの宛先リソースへの接続を確立するために自動的に入力されます。
    • S3バケット名 (S3のみ):宛先リソースのバケット名を入力してください。その他のリソースタイプについては、バケット名またはリソース名のフィールドは表示されません。プライベートエンドポイントは、選択したリソースタイプへのすべてのトラフィックに適用されます。
    • リージョン (S3のみ):必要に応じて、宛先S3バケットのリージョンを指定します。地域を指定しない場合は、NCCの地域が使用されます。これにより、リージョンをまたいだS3プライベート接続が可能になります。

プライベートEndpointへのアクセスを制限する

プライベートEndpointを有効にする前に、前のステップで返されたVPC Endpointからのトラフィックと、承認した他のソースからのトラフィックのみがそれに到達できるように、AWSリソースへのアクセスを制限します。この制限を適用する場所は、リソースがリソースベースのポリシーをサポートしているかどうかによって異なります。

How to restrict access

Resources

Add a Deny statement to the resource's own policy. See the Resource-based policy tab.

DynamoDB, Glue, KMS, Lambda, Secrets Manager, SNS, SQS

Add a Deny statement to a bucket policy, and also allow the Databricks control plane. See the S3 bucket tab.

S3

Add a Deny statement as an inline policy on the IAM role that the resource's service credential uses. See the IAM role policy tab.

Bedrock, Bedrock Agent, Bedrock Agent Runtime, Bedrock Runtime, EMR, RDS, RDS Data API, RDS Performance Insights, Redshift, Redshift Data API, Redshift Serverless, STS

How to restrict access

Resources

Add a Deny statement to the resource's own policy. See the Resource-based policy tab.

DynamoDB, Glue, KMS, Lambda, Secrets Manager, SNS, SQS

Add a Deny statement to a bucket policy, and also allow the Databricks control plane. See the S3 bucket tab.

S3

Add a Deny statement as an inline policy on the IAM role that the resource's service credential uses. See the IAM role policy tab.

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.

これらのリソースを使用すると、ポリシーをリソースに直接アタッチできます。前のステップで返されたVPC Endpointをソースとしない要求を拒否するDenyステートメントを追加します。次の例では、要求がそのEndpointを介して行われた場合を除き、DynamoDBテーブルへのすべてのアクセスを拒否します。

JSON
{
"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ドキュメントを参照してください。

注記

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ルールを有効にする

  1. ケバブメニューボタンをクリックしてください。
  2. ルールを更新 をクリックします。
  3. ルールを有効にする を選択します。
重要

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 をワークスペースにアタッチするには:

  1. 左側のナビゲーションから 「ワークスペース」 を選択してください。
  2. 既存のワークスペースを選択します。
  3. [ワークスペースの更新] を選択します。
  4. 「ネットワーク接続構成」 で、ドロップダウンメニューを選択し、作成したNCCを選択します。
  5. この NCC を適用するすべてのワークスペースに対してこの手順を繰り返します。

接続の検証

接続性を確認する方法は、リソースの種類によって異なります。S3以外のリソースの場合は、適切なAWS SDK (Bedrock モデルの呼び出しやLambda関数の呼び出しなど) を介してリソースを呼び出してノートブックからのトラフィックをシミュレートし、リソースのアクセス ログをチェックしてリクエストがVPCエンドポイント経由で到着することを確認します。

次の例では、S3 バケットを外部ロケーションとして登録し、クエリを実行することで、 S3バケットへの接続をテストします。

  1. バケットを外部ロケーションとして登録する 外部ロケーションを参照してください。

  2. SQLエディタを開きます。

  3. ラン:

    SQL
    CREATE 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>

次のステップ