Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAW...

Avatar for sh_fk2 sh_fk2
September 10, 2025

 20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf

Avatar for sh_fk2

sh_fk2

September 10, 2025
Tweet

More Decks by sh_fk2

Other Decks in Technology

Transcript

  1. 運用上の優秀性(Operational Excellence) • OPS05-BP02: Game Day を実施する • OPS05-BP03: 自動化された演習を繰り返す

    信頼性(Reliability) • REL13-BP02: 障害をシミュレートする • REL13-BP03: 自動フェイルオーバーを検証する • REL13-BP04: スケーリング動作をテストする パフォーマンス効率(Performance Efficiency) • PERF06-BP02: 負荷試験とボトルネック確認 障害訓練に関するもの 結構ある… みんなの参考図書 Well-Architected Framework ※他にもあるかも
  2. AWS Fault Injection Service (AWS FIS) ・マネコンから実行できる障害注入ツール ・意図的に障害を発生させ、サービスの挙動や耐性を確認 AWS Resilience

    Hub:レジリエンス(回復・耐障害性)のチェック・管理 AWS FISはその中でも「実験の実行」を担当するサービス
  3. 試験計画 テストケース策定 試験実施 試験結果 まとめ 正常稼働確認 障害注入 可用性 復旧確認 障害試験の流れ

    FISは試験実施時に障害を注入する機能のみ 正常稼働確認や復旧確認は別途準備する必要あり 障害試験の全体像とFISの守備範囲
  4. • EC2 • EBS • ECS • EKS • Lambda

    • VPC • Transit Gateway • IAMロール • Aurora • RDS • ElastiCache • DynamoDB • S3 • ARC ゾーンシフトに登録されている AWS リソース 最新の情報はドキュメント参照 https://docs.aws.amazon.com/ja_jp/fis/latest/userguide/targets.html 障害を注入できるターゲット Lambda 2024年対応 順次追加、更新されていくと想定
  5. アクションタイプ 代表的なアクション例 説明 インスタンス操作(EC2) stop-instances, reboot-instances, terminate-instances EC2 を停止・再起動・終了する障害を注入 リソースストレス(SSM

    経由) AWSFIS-Run-CPU-Stress, AWSFIS- Run-Memory-Stress, AWSFIS-Run- Disk-Stress CPU高負荷、メモリ圧迫、ディスク満杯な ど EBS ボリューム操作 pause-volume-io EBS ボリュームの I/O を停止 ネットワーク障害 ブラックホール(通信断), レイテンシ 追加, パケットロス 特定インスタンスなどにネットワーク障害 を注入 RDS / Aurora failover-db-cluster, reboot-db- instances DB クラスタのフェイルオーバーや DB 再起 動 Lambda invocation-add-delay, invocation- error, invocation-http-integration- response 関数実行に遅延やエラーを強制注入 S3 bucket-pause-replication S3 レプリケーションを一時停止 Transit Gateway など transit-gateway-disrupt-cross- region-connectivity クロスリージョン接続を遮断 実行できる主な障害
  6. AWS Cloud AWS Management Console AWS CLI AWS Fault Injection

    Service Amazon EC2 Amazon RDS IAM Amazon S3 Amazon ECS AWS Systems Manager 操作 権限参照 ログ出力 実行 Automation 実験対象リソース FIS全体イメージ 実験テンプレート シナリオ Amazon CloudWatch
  7. Tips 2 実験テンプレートはエクスポート・インポートできる × 実験テンプレートのコピー&ペースト ◦ JSON形式 エクスポート&インポート インポートは別アカウントに対しても実施可能 NW的に繋がっていないAWSアカウントへ

    確認済みのテンプレートを安全に移すことが可能 (例)Sandboxで試行 → Stagingへ移行して障害試験 ※IAMロールをAssumeRoleすれば、 クロスアカウントでの障害注入も可能
  8. Tips 3 リソースは元の場所に戻らない AZ障害:稼働リソースが障害対象のAZに寄っているとベスト AZ障害を起こす 1. 対象AZのリソースは停止 2. 正常なAZにルート切り替えたり、フェイルオーバして稼働 →業務正常稼働

    3. 障害終了 →片寄されていた通信が元に戻る 4. 2回目の実験! ×失敗 RDSやAuroraは再フェイルオーバしないので障害が空振り 停止したEC2も自動で起動しない 各リソースが稼働中のAZを 一括で把握できるようにしておくと便利
  9. FIS AZ障害 対象環境 Availability Zone AWS Cloud Availability Zone Auto

    Scaling group VPC Amazon EC2 Elastic Load Balancing Amazon Aurora Amazon Aurora Writer instance Amazon Aurora Reader instance User Amazon EC2
  10. FIS AZ障害 障害注入 Availability Zone AWS Cloud Availability Zone Auto

    Scaling group VPC Amazon EC2 Elastic Load Balancing Amazon Aurora Amazon Aurora Writer instance Amazon Aurora Reader instance User Amazon EC2
  11. Availability Zone AWS Cloud Availability Zone Auto Scaling group VPC

    Amazon EC2 Elastic Load Balancing Amazon Aurora Amazon Aurora instance Amazon Aurora Writer instance User Amazon EC2 昇格 FIS AZ障害 対処後
  12. Amazon Q Developer from Slack Amazon Q Developer In chat

    applications AWS Resource AWS Cloud Amazon SNS 日本語対応済み! - マネジメントコンソール - in chat applications(旧AWS chat bot)