# クロスシステムインタラクション障害 ## 定義 クロスシステムインタラクション障害(CSI 障害; Cross-System Interaction Failure)とは、独立した相互作用するシステム間のインタラクションを通じて顕在化する障害モードである。**重要な特性は「どちらのシステムも、自身の仕様上は正しく動作する」点にある**——根本原因は単一システム内には存在せず、システム間の不整合(discrepancy)にある。したがって、CSI 障害は単一システムを孤立して分析・テストしても発見できない。(Source: [[@2023__EuroSys__Fail through the Cracks - Cross-System Interaction Failures in Modern Cloud Systems]]) **上流(upstream)**: インタラクションを開始するシステム。**下流(downstream)**: インタラクションに応答するシステム。CSI 障害では下流は利用可能でありながら、上流が正しくサービスを受けられない。 ### 障害プレーン CSI 障害を以下の3プレーンで分類する: - **コントロールプレーン**: スケジューリング・リソース配分・調整・耐障害性などのシステムコア制御ロジック - **データプレーン**: テーブル・ファイル・タプル・ストリームなどのデータ操作コンポーネント - **管理プレーン**: 設定(システム動作のカスタマイズ)と監視(オブザーバビリティ) 発生割合の実績: データプレーン 51%・管理プレーン 32%・コントロールプレーン 17%(Source: [[@2023__EuroSys__Fail through the Cracks - Cross-System Interaction Failures in Modern Cloud Systems]], 120件のオープンソース障害データセット) ### 他の障害モードとの区別 | 障害モード | 根本原因の所在 | 特徴 | |-----------|--------------|------| | CSI 障害 | システム間の不整合 | どちらのシステムも仕様上は正しい | | 依存障害(dependency failure) | 下流システムの独立した障害 | 下流が fail-stop しており、耐障害設計で対処可能 | | ライブラリ障害 | 上流とライブラリの不整合 | ライブラリは同一アドレス空間で動作し、通常のテストに含まれる | ### 根本原因パターン **データプレーン**: - メタデータ不整合: アドレス/名称・データスキーマ(構造・値)・カスタムメタデータ - 型混同・未サポート操作・暗黙の規約・未定義値・誤ったAPI仮定 - アドホックなシリアライゼーション(全体の25%) **管理プレーン**: - 設定の無視(ignorance)・予期しない上書き(override)・不整合なコンテキスト - 監視データがクロスシステムの kill アクションを誤トリガー **コントロールプレーン**: - 暗黙的API意味論の違反(同期/非同期・スレッドセーフ性・順序) - 状態/リソースの不整合ビュー・機能不整合 ## 横断的知見 - **クラウドインシデントの20%を占める**: GCP・Azure・AWS の本番インシデント55件中11件がCSI障害起因であることが確認された。重大インシデント(YouTube・Gmailのサービス中断等)にも波及する。(Source: [[@2023__EuroSys__Fail through the Cracks - Cross-System Interaction Failures in Modern Cloud Systems]]) - **既存耐障害機構はCSI障害に無効**: データ/状態レプリケーション・チェックポインティング・自動再起動などの機構はシステム内を保護するが、システム間インタラクションをSPOFとして残す。依存障害ではほぼ書かれるエラーハンドリングも、CSI障害では書かれないことが多い。(Source: [[@2023__EuroSys__Fail through the Cracks - Cross-System Interaction Failures in Modern Cloud Systems]]) - **コネクタモジュールへの集中**: 修正の86%がコネクタモジュール(コードベースの5%未満)に集中する。これはクロスシステムテストの最優先ターゲットとなることを示す。(Source: [[@2023__EuroSys__Fail through the Cracks - Cross-System Interaction Failures in Modern Cloud Systems]]) - **修正のほとんどが応急処置**: 40%の修正が条件チェック/エラーハンドリングの改善に留まり、インタラクション自体を直さない。同様の上流が別のシステムで同じ障害に遭遇するリスクが残る。(Source: [[@2023__EuroSys__Fail through the Cracks - Cross-System Interaction Failures in Modern Cloud Systems]]) - **グレイ障害との関係**: [[グレイ障害]](差分可観測性)は観測者とアプリケーションの非対称な障害認識を問題にするが、CSI 障害はシステム間のインタラクション仕様の不整合に起因する。両者は共存しうる——CSI 障害が監視データの誤解釈(管理プレーン)として現れる場合、グレイ障害的な特性を持つ。 ## 未解決の問い - **クロスシステムテストの一般化**: Spark-Hive のケーススタディは有望だが、多様なシステムの組み合わせに適用可能な一般的フレームワークはまだない。コネクタをテストの起点とする手法がどの程度スケールするか? - **CSI 特有の耐障害機構**: 既存の冗長性・リカバリ機構はCSI障害に無効。インタラクションの冗長化や、複数の下流インタフェースを活用した CSI フォールトトレランスの設計原則はどうあるべきか? - **管理プレーンの一貫した設定**: 現在は各システムの設定ファイルの集合で管理プレーンが構成される。設定値の伝搬・マージの追跡可能性(traceability)を持つ統一設定プレーンをどう構築するか? - **AI/LLM は CSI 障害の検知に有効か?**: [[LLMによる根本原因分析]] や [[AIOps]] の文脈で、CSI 障害のような「複数システムをまたぐ」根本原因を自動特定できるか?単一システムのログ・トレースを見るだけでは原因が特定できないという性質が、LLM ベースRCA の限界を示す可能性がある。 - **Sky Computing・マイクロサービスとの関係**: クラウドの異種連携(Sky Computing)やマイクロサービス化が進むほど CSI 障害は増加すると著者は予測する。実際の増加傾向はどれほどか? ## 関連 - ソース: [[@2023__EuroSys__Fail through the Cracks - Cross-System Interaction Failures in Modern Cloud Systems]] - 関連概念: [[グレイ障害]] / [[分散システム障害]] / [[クラウドインシデント]] / [[設定ミス脆弱性]] / [[カオスエンジニアリング]] / [[Fault Localization]] / [[AIOps]] - 関連 MOC: [[AIOps - Fault Localization - MOC]] / [[SRE - MOC]] - 関連エンティティ: [[Tianyin Xu]] / [[Lilia Tang]] / [[Chaitanya Bhandari]] / [[Indranil Gupta]] / [[University of Illinois Urbana-Champaign]] ## 出典 - [[@2023__EuroSys__Fail through the Cracks - Cross-System Interaction Failures in Modern Cloud Systems]] — CSI 障害の定義・分類・実証分析の一次出典(EuroSys '23)