Anomaly Detector プロセス

Azure Databricks
Azure Service Bus
Azure Storage アカウントについて

この記事では、異常検出プロセスを準リアルタイムで実装するためのアーキテクチャについて説明します。

アーキテクチャ

異常検出プロセス アーキテクチャの図。

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

データフロー

  1. 時系列データは、Azure Database for MySQL、Blob ストレージ、Event Hubs、Azure Cosmos DB、SQL Database、Azure Database for PostgreSQL など、複数のソースから取得される可能性があります。
  2. さまざまなストレージ ソースからコンピューティングにデータが取り込まれ、異常検出機能によって監視されます。
  3. Databricks により、検出された結果によって時間データを生成するために、生データを集計、サンプリング、および計算できます。 Databricks では、ストリームと静的データを処理できます。 要件に応じて、Stream Analytics と Azure Synapse を代替として使用できます。
  4. 異常検出 API によって異常が検出され、計算結果が返されます。
  5. 異常に関連するメタデータがキューに登録されます。
  6. Application Insights により、異常に関連するメタデータに基づいてメッセージ キューからメッセージが取得され、異常に関するアラートが送信されます。
  7. 結果は Azure Data Lake Service Gen2 に格納されます。
  8. Web アプリケーションと Power BI では、異常検出の結果を視覚化できます。

コンポーネント

このアーキテクチャの実装に使用される主要テクノロジ:

  • Service Bus: 信頼性の高いクラウド MaaS (サービスとしてのメッセージング) とシンプルなハイブリッド統合。
  • Azure Databricks: 高速で使いやすい、コラボレーション対応の Apache Spark ベースの分析サービス。
  • Power BI: 対話型のデータ視覚化 BI ツール。
  • ストレージ アカウント: 耐久性があり、高度にスケーラブルな高可用性クラウド ストレージ。
  • Cognitive Services: クラウドベースのサービス。REST API とクライアント ライブラリ SDK が用意されており、コグニティブかつインテリジェントなアプリケーションを構築するのに役立ちます。
  • Logic Apps: アプリケーション、データ、サービスを統合するエンタープライズ ワークフローを構築するためのサーバーレス プラットフォーム。 このアーキテクチャでは、HTTP 要求によってロジック アプリがトリガーされます。
  • Azure Data Lake Storage Gen2: Azure Data Lake Storage Gen2 では、ファイル システム セマンティクス、ファイルレベルのセキュリティ、スケーリングが提供されます。
  • Application Insights: Application Insights は、拡張可能なアプリケーション パフォーマンス管理 (APM) とライブ Web アプリの監視ができる、Azure Monitor の機能です。

代替

  • Kafka を使用した Event Hubs: 独自の Kafka クラスターを実行するための代替手段。 この Event Hubs 機能により、Kafka API と互換性のあるエンドポイントが提供されます。
  • Azure Synapse Analytics: エンタープライズ データ ウェアハウスとビッグ データ分析をまとめた分析サービス。
  • Azure Machine Learning: クラウドベースの環境でカスタムの機械学習および異常検出モデルを構築、トレーニング、デプロイ、管理できます。

シナリオの詳細

Azure Cognitive Services Anomaly Detector API では、時系列データを監視し、その中の異常を検出できます。機械学習の知識は必要ありません。 API のアルゴリズムでは、産業、シナリオ、データ量に関係なく、時系列データに最適なモデルが自動的に特定され、適用されます。 これにより、異常検出、予期される値、異常なデータ ポイントの境界が決まります。

考えられるユース ケース

異常検出が監視に役立つ領域は以下の通りです。

  • 銀行詐欺 (金融業)
  • 構造欠陥 (製造業)
  • 医療問題 (医療業界)

考慮事項

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

スケーラビリティ

このシナリオの例で使用されるコンポーネントの多くが、自動スケーリングされるマネージド サービスです。

スケーラブルなソリューションの設計に関する一般的なガイダンスについては、Azure アーキテクチャ センターの「パフォーマンス効率のチェックリスト」を参照してください。

セキュリティ

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

Azure リソース用のマネージド ID は、自分のアカウントの内部にある他のリソースへのアクセスを提供するために使用された後、Azure Functions に割り当てられます。 これらの ID が必要なリソースにのみアクセスすることを許可して、余分なものがお使いの関数 (およびご自身の顧客) に公開されないようにします。

セキュリティで保護されたソリューションの設計に関する一般的なガイダンスについては、「Azure のセキュリティのドキュメント」を参照してください。

回復性

このシナリオのすべてのコンポーネントが管理されているため、すべてについて、リージョン レベルの回復性が自動的に確保されます。

回復性に優れたソリューションの設計に関する一般的なガイダンスについては、回復性に優れた Azure 用アプリケーションの設計に関するページを参照してください。

コスト最適化

コストの最適化とは、不要な費用を削減し、運用効率を向上させる方法を検討することです。 詳しくは、コスト最適化の柱の概要に関する記事をご覧ください。

このシナリオの実行にかかるコストを調査するには、すべてのサービスが事前に入力されている計算ツールをご覧ください。 特定のユース ケースについて価格の変化を確認するには、予想されるトラフィックとデータ量に合わせて該当する変数を変更します。

トラフィックの量に基づいて、次の 3 つのサンプル コスト プロファイルが用意されています (すべてのイメージのサイズが 100 KB であると想定しています)。

  • 計算ツールの例: この価格の例は、このアーキテクチャのすべてのサービス (Power BI とカスタム アラート ソリューションを除く) を備えた計算ツールです。

共同作成者

この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。

プリンシパル作成者:

  • Ashish Chauhan | シニア クラウド ソリューション アーキテクト

パブリックでない LinkedIn プロファイルを表示するには、LinkedIn にサインインします。

次のステップ