3
1

More than 1 year has passed since last update.

Databricksのサーバーレスコンピュート

Last updated at Posted at 2022-01-10

Serverless compute | Databricks on AWS [2022/8/26時点]の翻訳です。

本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。

プレビュー
本機能はパブリックプレビューです。

Databricksプラットフォームアーキテクチャのサーバーレスコンピュートバージョンを用いると、計算機レイヤーは、お客様のAWSクラウドアカウントではなくDatabricksのAWSクラウドアカウントに存在することになります。

現状のリリースにおいては、サーバーレスコンピュートはDatabricks SQLでの利用をサポートしています。管理者は、Databricksによって管理される即時利用可能な計算資源を利用するサーバーレスSQLウェアハウス(以前のSQLエンドポイント)を有効化することができます。サーバーレスSQLウェアハウスは、DatabricksのAWSアカウントの計算機クラスターを使用します。従来のお客様がホスティングするSQLウェアハウスと同様にDatabricks SQLのクエリーを処理することができ、従来のお客様がホスティングするSQLエンドポイントは、クラシックSQLウェアハウスと呼称されます。

Databricksでは、SQLエンドポイントからSQLウェアハウスへと名前を変更しました。これは、業界においてエンドポイントは接続するネットワークとコミュニケーションするリモートの計算デバイスやクラウドサービスへのエントリーポイントを意味するためです。データウェアハウスは、容易に洞察を導き出したり、レポートを行うためにビジネスフレンドリーな方法で複数のソースにある現在あるいは過去のデータを格納するデータ管理システムです。SQLウェアハウスは、この計算資源の全ての機能を正確に述べています。

サーバーレスSQLウェアハウスを作成する前に、ワークスペースでサーバーレスDatabricks SQLウェアハウスを有効化する必要があります。ワークスペースでサーバーレスSQLウェアハウスを有効化すると、以下のことを実施できるようになります。

Databricksでは、サーバレスSQウェアハウスは、AWSのリージョンeu-west-1ap-southeast-2us-east-1us-west-2でサポートされています。Supported Databricks regionsを参照ください。

他のDatabricksアーキテクチャに対するサーバレスコンピュートの比較

Databricksはコントロールプレーンデータプレーンで処理を行います。

  • コントロールプレーンには、DatabricksのAWSアカウントで管理されるバックエンドサービスが含まれます。Databricks SQLのクエリー、ノートブックのコマンド、その他ワークスペースの設定がコントロールプレーンに暗号化された状態で保持されます。
  • データプレーンでは、計算リソースのクラスターで処理されるデータが保持されます。

クラシックデータプレーン(従来のDatabricksプラットフォームアーキテクチャ)とサーバーレスデータプレーンの間には重要な違いが存在します。

  • クラシックデータプレーンにおいては、Databricksの計算リソースはお客様のクラウドアカウントで実行されます。クラスターはクエリー(Databricks SQL)やノートブック(Data Science & EngineeringあるいはDatabricks Machine Learning環境)を用いて分散データ分析を実行します。
    • 新規クラスターはお客様のクラウドアカウントのワークスペース用仮想ネットワークの中に作成されます。
    • クラシックデータプレーンはお客様のクラウドアカウントで処理を行うために、生来の分離性を有しています。クラシックデータプレーンは複数のお客様で共有されません。
  • サーバーレスデータプレーンにおいては、Databricksの計算リソースはDatabricksのクラウドアカウント内の特別な計算機レイヤーで実行されます。
    • 現時点のリリースにおいては、サーバーレスデータプレーンはサーバーレスSQLウェアハウスでのみ使用されます。この機能の有効化によって、DatabricksランタイムクラスターのData Science & EngineeringあるいはDatabricks Machine Learning環境における挙動は変わりません。
    • サーバーレスデータプレーンはDatabricksのクラウドアカウントにおいて、複数のお客様で共有されます。
    • サーバーレスデータプレーンのお客様データを保護するために、サーバーレスコンピュートはワークスペースごとのネットワーク境界内で実行され、異なるお客様のDatabricksワークスペースを分離するための様々なセキュリティレイヤーや、同じお客間における複数クラスター間における追加のネットワーク制御を適用します。

Databricksは、サーバーレスデータプレーンをお客様のクラシックデータプレーンと同じAWSリージョンに作成します。お使いのワークスペースのコントロールプレーンのインスタンスは通常同じAWSリージョンに存在しますが、同じリージョンであることが保証される訳ではありません。

以下の図では、サーバーレスデータプレーンとクラシックデータプレーンの重要な違いを示しています。

図で触れられているセキュアクラスター接続の詳細に関しては、Databricksにおけるセキュアクラスター接続を参照ください。

