次の方法で共有


Azure ランディング ゾーンの Azure Data Factory のベースライン アーキテクチャ

Azure Data Factory
Azure Key Vault
Azure Databricks
Azure SQL Database

この記事では、ソリューション重視のユースケース向けに メダリオン レイクハウス デザイン パターンを実装する方法について説明します。 このソリューションでは、 Azure 向けクラウド導入フレームワークのベスト プラクティスに準拠したランディング ゾーンを備えたハブ アンド スポーク ネットワーク トポロジを使用します。

重要

GitHub ロゴ。 このガイダンスは、Azure 上のベースライン Azure Data Factory セットアップを示す サンプル実装 によってサポートされています。 この実装は、実稼働に向けた最初のステップとして、さらなるソリューション開発の基盤として使用できます。

主要な設計上の決定

この設計は、自動化のサポートを受けて Azure クラウドへの移行を開始する中規模から大規模の組織 Contoso を対象としています。 Contoso は、 エンタープライズ ランディング ゾーンを備えた Azure クラウド基盤を確立しています。 経営陣は、 Azure Well-Architected Framework に従って、最初のデータ ワークロードをクラウドに移行する準備をしています。

この初期ユースケースには、次のシナリオが含まれます。

  • データはオンプレミスの財務運用システムから取得されます。
  • データは分析ユースケースのためにクラウドにコピーされます。
  • Contoso はエンタープライズ データ サイエンス機能を確立します。

主な要件

  • 財務部門およびその他の企業部門では、主に分析およびレポート システムとしてこのソリューションを使用しています。

  • オンプレミスのソース システムには次のプロパティがあります。

    • 1 テラバイト (TB) のサイズで、年間 5% の成長が見込まれます。

    • 毎晩実行され、年末の財務更新時を除いて通常は午前3時までに終了するバッチ更新プロセス。

  • ソリューションはソース システムへの影響を最小限に抑える必要があります。

  • 金融ユーザーは、任意の時点でデータの状態を表示できる必要があります。

  • 最初のユースケースは、セルフサービス機能を備えた分析および管理レポートを対象としています。 このソリューション設計は、エンタープライズ データ サイエンス機能を構築するための基盤としても機能します。

  • データは 企業機密として分類されるため、ソリューションには、アクセスまたは使用されるコンポーネントとデータの両方に対する効果的なセキュリティ制御と監視が必要です。 保存中のデータと転送中のデータの強力な暗号化により、すべてのデータを保護します。

  • Contoso のエンタープライズ データ モデルには、財務データ専用のサブセットが含まれています。 主要なデータ要素は、レポート用に提供される前に、クレンジング、モデル化され、さまざまなレポート階層に適合される必要があります。

  • 現在エンタープライズ モデルにマッピングされていない取り込まれたソース データは保持され、将来の分析やユース ケースで使用できるようにする必要があります。

  • ソリューションは、ソース フィードの可用性に基づいて毎日更新する必要があり、エンドツーエンドのソリューション更新に 90 分未満を目標とする柔軟なコンピューティング オプションを備えている必要があります。

  • ソリューションは、次のターゲット サービス レベル アグリーメント (SLA) をサポートする必要があります。

    • 目標稼働率は 99.5%、つまり 1 年間でダウンタイムは 1 日 20 時間程度です。

    • リカバリポイント目標は 3 日です。

    • 回復時間の目標は 1 日です。

  • ソリューションは、根本的な再設計を行わずに将来の成長と機能拡張に対応できるように、将来を見据えて設計する必要があります。

  • ソリューションは、次の想定される使用法をサポートする必要があります。

    • 財務部門に所属するマネージャー、財務管理者、アナリストは 200 名で、年間成長率は 5% 未満と推定されます。

    • 他の企業機能と連携しているアナリストは 100 名で、年間成長率は 5% 未満と推定されます。

    • Contoso の従業員のみがソリューションにアクセスできます。 この制御により、Contoso 社以外または外部の関係者による直接アクセスが明示的に除外されます。

  • ソリューションには以下が必要です。

    • エンドツーエンドの監視と監査証跡。

    • 信頼性、パフォーマンス、コストのメトリックに関するアラートが有効になっています。

  • ソリューションでは以下の点を優先する必要があります。

    • 新しいスキルを開発するのではなく、既存のスキルと能力を活用します。 この戦略により、複雑さ、リスク、コストが削減されます。

    • 最新のクラウド サービス層。 たとえば、管理の負担やリスクを軽減し、コストを管理するために、ソリューションでは可能な限りプラットフォーム アズ ア サービス (PaaS) ソリューションを使用する必要があります。

    • 市場で成熟しており、簡単に見つけられるコンポーネント。 Contoso は、ソフトウェア開発ライフサイクル (SDLC) 全体にわたってエンジニアのスキルを向上させることを計画しています。

  • ソリューションは、次の順序で非機能要件 (NFR) に合わせて最適化する必要があります。

    1. ソリューションを構築して実行するためのコスト。

    2. ソリューションのパフォーマンス。

    3. ソリューションの保守性。

