次の方法で共有


Azure Databricks 構成の概要

Azure Databricks は、データ エンジニアリングとデータ サイエンスの最高の機能を組み合わせたクラウドベースのプラットフォームです。 Apache Spark を使用することで、ビッグデータ処理のための高速でスケーラブルなオープンソースのフレームワークを使用して、データ パイプラインを構築、管理、分析できます。 Azure Databricks は、データ サイエンティストとエンジニアが機械学習と人工知能プロジェクトで共同作業を行うためのコラボレーション ワークスペースも提供しています。

政府機関や公共部門で働いている場合、このリファレンス アーキテクチャのドキュメントは、主権ベースライン ポリシー イニシアチブが適用された Sovereign Landing Zone または Azure Landing Zone 展開で Azure Databricks を使用するための、意見に基づくガイダンスを提供します。

Azure Databricks 製品ドキュメントでは、さまざまな記事で詳細な情報をご覧いただけます。 このドキュメントは、Azure Databricks 環境を構成するための重要な概念とオプションに関する厳選された推奨事項を提供することで、ドキュメントを補完するものです。

Azure Databricks の主な機能

Azure Databricks には豊富な機能がありますが、このリファレンスアーキテクチャでは、そのインフラストラクチャ要素に焦点を当てます。 Azure Databricks の機能:

  • 対話型ノートブック: ノートブックを使用して Python、Scala、SQL、または R でコードを記述し、結果をチャートやグラフで視覚化します。 チーム メンバーとノートブックを共有してコメントし、GitHub や Azure DevOpsなどの一般的なツールと統合します。

  • コンピューティング オプション: Azure Databricks は、データエンジニアリング、データサイエンス、データ分析のワークロードをサポートするさまざまなコンピューティングオプションを提供しています。 これらのオプションには、ノートブックとジョブ用のオンデマンドでスケーラブルなサーバーレス コンピューティング、汎用分析および自動ジョブ用のプロビジョニング済みコンピューティング、SQL コマンドを実行するための SQL ウェアハウスなどが含まれます。 インスタンス プールは、アイドル状態で即座に使用可能なインスタンスを提供し、起動時間とオートスケーリング時間を短縮し、さまざまなデータ処理シナリオにおける効率を向上させます。

  • データ統合: Azure Blob、ストレージ、Azure Data Lake Storage、Azure SQL Database、 Azure Synapse Analytics、Azure Cosmos DB など、さまざまなデータ ソースと宛先に簡単に接続できます。 ACID のトランザクションとスキーマ強制をサポートする、信頼性が高く高性能なデータレイク ソリューションである Delta Lake を使用します。

  • コンピューター 学習: TensorFlow、PyTorch、Scikit-learn、XGBoost などの一般的なフレームワークを使用して、機械学習モデルを構築、トレーニング、展開します。 機械学習のライフサイクルを管理するオープンソースプラットフォームである MLflow を使用して、実験の追跡、メトリクスの記録、モデルの展開を行います。

  • エンタープライズ セキュリティ: ロールベースのアクセス制御、暗号化、監査、コンプライアンスなどの機能により、データに安全にアクセスして処理します。 Azure Databricks を Microsoft Entra ID、Azure Key Vault、Azure Private Link と統合して、ID とデータの保護を実現します。

  • データ ガバナンスと共有: Unity Catalog は、外部共有用の管理型 Delta Sharing とデータレイクハウス用の統合データ ガバナンスモデルを提供することで、組織内でのデータ共有とクラウドでの安全な分析を簡素化します。

高レベルの Databricks アーキテクチャ

Azure Databricks は コントロールプレーンコンピューティング プレーンで動作します。 参照アーキテクチャでは、これらの各制御プレーンにおける構成オプションを推奨しています。 次の図は、Azure Databricks アーキテクチャ全体を示しています。

Databricks のハイレベルアーキテクチャのスクリーンショット。

コントロール プレーン

コントロール プレーンは、クラスタとジョブのライフサイクル、ユーザーとデータ アクセス認証と承認を管理する Azure Databricks のレイヤーです。 コントロール プレーンには、Azure Databricks アカウントで Azure Databricks が管理するバックエンド サービスが含まれます。 Web アプリケーションはコントロール プレーンにあります。

コントロール プレーンは、Azure Databricks が所有する Azure サブスクリプションで実行され、セキュアな API を通じてクラシックとサーバーレスのコンピューティング プレーンと通信します。 コントロール プレーンは、ユーザーが Azure Databricks と対話するための Web インターフェイスと REST API も提供します。

コンピューティング プレーン

コンピューティング プレーンは、データが処理される場所です。 コンピューティング プレーンには、サーバーレスとクラシックの 2 種類があります。 サーバーレス コンピューティング プレーンは、即座に弾力性のあるリソースを提供しますが、従来のコンピューティング プレーンは、事前にプロビジョニングされたインフラストラクチャに依存しています。

サーバーレス コンピューティング プレーン

