0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DatabricksのServerless環境からS3に直接PrivateLink接続できるようになりました

0
Posted at

はじめに

こんにちは、KCCS デジタルプラットフォーム部の林です。

以前Network Connectivity Configuration(以下NCC)の機能を利用することでServerless ComputeからPrivateLink経由で安全にS3へ接続することができるという記事を書きました。

当時はNetwork Loadbalancerを構築して接続先のVPCエンドポイントを作成する必要がありましたが、最近のこのNCCの機能がアップデートされ、直接S3のエンドポイントを指定できるようになりました。

注意
本機能は執筆時点でパブリックプレビュー機能となっております。
利用にはDatabricks社に申請を行い機能を有効にしていただく必要があります。
また、今後のアップデートにより画面構成や設定手順が変更となる可能性があります。

事前準備

以下のリソースは事前に作成されていること
・接続先のS3バケット
・S3バケットを外部ロケーションとして登録するための資格情報

構築手順

0.機能の有効化

アカウントのプレビュー画面より、「Outbound (serverless) AWS Private Link to AWS-managed resources」の項目をオンにする。

スクリーンショット 2026-04-24 13.14.54.png

1.NCCの構築

アカウント管理画面のセキュリティ→ネットワーク接続構成の画面にアクセスし、「ネットワーク接続構成を追加」を実行する。
ネットワーク接続構成の名前とリージョンを指定し、「追加」を押下する。

スクリーンショット 2026-04-28 10.46.22.png

作成されたネットワーク接続構成の画面に遷移し、プライベートエンドポイントルールのタブに切り替え「プライベートエンドポイントルールを追加」を実行する。
機能が有効になっている場合、AWSのリソースタイプの選択画面が表示されるため、「S3バケット」を選択する。
※嬉しいことにS3以外にも複数のAWSサービスが選択可能になっています!

スクリーンショット 2026-04-24 13.52.53.png

接続先のS3バケット名を入力し、「追加」を選択するとエンドポイントルールが作成される。

スクリーンショット 2026-04-24 14.01.28.png

2.バケットポリシーの設定

接続先のS3のバケットポリシーを設定する。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowVpcEndpointAccess",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::{bucket-name}",
        "arn:aws:s3:::{bucket-name}/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:sourceVpce": "{vpc-id}"
        }
      }
    }
  ]
}

{bucket-name}には接続先のバケット名を、{vpc-id}には先ほど作成したエンドポイントルールのVPCエンドポイントのIDを入力する。

3.NCCをワークスペースにアタッチする

アカウント画面のワークススペース画面より、NCCをアタッチするワークスペースの詳細画面を表示する。
ネットワーキングの項目の「ネットワーク接続構成」で、先ほど作成したNCCを選択し、保存する。

4.NCC設定の有効化

プライベートエンドポイントルールの画面でルールの右端にあるハンバーガーボタンより「ルールを更新」を実行し、「ルールを有効化」のボタンをONにする。
※NCCのルールを作成してワークスペースにアタッチしただけでは設定が有効にならないため注意

qiita-image.png

5.外部ロケーションの作成

Databricksのワークスペース画面に移動し、予め作成済みの資格情報を用いて外部ロケーションの設定を行う。

6.接続確認

作成した外部ロケーション上にデータを作成して接続元の情報を確認する。

CloudTrailのログよりイベント情報を確認する。

user_arn eventName vpcEndpointId
arn:aws:sts::xxxxxxxxxxxx:assumed-role/dbx-servertess-test-role/xxxxxxx PutObject vpce-xxxxxxxxx

vpcEndpointIdがNCCで設定したVPCエンドポイントのIDとなっており、NCC経由でアクセスされたことが確認できる。

まとめ

NCCのアップデートによりS3を始め様々なAWSリソースへ直接PrivateLink接続できるようになりました。
もちろん元々存在していたNetworkLoadbalancer経由でのアクセスも引き続き利用可能なので、サービス一覧に無いリソースへのアクセスも可能です。
閉域接続周りは悩まされることが多かったので、これは嬉しいアップデートでした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?