主要な設計上の決定

Azure Databricks を使用した最新の分析アーキテクチャ がソリューション設計の基礎となります。 この設計は、Azure ランディング ゾーンのエンタープライズ アーキテクチャの自然な拡張です。 Microsoft Entra ID や Azure Monitor など、Azure ランディング ゾーンのエンタープライズ アーキテクチャの多くの基本コンポーネントを再利用します。 ソリューション固有の構成の更新のみが必要です。

  • この設計により、オートスケール要件を含む予想されるボリュームと処理の要件に簡単に対応できます。

  • Delta Lake は、 ポイントインタイム 要件と、強化されたデータのバージョン管理、スキーマの適用、およびタイムトラベルをサポートします。 Delta Lake は、原子性、一貫性、独立性、耐久性 (ACID) の保証も提供します。

  • 成熟した市場提供、高いレベルのスキルの可用性、強力なスキルアップとトレーニングが利用可能です。

  • Azure Databricks の生のまたは検証済みのレイク アクセスを使用して、エンタープライズ データ サイエンス機能に対する戦略的な要望をサポートします。

  • Azure Data Lake Storage と Azure Databricks は、効率的な中規模データのストレージと処理を提供します。

  • パフォーマンス、信頼性、サービスの回復力に関する要件をサポートします。

  • PaaS サービスを選択すると、制御が弱まる代わりに、運用上の負担の多くが Microsoft に委ねられます。

  • ソリューションの初期リリースのため、ライセンス オプションとして Power BI Pro ライセンス を使用することをお勧めします。 この選択には、運用コストと Power BI Premium パフォーマンスとの明確なトレードオフがあります。

  • このソリューションの主な変更点は次のとおりです。

    • 予想されるデータ量、導入される新しいコンポーネントの削減、既存のスキルの再利用のため、データ モデリング機能には Azure SQL が使用されます。

    • ソリューションはバッチベースであるため、機能の一致、コスト、シンプルさに応じて Data Factory が使用されます。

    • 設計は拡張可能で、ストリーミング取り込みをサポートします。

    • オンプレミスの取り込みには Data Factory セルフホスト型統合ランタイム (SHIR) が必要です。つまり、サービスの回復性には Azure Site Recovery が必要です。

    • Microsoft Purview Data Governance は、透明性、データ カタログ、ガバナンス機能を提供する基盤レイヤーの一部です。

アーキテクチャ

メダリオンのアーキテクチャとデータ フローを示す図。

データフロー

このソリューションでは、SHIR を備えた Data Factory を使用して、オンプレミスのソース システムから Data Lake Storage にデータを取り込みます。 また、Data Factory は Azure Databricks ノートブックを調整して、データを変換し、Data Lake Storage でホストされている Delta Lake テーブルに読み込みます。

Delta Lake は Power BI と連携しており、Delta Lake テーブル上に上級リーダーシップ ダッシュボードと分析を作成するために使用されます。 Azure Databricks は、データ サイエンスおよび機械学習のワークロード向けに、生のレイクのアクセスまたは検証済みのレイクのアクセスも提供します。

次のデータフローは、前の図に対応しています。

  1. データは、SHIR を備えた Data Factory を使用して、オンプレミスのソース システムから Data Lake Storage に取り込まれます。 Data Factory は、 SQL Server の抽出、変換、読み込みプロセスとともに、 Azure Databricks ノートブックのプロセス オーケストレーションも提供し、データを変換して Data Lake Storage に保存されている Delta Lake テーブルに読み込みます。

  2. Delta Lake は、データのバージョン管理をサポートし、スキーマを強制し、タイムトラベルを可能にし、ACID 準拠を保証するオープン フォーマット レイヤーを提供します。 データは次のレイヤーに編成されます。

    • ブロンズ レイヤーにはすべての生データが保持されます。

    • シルバー レイヤーには、クリーンアップされフィルタリングされたデータが含まれています。

    • ゴールド レイヤーには、ビジネス分析に役立つ集計データが保存されます。

