主要クラウドサービス(AWS、Azure、GCP)で動作するDatabricksですが、AWSでデプロイする際には自分でVPCの構成を決めたり、PrivateLink構成を選択することができます(他のCSPでも順次対応しています)。
その分、「どの構成にしたらいいのか?」と迷うこともしばしばです。これまでに少なくとも10以上のDatabricksワークスペースをデプロイしてきた経験を踏まえて、記事にまとめてみました。
AWSにおけるDatabricksデプロイメントの方法
方法としては以下の2つがあります。
- Databricksアカウントコンソール(GUI)
- Account API(REST API)
設定自体を自動化するツールには以下の2つがあります。サインアップした際のデフォルトのデプロイメント手段はAWS QuickStartになっています。
デプロイメント形態
デプロイメントの形態には大きく以下の2つがあります。
- 公衆ネットワークを用いたデプロイ
-
PrivateLinkを用いたデプロイ
- フロントエンドPrivateLink
- バックエンドPrivateLink
どのデプロイメント形態を採用すべきか?
どのデプロイメント形態にするのかを決定するフローチャートです。以下で述べている顧客管理VPCに関しては、Databricksにおける顧客管理VPCをご覧ください。
デプロイメント形態にはそれぞれPros & Consがあります。センシティブなデータを取り扱わないPOCの場合は公衆ネットワークを使用する構成、本番環境ではPrivateLink構成を検討することをお勧めします。
デプロイメント形態 | Pros | Cons |
---|---|---|
AWS Private Networkを用いたデプロイ | すぐにデプロイできます。POCならこちらがお勧めです。 | コントロールプレーン、データプレーン間の通信ではAWS Private Networkを経由することになります。ブラウザからDatabricksへの接続は公衆回線経由となります。 |
PrivateLinkを用いたデプロイ |
|
|
PrivateLink構成のワークスペースをデプロイするのに必要なオブジェクト
PrivateLink構成のワークスペースをデプロイするまでには様々なオブジェクトを作成します。
AWSマネジメントコンソールで作成
- クロスアカウントIAMロール
- S3バケット
- VPC
- サブネット
- セキュリティグループ(ネットワークACL)
- ルートテーブル
- VPCエンドポイント
Databricks Account Consoleで作成
- 認証情報設定オブジェクト(Credential configuration)
- ストレージ設定オブジェクト(Storage configuration)
- ネットワーク設定オブジェクト(Network configuration)
- VPCエンドポイントの登録
- プライベートアクセス設定オブジェクト(Private Access Setting configuration)
- ワークスペース
AWSのオブジェクトとDatabricksのオブジェクトには以下の関係性があります。
これらの設定手順に関しては、以下の手順書を参照ください。
- DatabricksにおけるAWS PrivateLinkの有効化
- DatabricksにおけるAWS PrivateLinkのバックエンド接続の設定(実践編)
- DatabricksにおけるAWS PrivateLinkのフロントエンド接続の設定(実践編)
参考資料
- Databricksフリートライアルへのサインアップ
- Databricksアカウントのセットアップとワークスペースの作成
- Databricksアカウントのセットアップとワークスペースの作成(実践編)
- アカウントコンソールを用いたDatabricks on AWSのアカウントのセットアップ、ワークスペースのデプロイ
- アカウントコンソールを用いたDatabricks on AWSのアカウントのセットアップ、ワークスペースのデプロイ(実践編)
- Databricksにおける顧客管理VPC
- Databricksにおける顧客管理VPC(実践編)
- DatabricksにおけるAWS PrivateLinkの有効化
- DatabricksにおけるAWS PrivateLinkのバックエンド接続の設定(実践編)
- DatabricksにおけるAWS PrivateLinkのフロントエンド接続の設定(実践編)
- Databricks PrivateLink構成における設定確認
- Databricksワークスペース(E2)作成時のトラブルシューティング
- DatabricksワークスペースへのAWS PrivateLinkとカスタムDNSの適用
- Databricks Terraformプロバイダー
- Terraformを用いたDatabricksワークスペース(E2)の配備
- Terraformを用いたエンドツーエンドのDatabricksワークスペース管理