事故概要
2025年2月13日(木)、Notta株式会社(以下「Notta」)のNginx設定が十分に最適化されておらず、リクエスト量の急増によりシステムリソースが急激に消費されました。システムログを詳細に分析した結果、異常なアクセス元が特定され、単一IPからのリクエスト数が80万回を超え、その後も増加し続けたことが判明しました。この影響で、プッシュサービスがほぼ停止状態に陥りました。
以下の機能に障害が発生しました:
- ファイルのダウンロードが失敗
- 一部のNotta Botが参加途中で中断
- 一部のリアルタイム録音が中断
- 認証コードなどのメール受信や送信時間の遅延が発生
- 決済完了後の【使用状況】が即時に更新されず、ページのリフレッシュが必要
- ファイルアップロードによる文字起こし【進捗状況】が異常(最終結果には影響なし)
- サードパーティへの【転送成功通知】が正常に機能しない(データ自体の転送には影響なし)
- フォルダおよびノートの権限変更に関する【通知】が異常(リフレッシュが必要)
- メンバー権限変更の【結果通知】が異常(リフレッシュが必要)
- 翻訳後の【通知】が異常(リフレッシュが必要)
この状況を解決するために、Nottaは一時的な対策として、サービス拡張とシステムパラメータの最適化を実施しました。
影響時間
影響期間:2025年2月13日(木)16:03 ~ 19:00(合計2時間57分)
調査詳細
発生状況
- 事件対応(16:03)
- モニタリングシステムがサービス異常を検知後、技術チームが最上位の緊急対応を開始
- 緊急対処(16:05~16:07)
- サービスノードを最適化し、リソース使用率を安全範囲内に低下
- 異常なトラフィック攻撃を特定し、分散型防御システムを起動
- 弾力的なリソース確保策を導入し、コアサービスの継続利用を確保
- リスクコントロール(16:50)
- スマートトラフィックフィルタリングシステムを起動し、異常なトラフィックを遮断
- システム復旧(18:16~18:47)
- 全ノードのサービスをアップグレードおよび拡張
- 三重の検証プロセスを経てサービス完全復旧を確認
- 影響を受けた全てのユーザー接続を安定的に再構築
- 事後対応(19:00)
- 防御戦略を動的に調整し、正常なユーザーのアクセス体験を最適化
発生原因
- モニタリングアラートの不備
- システムリソース監視アラートのカバレッジに盲点がありました。TCP接続の詳細指標データが収集されていたにもかかわらず、事前の評価の不備により対応するアラートルールが設定されず、異常の早期検出と緊急対応ができませんでした。
- パフォーマンステストの不足
- テストケースのカバレッジが不十分であり、TCP接続の枯渇が引き起こす影響を十分に考慮していませんでした。テストは主にHTTPSサービスの外部アクセスや、内部短期接続インターフェイス、およびWebSocketの接続数に集中しており、より広範囲のシナリオを含んでいませんでした。そのため、本番環境での実際の問題をシミュレーションすることができず、性能の限界を予測できませんでした。
解決策
実施済みの対策
1. システム構成パラメータの調整
- 業界ベストプラクティスに従い、Nginxのコア設定パラメータを最適化
- 全体の負荷テストを実施し、現在の業務量の5~10倍規模を支える能力を確保
2. サービスノードの拡張
- 性能ボトルネックが発生していたプッシュサービスを拡張
今後の対応
1. モニタリングアラートの改善
- AWSアーキテクチャに基づき、監視体制を再設計
- 重要な業務指標の監視体制を強化し、アラートのしきい値ルールを策定
- 分単位の異常検出と自動応答メカニズムを構築
2. サービス応答速度およびシステム安定性の向上
- 中核ミドルウェアを最新バージョンにアップグレード
- AWSクラウドサービスを深く統合し、弾力的コンピューティングとスマートトラフィックスケジューリングを活用
3. システム耐障害性の強化
- 複数可用ゾーンを活用した高可用性アーキテクチャを構築
- SLAに基づいたインテリジェントスケーリング機能を最適化
4. パフォーマンステストの改善
- 現在の本番環境のサービス影響要因を詳細に分析
- テスト環境での全面的な性能監視を強化
- テスト中に発見された問題と解決策を記録し、品質向上に活用