データ レイク ストレージは、あらゆる種類のデータを効率的に保存できるため、Delta Lake の基盤となります。 この柔軟性により、さまざまな速度のワークフローがサポートされ、コスト効率が維持されます。

  1. SQL Server は、階層の適合性を含むエンタープライズ データ モデリング要件をサポートするために使用されます。

  2. Power BI は、エンタープライズ モデルから管理情報ダッシュボードを作成するために使用されます。 このサービスは、一貫性があり、標準化された、パフォーマンスの高いデータビューを提供します。 Power BI では、Azure Databricks を使用して Delta Lake から直接分析作業を行うこともできます。

  3. このソリューションは、コラボレーション、ガバナンス、信頼性、セキュリティを実現する 2 つのコンポーネントを基礎となる Azure サービスに追加します。

    • Microsoft Purview は、データ探索サービス、統合カタログ、およびプラットフォーム全体のガバナンス分析情報を提供します。

    • Site Recovery は、オンプレミスからデータを取り込むために必要なコンピューティングを Data Factory SHIR に提供する VM のバックアップとリカバリをサポートします。

このソリューションをサポートするには、次の基盤サービスに拡張が必要です。

  • Azure DevOps は、継続的インテグレーションと継続的デリバリー (CI/CD) およびその他の統合バージョン管理機能を提供します。

  • Azure Key Vault は、シークレット、キー、証明書を安全に管理します。

  • Microsoft Entra ID は、Azure Databricks および Power BI ユーザーを含むスタック全体でシングル サインオン (SSO) を提供します。

  • Azure Monitor は、Azure リソース テレメトリを収集して分析し、監査とアラートを提供します。 このサービスは、問題を積極的に特定することでパフォーマンスと信頼性を最大化します。

  • Microsoft Cost Management は、Azure ワークロード向けの財務ガバナンス サービスを提供します。

ネットワーク設計

メダリオン アーキテクチャのネットワーク設計を示す図。

このアーキテクチャの Visio ファイルをダウンロードします。

  • Azure ファイアウォールを使用すると、オンプレミスのインフラストラクチャと Azure 仮想ネットワーク間のネットワーク接続をセキュリティで保護できます。

  • SHIR は、オンプレミス環境または Azure の仮想マシン (VM) にデプロイできますが、後者がレコメンデーションとなります。 SHIR を使用すると、オンプレミスのデータ ソースに安全に接続し、Data Factory でデータ統合タスクを実行できます。

  • プライベート リンクとプライベート エンドポイントが実装されており、これを使用してサービスを仮想ネットワークに導入できます。

  • 機械学習支援データのラベル付けを活用するには、Azure Machine Learning ワークスペース用に作成した既定のストレージ アカウントとは異なる新しいストレージ アカウントを作成する必要があります。 新しい非デフォルトのストレージ アカウントを、ワークスペースと同じ仮想ネットワークにバインドできます。 ストレージ アカウントを別々に保持したい場合は、その仮想ネットワーク内の別のサブネットに配置できます。

考慮事項

以降の考慮事項には、ワークロードの品質向上に使用できる一連の基本原則である Azure "Well-Architected Framework" の要素が組み込まれています。 詳細については、Microsoft Azure Well-Architected Frameworkの に関するページを参照してください。

  • Azure Databricks Delta Lake を使用する場合、アーカイブ層は有効なオフライン ストレージであるため、アーカイブ層の Azure Storage アカウントは使用できません。 この設計の選択は、機能性とコストの間のトレードオフです。

  • 新しい Azure Databricks ワークスペースを作成すると、マネージド ストレージ アカウント (Azure Databricks ファイル システムまたは Databricks ファイル システム ルート) の既定の冗長性が geo 冗長ストレージ (GRS) として設定されます。 geo 冗長性が不要な場合は、冗長性をローカル冗長ストレージ (LRS) に変更できます。

  • 原則として、1 TB 未満のデータ ウェアハウスは、Synapse よりも Azure SQL Database の方がパフォーマンスが向上します。 データ ウェアハウスが 1 ~ 5 TB を超えると、Synapse のパフォーマンスが向上し始めます。 このパフォーマンスの違いが、Synapse ではなく Azure SQLを選択する主な要因です。

