開催中のオンラインイベント「AWS re:Invent 2020」で、アプリケーションに対してクラウド障害のシミュレーションを行える新サービス「AWS Fault Injection Simulator」を発表しました。
https://aws.amazon.com/jp/fis/

ケイオスエンジニアリング(Chaos Enginieering)とは

実際にクラウド障害をわざと発生させる「障害注入テスト(FIT=Failure Injection Testing)」を繰り返して、システムの「弾力性」を検証します。
弾力性とは、障害が起こってもユーザーに悪影響を与えないことを示す指標です。
このテストを通じてシステムの問題点をあぶり出し、可用性や耐障害性の向上につながります。Netflixが2012年にケイオスエンジニアリングのためのツール「Chaos Monkey」を公開したことにより、認知度が高まりました。

FISの対象となるサービス

FISの対象となるサービスは現時点でAmazon EC2,Amazon ECS/EKS,Amazon RDSです。
二ーズに応じて対象サービスを拡大する予定だとしています。
ユースケースとしてはテスト環境での利用が想定されますが、ユーザが構築済みのCI/CDパイプラインと連携し,本番環境でケイオスエンジニアリングを実行することも可能です。

どのように活用するのか。

ボーガスCTOはキーノートで「障害が起こったときに把握すべきは”何が壊れたのか”と”なぜ壊れたのか”、この2つだ」と伝えていましたが、数百のマイクロサービスで構成される分散システムの場合,サービスどうしが予期しない相互作用(インスタンス障害後にAPIの呼び出し回数にスロットリングがかかる、CPU使用率の急激な上昇など)を引き起こすことも想定されます。

そして予測し得なかったふるまいや相互作用により、ビジネスに大きな打撃を与える障害へと変わります。こうした危機的な事態を回避し、障害の影響を最小限にとどめ、よりレジリエンスのあるシステムへと変化していくためにも,想定できない挙動を明らかにするケイオスエンジニアリングは非常に有効だといえるでしょう。

NetflixやAmazonといった巨大な企業で洗練されたサービスがすべての企業が利用できるAWS FIS。ケイオスエンジニアリングが、一般企業でも活用される日が近づいていますね。