「セキュリティの専門家たちは常に完璧でなければならない一方で、詐欺師は一度だけ正しければいい」ということわざがあるように、不正検出システムは堅牢で機敏であり続ける必要があります。
日本の不正検出企業であるCaulisは、不正検出ソリューションのスケーリングに課題を抱えていました。
RedisからAerospikeを主なデータベースとして採用するまでの道のりは、そのようなシステムのスケーリングに関するインサイトを提供しています。
本記事では、同社のデータベース移行から得られた教訓と、その成功に寄与した要因について詳しく説明します。
Caulis FraudAlertとは
Caulisの主力製品であるFraudAlertは、人工知能を使用してユーザーの行動を分析し、異常で潜在的に不正なアクセスパターンを検出するクラウドベースの不正検出ソリューションです。
業界やデバイスを問わず顧客のタッチインタラクションを認証し、高リスクな活動をリアルタイムでクライアントに通知します。
さらに、Caulisは不正防止を強化するためにさまざまな分野で協力しています。
最近開催されたReal-time Data Summitの講演で、Caulisのプロジェクトマネージャーである林泰行氏は、ATMやIoTデバイスへの能力拡大を計画していると説明しました。
FraudAlertは、単純なルールベースの検出から始まり、より多くのデータが利用可能になるにつれて機械学習を段階的に取り入れ、その能力を向上させています。
これにより、システムは適応し、複雑で新たに出現する不正パターンを識別し、誤検知と運用コストを削減することができます。
FraudAlertは、7つのサービスを提供しています。
- ログイン検知
- フィッシングサイト検知
- 一部の電力会社から提供される情報との連携
- 送金検知
- 画面遷移検知
- 新規口座開設検知
- 製品をモニタリング業務に活用するためのコンサルティング
そのため、FraudAlertはリアルタイムで動作する必要があります。
「犯罪者は行動が早いため、被害を軽減するためにはリアルタイムによる通知が不可欠です」と林氏は述べています。
林氏のdb tech showcaseでの講演はこちら
Redisの課題
当初、Caulisはその速度とスキーマ管理の容易さからRedisを選択しました。
しかし、同社のデータ量が増加するにつれて、いくつかの問題が浮上しました。
スケーラビリティ
水平および垂直スケーリングが問題でした。
「ダウンタイムなしでのスケールアウトとスケールインが達成できず、継続的なサービス提供が困難でした」と林氏は述べています。
データ整合性
バックアップファイルが時々クラッシュしました。
「バックアップファイルのクラッシュにより、長時間の回復時間とデータエラーに直面しました」と林氏は説明します。
複雑さ
クラスタリングが複雑で、インスタンスの再追加がしばしば不安定さをもたらしました。
「Redisの専門家にアドバイスを求め、2年間にわたって様々なテストを行ったにもかかわらず、クラスタリングシステムの理解と正しい使用が複雑でした」と林氏は言います。
「Redisはキャッシングや非永続的なデータの処理には優れていますが、私たちのユースケースは半永続的なデータを扱うもので、Redisは適していませんでした」と彼は付け加えました。
これらの課題により、Caulisはより良いソリューションを探すことになりました。
「私たちの製品は、ターゲット市場に適合させるための作業が必要で、コストが重要な要因でした」と林氏は言います。
「間違った決定は破産につながる可能性がありました。」
新しいデータベースの主要要件
Caulisは新しいデータベースに対していくつかの重要な機能を特定しました。
スケーラビリティ:ダウンタイムなしでの水平および垂直スケーリング
信頼性の高いバックアップ:管理が容易なデータ整合性と迅速な復旧
コストパフォーマンス: 運用、移行、ダウンタイムに対するコスト効率の良い管理
潜在的なデータベースの評価
CaulisはRedisの代替としてAerospike、Amazon DynamoDB、Amazon Auroraの3つの潜在的なデータベースを評価しました。
同社にとって、それぞれのデータベースにメリットとデメリットがありました。
Aerospike
- メリット:堅牢なサポートとデータサイズに基づく容易で透明性のあるコスト計算を提供
- デメリット:運用と保守の潜在的な課題
DynamoDB
- メリット:AWSのサポートによる信頼性の高い高速パフォーマンス
- デメリット:利用ベースの価格設定によるコスト高騰のリスク
Aurora
- メリット:容易なコスト予測性と企業向けサポートを提供
- デメリット:関係データベースとして、厳格なスキーマ管理が必要
Aerospikeへの移行の決定
Caulisの評価では、Aerospike、DynamoDB、Auroraの間で保守、運用、サポートが同等でした。
また、インメモリのRedisアーキテクチャを離れることで速度を犠牲にしないことを確認したいと考えました。
AWSのトラフィックミラーリングテストアプローチを使用して、AerospikeがRedisの速度に匹敵できることを検証しました。
当初Aerospikeに馴染みがなかったものの、同社はその迅速な展開能力と迅速なサポート提供能力に自信を持つようになりました。
最終的に、評価における最大の違いは総所有コストでした。
同社はこれを徹底的に検討し、初期コスト、運用コスト、移行コスト、そしてダウンタイムの潜在的コストを調査しました。
「開発コストを含むコストパフォーマンスが決定要因でした」と林氏は言います。
「Aerospikeは満足のいく速度、安定性、運用の容易さ、信頼性を提供しました。データの心配から解放されて安心しました。」
Aerospikeで実現されたメリット
Aerospikeへの移行により、いくつかのメリットがもたらされました。
パフォーマンスの向上: 1秒あたり1700〜2000トランザクション(クエリ)のリアルタイム処理を達成。「速度は非常に高速で、平均100ミリ秒、99.9%のレイテンシが500ミリ秒です」と林氏は報告しています。
スケーラビリティと安定性: Aerospikeは、ダウンタイムなしでCaulisが必要とする水平および垂直スケーリングを提供。
コスト効率: 他のソリューションと比較して、より低い運用コストと開発コストを提供。
学んだ教訓
Caulisの経験から得られる3つの教訓はこちらです。
徹底的に評価する
潜在的なデータベースを特定のユースケースと要件に照らして評価する。
「ユースケース、ビジネスニーズ、組織の規模に基づいてデータベースを選択することが不可欠です」と林氏は助言します。
包括的なテストを行う
実際のトラフィックを使用して、新システムのパフォーマンスと信頼性をテストし、検証する。
「広範なテストを通じて、高速な書き込みを確認し、一貫性を確保しました」と林氏は述べています。
戦略的に計画する
移行における潜在的な課題に備え、堅牢なサポートとメンテナンス体制を確保する。
Aerospike:リアルタイム不正検出のための正しい選択
不正検出システムの最適化には、ビジネスニーズに合わせてスケールできるリアルタイムデータベースが必要です。
CaulisのRedisからAerospikeへの成功裏の移行は、スケーラビリティ、信頼性、コスト効率の重要性を浮き彫りにしています。
Caulisは自社の経験を共有することで、不正検出やその他の低レイテンシ、高スループットのユースケースにおける能力向上で同様の課題に直面している他の組織に有益なアドバイスを提供しています。
「Aerospike、Redis、関係データベース管理システム(Auroraなど)を含むデータベースにはそれぞれ長所があります」と林氏は言います。「特定のニーズに基づいてデータベースを選択することが重要です。」