代替

Microsoft Fabric には、Data Factory、Azure Databricks、Power BI が 1 つのソリューションとして組み込まれています。 Fabric は比較的新しいサービスであるため、このシナリオで使用されるサービスと一致する機能が現在利用できない場合があります。 オペレーターにとっては学習曲線もあるかもしれません。

Azure Synapse Analytics は、ストレージ処理層の代替手段です。 Azure Databricks は成熟しており、機能的に適合しており、市場でスキルを利用できるため、このサービスはこの記事で説明されているシナリオには適していません。

ストレージ モデリング レイヤーの代替として、次のサービスがあります。

  • Azure Synapse Analytics: このサービスは、データ量と Azure Databricks との機能の重複のため、この記事で説明するシナリオには適していません。

  • Azure SQL Managed Instance: このサービスは、移行要件がなく、運用コストが高いため、この記事で説明するシナリオには適していません。

  • Azure Database for PostgreSQL: このサービスは、Contoso の既存のスキル セットと、新しいテクノロジの導入を最小限に抑えるための優先設定のため、この記事で説明されているシナリオに適していません。これにより、コストと複雑さが軽減されます。

[信頼性]

信頼性により、顧客に確約したことをアプリケーションで確実に満たせるようにします。 詳細については、「信頼性の設計レビュー チェックリスト」を参照してください。

ビジネス インテリジェンス分析およびレポート システムの信頼性目標に合わせるには:

  • ソリューション全体のデフォルトの Azure SLA は要件を満たしているため、高可用性やマルチリージョンのアップグレードは必要ありません。

  • このアーキテクチャでは、ソリューションのサービス重要度が低く、PaaS サービスが使用されているため、 Microsoft を待機 する災害復旧戦略が採用されています。

  • 次のネイティブ機能はデータのバックアップに対応します。

    • Azure Databricks Delta Lake テーブル履歴

    • SQL Server デフォルトのバックアップ

    • 取り込まれたすべてのソース データを追加専用形式で保存する Delta Lake ブロンズ レイヤー。 この機能により、ソース システムからの再取り込みを行わずにソリューションを完全に再生できます。

重要

回復力の目標を達成するには、可能な場合は、さまざまな可用性ゾーンまたはリージョンに複数の SHIR インスタンスをデプロイします。

セキュリティ

セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティの設計レビュー チェックリスト」を参照してください。

このアーキテクチャは、選択されたインフラストラクチャと実装された制御およびデータ プレーン制御の構成を通じてセキュリティに対処します。 これらの設計上の選択は、 ゼロ トラスト モデル最小権限アクセス の原則に基づいています。 ネイティブ コンポーネントは次のセキュリティ コントロールを使用します。

  • ソリューション コンポーネントは、認証と承認に マネージド ID を使用し、一貫したロールベースのアクセス制御を可能にします。

  • Key Vault はアプリケーションのシークレットと証明書を安全に保存します。

  • コンポーネント固有の 組み込みロール により、コントロール プレーン レベルでの認証のきめ細かな制御が可能になります。

    • 範囲の都合上、これらの特定のロールは 一般的なロールよりも優先されます。

    • カスタム ロール は、継続的なライフサイクル管理要件のため明示的に除外されます。

  • ドメイン固有の Microsoft Entra グループのセットは、ソリューション全体のデータへのアクセスを制御し、Contoso のデータ分類フレームワークを反映します。 個々のソリューション コンポーネントは、これらのグループを使用してデータ レベルの制御を適用します。 たとえば、SQL Server 動的データ マスキング と Power BI 行レベルのセキュリティ はどちらもこの設計をサポートしています。

    • この設計により、コンポーネントへのアクセスを許可しながら、コンポーネント内のデータの表示を禁止することが可能になります。 データにアクセスするには、ユーザーはコンポーネントへのアクセス権も持っている必要があります。

    • このソリューションは、再利用を可能にするために、ドメイン レベルで財務などのグループを作成します。 データ分類フレームワークは、ソリューション固有のグループの拡散を制限します。

コストの最適化

コストの最適化は、不要な費用を削減し、運用効率を向上させる方法を検討することです。 詳細については、「コスト最適化の設計レビュー チェックリスト」を参照してください。

