chaos-engineering について
システムのレジリエンスを検証するチーム向けのカオスエンジニアリングスキルです。仮説に基づく実験、障害注入、観察、セーフティプラクティスを扱います。
主な機能
- 01仮説に基づく実験プロセス
- 02ネットワーク障害の注入
- 03CPU・メモリ・ディスク負荷
- 04サービス障害のシナリオ
- 05実験の安全指針
活用シーン
- 01ネットワーク遅延下の動作検証
- 02リソース枯渇への耐性確認
- 03サービス障害からの復旧評価
- 04制御されたカオス実験の計画
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ dralgorhythm/ claude-agentic-framework --skill chaos-engineeringインストール後、Claude Code で/chaos-engineeringを入力して読み込まれたか確認します。
詳細
カオスエンジニアリング
原則
- 仮説を立てる:期待される動作を定義します
- 影響範囲を最小限にする:小さく始めます
- 本番環境で実施する:実際の条件が重要です
- 自動化する:実験を繰り返し実行できるようにします
- 影響を最小限にする:中止条件を設定します
実験プロセス
- 定常状態:通常時のメトリクスを定義します
- 仮説:「条件 Y のもとで、システムは X を維持する」
- 変数を導入する:障害を注入します
- 観察する:定常状態と比較します
- 分析する:仮説を検証または否定します
一般的な実験
ネットワーク障害
# Add latency
tc qdisc add dev eth0 root netem delay 100ms
# Packet loss
tc qdisc add dev eth0 root netem loss 10%
# Remove
tc qdisc del dev eth0 root
リソース枯渇
# CPU stress
stress --cpu 4 --timeout 60s
# Memory stress
stress --vm 2 --vm-bytes 1G --timeout 60s
# Disk fill
dd if=/dev/zero of=/tmp/fill bs=1M count=1024
サービス障害
- プロセスを停止する
- コンテナを再起動する
- インスタンスを終了する
- 依存関係を遮断する
カオスツール
- Chaos Monkey:インスタンスをランダムに終了します
- Gremlin:包括的なカオスプラットフォーム
- Litmus:Kubernetes 向けカオスエンジニアリング
- Chaos Mesh:クラウドネイティブなカオス
実験テンプレート
## Experiment: [Name]
### Hypothesis
If [condition], then [expected behavior].
### Steady State
- Metric A: [baseline value]
- Metric B: [baseline value]
### Method
1. [Step 1]
2. [Step 2]
3. [Step 3]
### Abort Conditions
- If [condition], stop immediately
### Results
[What happened]
### Findings
[What we learned]
安全ルール
- 本番環境以外で始めます
- ロールバックの準備を整えます
- 継続的に監視します
- チームに連絡します
- すべてを記録します
コメント
Markdown 対応