OpenAIが2024年12月に発生したAPI、ChatGPT、Soraのシステム障害の原因を発表
OpenAIが2024年12月に発生したAPI、ChatGPT、Soraのシステム障害の原因を発表しました。
システム障害の概要
現地時間12月11日 午後3:16 〜 午後7:38 (日本時間、2024年12月11日(水) 20:16から2024年12月12日(木) 12:38まで)でOpenAI のサービスで大幅な機能低下や利用停止が発生
ChatGPT: 現地時間午後5:45に部分回復、午後7:01に完全回復
API: 現地時間午後5:36に部分回復、午後7:38に完全回復
Sora: 現地時間午後7:01に完全回復
システム障害の原因
システム全体の状態可視化の強化を目的とした新しいテレメトリ サービスを導入しました。
これにより大規模クラスターに予期せぬ大量のKubernetes APIリクエストを生成され
Kubernetesコントロールプレーンが過負荷となり、DNSベースのサービス検出が停止。
DNSキャッシュにより障害が遅延し、問題の検出が遅れた。
ステージングでのテストでは問題が発生しなかった
OpenAIは新しいテレメトリサービスの導入前に、ステージングクラスターでテストを実施しましたが、問題は発生しませんでした。
問題が発生しなかった理由は以下としております。
- テスト環境の限界
- 問題は大規模クラスター特有のものであり、ステージング環境では再現されなかった。
- DNSキャッシュの影響
- DNSキャッシュが動作し続けたため、変更の影響が一時的に遅延し、障害検出が遅れた。
- 監視の不足
- 導入前のテストでは、リソース使用率(CPU/メモリ)に注力したものの、Kubernetes APIサーバー負荷の評価が不十分だった。
- 問題発生後の遅延
- DNSキャッシュが20分で期限切れとなったことで、リアルタイムDNS解決に依存していたサービスが機能不全に陥り、障害の全容が遅れて顕在化した。
再発防止
- 段階的な展開強化: 小規模ロールアウトと健全性監視の改善。
- フォールトテスト: コントロールプレーン依存の問題を事前検出。
- 緊急APIアクセス: ロックアウト対策としてブレークグラスメカニズム導入。
- 分離強化: Kubernetesデータプレーンとコントロールプレーンの分離。
- 回復強化: キャッシュ改善と迅速なリカバリー演習実施。