以下の表では、製品セキュリティにフォーカスして、サーバーレスコンピュートと他のDatabricksのバージョンとの違いをまとめています。これらはセキュリティ機能の完全かつ詳細な説明ではありません。サーバーレスコンピュートのセキュリティの詳細や、以下の表に対する質問がある場合には、Databricks担当にお問い合わせください。

項目 サーバーレスデータプレーン(AWSのみ) クラシックデータプレーン(AWSおよびAzure)
コントロールプレーンのリソースの場所 Databricksクラウドアカウント Databricksクラウドアカウント
データプレーンの計算リソースの場所 サーバーレスデータプレーン(Databricks AWSアカウントのVPC) クラシックデータプレーン(お客様のクラウドプロバイダーアカウントのVPC)
データプレーンの計算リソース Databricks管理のKubernetes (EKS)クラスター Databricks管理のスタンドアローンVM
データプレーンに対するお客様アクセス Databricksコントロールプレーン経由のアクセス AWS: お客様AWSアカウント内での直接アクセス。Databricksコントロールプレーン経由での追加の間接的アクセス。
Azure: VNetインジェクション(顧客管理VNet)の場合でもクラスターに対する読み取り専用の直接アクセス。Databricksコントロールプレーン経由での追加の間接的アクセス
Databricks SQLにおいて割り当てられていないVMの支払い Databricks 適用されません。クラシックSQLエンドポイントにおいては、割り当てられないVMという概念が存在しません。Databricks SQLにおいては、ノートブック、ジョブに対するウォームアップされたインスタンスプールに該当するものは存在しません。
エンドポイントの起動後、Databricks SQLのクエリーを実行する際のVMに対する支払い オートストップがSQLエンドポイントを停止するまでは、DBUに基づくお客様の支払い。 VMに関してはお客様がAWSに支払い。加えて、DBUに基づくDatabricksへの支払い。
データプレーンにおけるバーチャルプライベートネットワーク(VPC) DatabricksアカウントのVPCはお客様間で共有され、ワークスペース間、クラスター間に追加のネットワーク境界が存在します。 AWS: 占有。お客様アカウントのVPCとなります。
Azure: 占有。お客様アカウントのVNetとなります。
OSイメージ Databricksが修正を加えたクラウド管理のAmazon-linux2 Databricks管理のUbuntuあるいはCentOS
VPCのデフォルトの外向き通信を管理するテクノロジー Databricksが作成するAWSインターネットゲートウェイ デフォルトのインターネットゲートウェイあるいはクラウドから提供されるロードバランサー
VPC、ファイアウォールのカスタマイズ いいえ はい
CIDRレンジのカスタマイズ いいえ はい
パブリックIP はい セキュアクラスター接続
  • 無効化されている場合、VMごとに一つのパブリックIP
  • 有効化されている場合(デフォルト)、VMにパブリックIPは存在しません。
Databricksランタイムクラスターにおけるコンテナレベルのネットワーク分離 Kubernetesのネットワークポリシーを使用 Databricks管理のiptableルールを使用
DatabricksランタイムクラスターにおけるVMレベルのネットワーク分離 セキュリティグループによる分離 セキュリティグループおよびVPC(AWS)あるいはVNet(Azure)による分離
VM分離 クラスターにおけるVMはVM同士の通信は許可されますが、他のクラスターからの内部向け通信は許可されません。 クラスターにおけるVMはVM同士の通信は許可されますが、他のクラスターからの内部向け通信は許可されません。
コントロールプレーンとデータプレーンの通信 コントロールプレーンから開始された接続を用いて、パブリックIPを用いたDatabricks管理によるTLS暗号化されたコミュニケーション セキュアクラスター接続
  • 有効化された場合(AWS E2とAzureではデフォルト): 個々のVMはクラスター作成時にコントロールプレーンのSCCリレーに接続
  • 無効化された場合: コントロールプレーンはパブリックIPを用いて個々のVMに接続
初期デプロイメントにおけるクレディンシャル Databricks内部のIAMロール
  • AWS: お客様提供のIAMロール
  • Azure: 不要
通常のデータプレーンのオペレーションにおけるクレディンシャル Databricksがお客様提供のIAMロールのsts:AssumeRoleを呼び出し
  • AWS: お客様提供のインスタンスプロファイルを用いてVMを実行(sts:PassRole)
  • Azure: ファーストパーティアプリケーショントークン
DBFSルート、ワークスペースシステムデータに対するストレージの場所 ワークスペース作成時にお客様が自身のアカウントでS3バケットを作成
  • AWS: ワークスペース作成時にお客様がS3バケットを作成
  • Azure: ワークスペース作成時にDatabricksがお客様アカウントにblobストレージを作成

Databricks 無料トライアル

Databricks 無料トライアル

3
1
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
3
1