サーバーレス コンピューティングは、アドホックなクエリ、ノートブック、短期間のワークロードに最適です。 たとえば、サーバーレス コンピューティングを使用して、ノートブックで SQL コマンドを実行したり、軽量なジョブを実行したりすることができます。 サーバーレス コンピューティング プレーンでは、リソースは Azure Databricks アカウント内のコンピューティング レイヤーで実行されます。

Azure Databricks は、ワークスペースのクラシック コンピューティング プレーンと同じ Azure リージョンにサーバーレスのコンピューティング プレーンを作成します。 Databricks のアカウントにあるサーバーのプールを運用しており、Kubernetes コンテナを実行して、数秒でユーザーに割り当てることができます。 詳細については、Databricks Serverless SQL の発表: SQL ワークロード向けのインスタント、マネージド、セキュア、運用対応プラットフォーム - Databricks ブログを参照してください。

コンピューティング プラットフォームは、ユーザーが同時にレポートやクエリを実行して同時負荷を処理する場合、より多くのサーバーでクラスタを迅速に拡張します。 Databricks は、サーバーの構成全体を管理し、必要に応じて修正プログラムの適用とアップグレードを自動的に実行します。 サーバーレス コンピューティングは、使用量に応じて課金されます (例: クエリの実行やジョブの実行ごとの課金)。

この図は、サーバーレス コンピューティング プレーンを示しています。

各サーバーは安全な構成で実行され、すべての処理は 3 層の分離 (ランタイムをホストする Kubernetes コンテナ、コンテナをホストする VM、ワークスペース用の仮想ネットワーク) によって保護されています。 各レイヤーは、 1 つのワークスペースに分離され、共有やネットワーク間のトラフィックが許可されません。

コンテナは強化された構成を使用し、VM はシャットダウンされ再利用されません。また、ネットワークトラフィックは同じクラスタ内のノードに制限されます。 すべてのコンピューティングは一時的なもので、そのワークロード専用であり、ワークロードが完了すると安全に消去されます。

ユーザー、コントロール プレーン、コンピューティング プレーン、クラウドサービス間のすべてのトラフィックは、パブリック インターネットではなく、Azure のグローバルネットワークを経由してルーティングされます。 サーバーレス SQL ウェアハウス用のサーバーレス コンピューティング プレーンは、顧客が構成可能なバックエンド Azure Private Link 接続を使用しません。 Azure Databricks コントロール プレーンは、コントロール プレーン IP アドレスのみに IP アクセスを許可する mTLS を使用して、サーバーレス コンピューティング プレーンに接続します。

接続されたすべてのストレージは、業界標準の AES-256 暗号化によって保護されており、ユーザー、コントロールプレーン、コンピューティング プレーン、クラウドサービス間のすべてのトラフィックは、少なくとも TLS 1.2 で暗号化されています。 サーバーレス SQL ウェアハウスでは、マネージド ディスクに顧客が管理するキーは使用されません。

ワークロードは、そのワークロードの範囲外のシステムに対する特権や認証情報を持っていません。データへのアクセスは、有効期間の短い (1 時間) のトークンを介して行われます。 これらのトークンは、特定の各ワークロードに安全に渡されます。

2024 年 6 月現在、Azure 機密コンピューティングはサーバーレス コンピューティングではサポートされていませんが、Azure サーバーレス コンピューティングの分離の図に示されているように、ワークロードは複数の分離レイヤーによって保護されています。

詳細については、サーバーレス コンピューティングにワークロードを安全に展開するを参照してください。

クラシック コンピューティング プレーン

従来型のクラシック コンピューティングプレーンは、長時間実行されるジョブ、生産ワークロード、一貫したリソース ニーズに適しています。 たとえば、ETL パイプライン、機械学習のトレーニング、データエンジニアリング タスクにプロビジョニングされたコンピューティングを使用できます。

クラシック コンピューティング プレーンは、ユーザー独自の Azure サブスクリプションで実行されるため、自然に分離されています。 新しいコンピューティング リソースは、Azure サブスクリプション内の各ワークスペースの仮想ネットワーク内に作成および構成されます。 コンピューティング リソースは、明示的に変更されるまで一定に保たれ、インスタンスタイプと使用時間に基づいて課金されます。 クラスタでは、マネージド ディスクに顧客管理キーを使用でき、スポット インスタンスもサポートされています。

Azure Databricks 管理者は、クラスター ポリシーを使用して、利用可能なインスタンス タイプ、Databricks バージョン、インスタンスのサイズなど、クラスターのさまざまな側面を制御できます。

Databricks 仮想ネットワークのインジェクションは、Azure Databricks クラシック コンピューティング プレーン リソースを独自の仮想ネットワークに展開できる機能です。 この機能を使用すると、サービス エンドポイントまたはプライベート エンドポイントを使用して、Azure Databricks を他の Azure サービスにより安全に接続することができます。 Azure Databricks ワークスペースが実行されている仮想ネットワークを、別の Azure 仮想ネットワークとピアリングするには、仮想ネットワークとのピアリングを使用することもできます。