【ITニュース解説】A postmortem of three recent issues
2025年09月18日に「Hacker News」が公開したITニュース「A postmortem of three recent issues」について初心者にもわかりやすく解説しています。
ITニュース概要
AI開発企業のAnthropicが、最近発生した3つのシステム障害について、その原因と対策を詳細に分析し、再発防止策をまとめた。システム運用でトラブルが起きた際の対応や学び方を示す貴重な事例だ。
ITニュース解説
Anthropicは最近、三つの異なるシステム障害を経験し、その詳細な原因分析と対策をまとめた「ポストモーテム」と呼ばれる報告書を公開した。このような事後分析は、システムを安定稼働させる上で極めて重要であり、システムエンジニアを目指す人にとって、実際の障害事例から多くを学ぶ機会となる。
最初の障害は、二〇二四年四月十一日の朝に発生した。これは、Anthropicのサービスを支える基盤であるインフラストラクチャにおける問題が原因で、システム全体でエラーが増加し、処理速度が低下した。具体的には、新しいAPIキーを作成できなくなったり、一部のユーザーへの応答が停止したりする事態が起きた。この問題の根源は、データを保存する場所であるデータストアが破損したことにある。特定のバックアップ処理中に、ディスクへのデータの読み書きが過剰になり、その負荷でディスクが物理的に破損した。通常、このような破損はシステムが検知するはずだが、今回はディスク上のファイルを管理するソフトウェア、ファイルシステムドライバにバグがあり、破損を正確に認識できなかった。さらに、破損したデータが複製されてしまったため、正常なデータレプリカにすぐに切り替えることができなかった。加えて、障害時に影響を受けたシステムの一部が、データの損失に対する保護が手薄な設定のディスクを使用していたことも、被害を拡大させた要因だった。Anthropicは、壊れたディスクを持つサーバーをシステムから隔離し、健全な複製データを持つサーバーに切り替えることでサービスを復旧させた。この障害への対策として、ファイルシステムドライバの修正と更新を実施し、ディスクの破損をより確実に検出するための新しいテストを追加した。これにより、破損したデータが複製されることを防ぐ狙いがある。また、全てのディスクをより高い耐久性を持つ設定に移行させ、今後同様の障害が発生してもデータが失われにくいように改善を進めている。さらに、システム障害発生時に影響を受けやすい部分が、破損したディスクに依存しないように、システムの耐障害性を向上させる計画も立てられている。データのバックアップからの復旧プロセスを自動化することで、復旧にかかる時間を短縮する取り組みも進められている。
二番目の障害は、翌日の四月十二日の朝に発生し、人工知能サービス「Claude」の一部ユーザーに影響を与えた。この障害により、一部のユーザーはClaudeのサービスにアクセスできなくなったり、応答が非常に遅くなったりした。この問題は、新しいソフトウェアをシステムに導入する「ロールアウト」と呼ばれるプロセス中に発生した。具体的には、新しいバージョンのソフトウェアが以前のバージョンとの間で互換性のない変更を含んでいたため、新旧のソフトウェア間で通信が行われた際にエラーが発生したのだ。ソフトウェアのバージョンアップは慎重に行う必要があるが、今回はその連携に不備があった。Anthropicは、影響を受けていたソフトウェアのバージョンを旧バージョンに戻すことで問題を解決した。今後の対策として、ソフトウェアの展開プロセスを改善し、互換性のない変更が異なるバージョンのサービス間で同時に適用されないよう、自動的にチェックするテストを追加する。また、新しいバージョンのソフトウェアを一部のユーザーに限定的に公開し、問題がないかを確認する「カナリアリリース」という手法における期間を延長し、より多くのシステムの性能や状態を示す数値データ(メトリクス)や、システムが行った処理の記録(ログ)を収集することで、新しいバージョンのソフトウェアが引き起こす可能性のある影響をより早期に検出できるようにする方針だ。
三番目の障害は、四月十三日の未明に発生し、一部のAPIユーザーに高いエラー率と応答遅延をもたらした。この障害は、特定のシステム内で内部エラーメッセージが異常に急増したことが原因だった。これは、新しいハードウェアをシステムに組み込むプロセスの一環として、特定のデータ保存領域の設定変更を行った際に発生した。これらの設定変更が、意図せずして特定のデータ保存領域へのデータの流れ方、つまり「ルーティング」を誤った方法に変えてしまい、新しいハードウェアの導入を阻害した。結果として、健全な状態にあるデータ保存領域に送られるべきデータが、まだ処理能力が十分に整っていない新しいハードウェアのインスタンスに送られてしまい、そこで処理しきれずにエラーが発生してしまったのだ。Anthropicは、問題の原因となった設定変更を元に戻すことでサービスを復旧させた。この障害への対策としては、システムの設定変更を行う際のレビュープロセスを強化する。また、二番目の障害と同様にカナリアリリースにおけるテストをさらに充実させ、より多くのメトリクスを用いてシステムの異常を早期に検出できるようにする。さらに、データのルーティングを行う論理的な仕組みを改善し、実際にシステムが動いている本番環境でのルーティング変更のテスト方法を見直すことで、同様の問題の再発防止に努める。
これらの三つの障害から、Anthropicは複数の重要な教訓を得た。まず、全ての主要なインシデントにおいて、システム全体を停止させてしまうような「単一障害点」が存在していたことを特定し、これらを排除していくことを目指している。既存のサービスを再評価し、障害が発生してもシステムが安定して稼働し続ける「弾力性」を高め、特定の単一障害点への依存を減らすことで、より堅牢なシステムを構築する計画だ。また、自動化された障害復旧の仕組みをさらに改善し、サービスが停止してから復旧するまでの時間を短縮することも、今後の重要な課題として挙げられている。システムエンジニアにとって、障害は避けられないものだが、そこから学び、対策を講じることで、より安定したサービスを提供できるようになる。Anthropicのこの詳細な分析は、システム運用におけるリスク管理と継続的な改善がいかに重要であるかを示す良い事例と言えるだろう。