コストの最適化に対応するために、このアーキテクチャは次のようになります。

オペレーショナル エクセレンス

オペレーショナル エクセレンスは、アプリケーションをデプロイし、運用環境で実行し続ける運用プロセスを対象としています。 詳細については、「オペレーショナル エクセレンスのデザイン レビュー チェック一覧」を参照してください。

SDLC 全体にわたる自動化、監視、監査を通じて、運用の卓越性が実現されます。 このソリューションには以下が含まれます。

  • コア監視コンポーネントとしてAzure MonitorLog Analytics ワークスペース を使用します。

  • ソリューション コンポーネント全体の透明性を実現する タグ付け戦略

  • 開発のための以下のコンポーネント:

    • すべての運用展開では、 Azure ReposGitHubなどのソース管理リポジトリ内に保存されるコードとしての構成を介して Azure DevOps が使用されます。 この構成により、デプロイメントの完全な監査証跡が提供され、最新のデプロイメント方法、ロールバック、およびリカバリが可能になります。

    • PSRule などのテスト フレームワークにより、デプロイメントが Well-Architected Framework ガイダンスに準拠していることが保証されます。

    • >Azure Policy は組織の標準を適用し、コンプライアンスを大規模に評価します。 Azure Governance Visualizer は、技術的な実装に関する構成可能で詳細な分析情報を提供します。

監視

監視は、どの運用レベル ソリューションでも重要な部分です。 エンドツーエンドの 可観測性 戦略の一部として、 監視戦略 を使用して Azure ソリューションをサポートします。

Azure Databricks では、カスタム アプリケーション メトリック、ストリーミング クエリ イベント、アプリケーション ログ メッセージを監視するための堅牢な機能が提供されます。 Azure Databricks は、この監視データをさまざまなログ サービスに送信できます。 Azure Monitor を使用して、Data Factory パイプラインを監視し、診断ログを書き込むことができます。 Azure Monitor では、ほとんどの Azure サービスに対して、基礎レベルのインフラストラクチャのメトリックとログを提供します。 詳細については、「Azure Databricks の監視」を参照してください。

推奨されるアラート ベースラインには以下が含まれます。

  • Azure Databricks コンピューティング クラスター、Data Factory SHIR、および SQL Server のコストと予算のアラート。

  • ソリューション全体で長時間実行されるプロセス。

  • SQL Server 接続拒否。

  • Power BI の使用状況と、該当する場合は Power BI Premium の容量調整。

  • データ収集が多い場合の Log Analytics ワークスペース。

重要

地域的なサービス問題が発生した場合に継続性を確保するために、アラート アクション グループ をグローバル リソースとして作成します。

パフォーマンス効率

パフォーマンス効率は、ユーザーの要求を効率的に満たすワークロードの機能です。 詳細については、「パフォーマンス効率の設計レビュー チェックリスト」を参照してください。

パフォーマンス効率に対処するために、このアーキテクチャには次の機能があります。

次のような 最適化ガイド に記載されているガイダンスをソリューション全体に適用します。

データ ソリューションのパフォーマンスは通常、時間の経過とともに低下することを理解します。 継続的なパフォーマンス最適化 の能力を確立し、ソリューションが 目的に適合していることを確認するために積極的な技術レビューを実施します。

アンチパターン

  • オンプレミスの考え方: クラウド サービスは、調達時間、機能、容量などの従来の制約に対処します。 これらのサービスにより、SDLC 全体にわたるコスト管理の必要性も高まります。 人、プロセス、テクノロジー全体でこの要素を無視すると、予期しないコストや関係者間の摩擦が生じることがよくあります。

  • 境界制御が答えです: クラウド サービス、特に PaaS には、実装して適切に管理する必要がある主要な制御として ID があります。 ネットワークと境界制御は重要ですが、それらはソリューションの一部にすぎず、完全な答えではありません。

  • 設定して忘れる: クラウド ソリューションでは、現在の使用状況とパフォーマンスを評価するために定期的なレビューが必要です。 これらのレビューでは、Azure の機能および価格の変更を考慮する必要があります。 こうしたレビューがなければ、ソリューションの価値と有効性は時間の経過とともに低下する可能性があります。

このシナリオのデプロイ

このアーキテクチャをデプロイするには、 GitHub サンプルの手順に従ってください。

Azure VM に SHIR をデプロイするには、 クイックスタート テンプレートを使用します。

次のステップ