AWS Fault Injection Simulatorが発表されました!

AWS Fault Injection Simulatorが発表されました

2020年12月に『AWS Fault Injection Simulator』という新サービスがリリース予定であることがAWSより発表されました。
AWS Fault Injection Simulatorとは、AWS環境上で簡単にカオスエンジニアリングができるサービスです。
本記事では、Fault Injection Simulatorの使いどころや展望について解説します。

AWS re:Invent 2017 にて Keynoteで触れられていたカオスエンジニアリングの内容についてはこちら。
https://www.skyarch.net/blog/?p=13294

カオスエンジニアリングとは

そもそもカオスエンジニアリングとはどのようなものなのでしょうか。
カオスエンジニアリングとは、動画大手サイトのNetflixが始めた、『本番稼働中のサービスにランダムで障害を起こし、システム障害からの復旧手順を確認・確立する』というITサービスの運用手法のことです。

日々発生する障害に対応することで、障害対応のナレッジ蓄積や手順の確認を行い、大規模な障害が発生してもITサービスを止めることなくシステム運用を続けることに貢献できます。
現実世界に例えると、『毎日オフィスビルにランダムで火災を起こし、毎日避難訓練を行うことで、実際の大災害が起きても問題がないように備える』といったところでしょうか。

ちなみに、毎日ITサービスにランダムで障害を起こす=日々何が起きるかわからない=カオス
ということが由来となり、カオスエンジニアリングと呼ばれています。

カオスエンジニアリングを導入するためには

いままで、カオスエンジニアリングを導入するためには、Netflix社が公開している「Chaos Monkey」や、「Gremlin」といったツールを利用する必要がありました。
導入に向けては、追加で専用のツールが必要であったり、導入に向け、日本国内で取り扱っているベンダーが少なかったりと、多少のハードルがありました。
AWS Fault Injection Simulatorが登場したことにより。導入が容易になることが予想されます。

AWS Fault Injection Simulatorの使いどころ

以下のAWS公式発表によると、以下の機能が実装されるとのことです。
https://aws.amazon.com/jp/fis/

  • DBやサーバをスローダウンさせる機能
  • Systems Managerと統合し、カスタム障害を作成する機能
  • CloudWatchなどの監視サービスと統合できる機能
    したがって、以下のようなユースケースが考えられます。

アプリケーションのスローダウンに関する試験

アプリケーションのスローダウン障害は、サーバのCPU高負荷やアクセス集中など、原因が多岐にわたるため、対応が難しいという特徴があります。
Fault Injection Simulatorを利用することで、スローダウン障害に対する訓練が行えるようになり、ITサービスの安定稼働に貢献ができるようになります。

多様化したアーキテクチャの障害試験が可能

近年ではサーバレスやマイクロサービスといった、多様なパターンのITアーキテクチャが存在します。
カスタム障害を作成することで、そのような多様なパターンの障害に対しても、障害試験を行うことが可能になります。

障害時挙動のデータ蓄積

監視サービスと統合していることで、障害初声時のメッセージ出力パターンをデータとして蓄積することができます。
例えば蓄積したデータを分析・学習することで、障害の予測や対応の自動化、といったことが行えるようなると考えられます。

今後の展望

以下のAWS公式発表によると、2021年の早い時期にリリースが行われるとのことです。
https://aws.amazon.com/jp/fis/
まだ、どのAWSのサービスと統合するか、といった具体的な発表はありませんが、幅広いサービスと統合できることが期待されます。