リアルタイムでの不正検出

Azure Blob Storage
Azure Event Hubs
Azure Stream Analytics

このサンプル シナリオは、不正なトランザクションやその他の異常なアクティビティを検出するために、リアルタイムでデータを分析する必要がある組織に関連します。 また、「モバイル バンクでの不正行為を検出する」も参照してください。

アーキテクチャ

Architecture overview of the Azure components of a real-time fraud detection scenario

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

データフロー

このシナリオでは、リアルタイム分析パイプラインのバックエンド コンポーネントに対応できます。 シナリオのデータ フローは次のとおりです。

  1. 携帯電話呼び出しメタデータが、ソース システムから Azure Event Hubs インスタンスに送信されます。
  2. Stream Analytics ジョブが開始されます。 イベント ハブ ソースを介してデータを受信します。
  3. Stream Analytics ジョブによって定義済みクエリが実行されます。これにより、入力ストリームが変換され、不正なトランザクションのアルゴリズムに基づいて分析されます。 このクエリでは、タンブリング ウィンドウを使って、ストリームが個別のテンポラル ユニットにセグメント化されます。
  4. Stream Analytics ジョブにより、検出された不正な呼び出しを表す変換済みストリームが、Azure Blob Storage の出力シンクに書き込まれます。

Components

  • Azure Event Hubs はリアルタイム ストリーミング プラットフォームであり、毎秒数百万のイベントを受け取って処理できるイベント インジェスト サービスです。 Event Hubs では、分散されたソフトウェアやデバイスから生成されるイベント、データ、またはテレメトリを処理および格納できます。 このシナリオでは、Event Hubs が、すべての電話呼び出しメタデータを受け取り、不正行為に関する分析を実行します。
  • Azure Stream Analytics は、デバイスおよび他のデータ ソースからストリーミングされる大量のデータを分析できるイベント処理エンジンです。 また、データ ストリームから情報を抽出し、パターンやリレーションシップを特定することもできます。 これらのパターンでは、その他のダウンストリーム アクションをトリガーできます。 このシナリオでは、Stream Analytics によって、Event Hubs からの入力ストリームが変換され、不正な呼び出しが特定されます。
  • このシナリオでは、BLOB ストレージを使って、Stream Analytics ジョブの結果が格納されます。

代替

リアルタイム メッセージ インジェスト、データ ストレージ、ストリーム処理、分析データのストレージ、および分析とレポート作成では、使用できるテクノロジが多数あります。

Azure のさまざまな機械学習サービスによって、より複雑な不正検出のアルゴリズムを生成できます。 これらのオプションの概要については、機械学習のテクノロジの選択に関するページをご覧ください。

Machine Learning Server を使用して構築されたシナリオについては、Machine Learning Server を使用した不正検出に関するページをご覧ください。 Machine Learning Server を使用する他のソリューション テンプレートについては、データ サイエンスのシナリオとソリューション テンプレートに関するページをご覧ください。

シナリオの詳細

考えられる用途としては、不正なクレジット カード アクティビティや不正な携帯電話の通話の特定などが挙げられます。 従来のオンライン分析システムでは、異常なアクティビティを特定するためのデータの変換や分析に何時間もかかる場合があります。

Event Hubs、Stream Analytics などのフル マネージド Azure サービスを使用すると、企業はサーバーを個別に管理する必要がなくなり、コストを削減し、クラウド規模のデータ インジェストとリアルタイム分析で Microsoft の専門知識を活用することができます。 このシナリオでは、特に不正行為の検出を扱っています。 Data Analytics について他のニーズがある場合は、使用可能な Azure Analytics サービスの一覧を確認する必要があります。

このサンプルは、広範なデータ処理アーキテクチャと戦略の一部です。 全体的なアーキテクチャのこの側面における別のオプションについては、この記事の後半で説明します。

考えられるユース ケース

その他の関連するユース ケース:

  • 電気通信シナリオで不正な携帯電話呼び出しを検出する。
  • 金融機関向けに不正なクレジット カード トランザクションを特定する。
  • 小売または eコマースのシナリオで不正購入を特定する。

考慮事項

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

可用性

Azure Monitor には、さまざまな Azure サービスにわたって監視するための統合ユーザー インターフェイスが用意されています。 詳細については、Microsoft Azure での監視に関するページをご覧ください。 Event Hubs と Stream Analytics は両方とも、Azure Monitor に統合されています。

スケーラビリティ

このシナリオのコンポーネントは、ハイパースケール インジェストと超並列リアルタイム分析を実現するように設計されています。 Azure Event Hubs は高度にスケーラブルで、毎秒数百万のイベントを、短い待機時間で受け取って処理できます。 Event Hubs では、スループット ユニット数が、使用量のニーズに合わせて自動的にスケールアップできます。 Azure Stream Analytics では、多くのソースからの大量のストリーミング データを分析できます。 Stream Analytics をスケールアップするには、ご自身のストリーミング ジョブを実行するために割り当てられているストリーミング ユニット数を増やします。

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

セキュリティ

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

Azure Event Hubs では、Shared Access Signature (SAS) トークンとイベント パブリッシャーの組み合わせに基づく認証とセキュリティ モデルによって、データが保護されます。 イベント パブリッシャーは Event Hub の仮想エンドポイントを定義します。 パブリッシャーは、Event Hub にメッセージを送信するためにのみ使用できます。 パブリッシャーからメッセージを受信することはできません。

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

回復性

回復性があるソリューションの設計に関する一般的なガイダンスについては、「Designing reliable Azure applications」 (信頼性の高い Azure アプリケーションの設計) を参照してください。

コスト最適化

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

このシナリオの実行コストを調べることができるように、すべてのサービスがコスト計算ツールで事前構成されています。 ユース ケースについて価格の変化を確認するには、予想されるデータ量に合わせて該当する変数を変更します。

取得するトラフィックの量に基づいて、次の 3 つのサンプル コスト プロファイルが用意されています。

  • Small: 1 標準ストリーミング ユニットで 1 か月あたり 100万件のイベントを処理します。
  • Medium: 5 標準ストリーミング ユニットで 1 か月あたり 1 億件のイベントを処理します。
  • Large: 20 標準ストリーミング ユニットで 1 か月あたり 9 億 9,900 万件のイベントを処理します。

このシナリオのデプロイ

このシナリオをデプロイするには、こちらのステップ バイ ステップのチュートリアルに従います。このチュートリアルでは、シナリオの各コンポーネントを手動でデプロイする方法を示しています。 また、このチュートリアルは、サンプル電話呼び出しメタデータを生成し、そのデータをイベント ハブ インスタンスに送信するための .NET クライアント アプリケーションも提供します。

共同作成者

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

プリンシパル作成者:

  • Alex Buck | シニア コンテンツ開発者

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

次の手順