カオスエンジニアリング(かおすえんじにありんぐ)
最終更新:2026/4/25
カオスエンジニアリングは、システムに意図的に障害を発生させ、その挙動を観察することで、システムの信頼性や回復力を検証する手法である。
別名・同義語 障害注入テストフォールトインジェクション
ポイント
従来のテスト手法では発見しにくい、予期せぬ障害に対するシステムの脆弱性を特定することを目的とする。Netflixが提唱した。
カオスエンジニアリングとは
カオスエンジニアリングは、システムが本番環境で発生する可能性のある障害に対して、どれだけ耐性があるかを検証するための手法です。単にシステムが正常に動作することを確認するだけでなく、意図的に障害を発生させることで、システムの弱点や潜在的な問題を洗い出すことを目的とします。
カオスエンジニアリングの目的
カオスエンジニアリングの主な目的は以下の通りです。
- システムの信頼性向上: 障害発生時のシステムの挙動を事前に把握し、改善することで、システムの信頼性を高めます。
- 回復力の検証: 障害発生時にシステムが自動的に復旧できるかどうかを検証します。
- インシデント対応能力の向上: 障害発生時の対応手順を事前に確認し、改善することで、インシデント対応能力を向上させます。
- 開発チームの学習: 障害発生時のシステムの挙動を観察することで、開発チームの知識と経験を向上させます。
カオスエンジニアリングの手法
カオスエンジニアリングでは、様々な手法を用いて障害を発生させます。代表的な手法としては、以下のようなものがあります。
- レイテンシの注入: ネットワークの遅延を意図的に発生させ、システムの応答性を検証します。
- CPU使用率の増加: CPUに負荷をかけ、システムのパフォーマンスを検証します。
- メモリリークの発生: メモリリークを発生させ、システムの安定性を検証します。
- サービスの停止: 特定のサービスを停止させ、システムの依存関係を検証します。
- データベースの障害: データベースに障害を発生させ、システムのデータ整合性を検証します。
カオスエンジニアリングの注意点
カオスエンジニアリングを実施する際には、以下の点に注意する必要があります。