はじめに
このアップデートの検証をしてみたいな。と思いつつ、まだFIS(AWS Falt Injection Service)を触ったことがなかったので、今回は入門としてEC2のCPU負荷が上がっている状況をシュミレーションしてみようと思います。
Aurora DSQL now supports resilience testing with AWS Fault Injection Service
https://aws.amazon.com/jp/about-aws/whats-new/2025/08/aurora-dsql-resilience-testing-with-aws-fault-injection/
AWS FIS(Fault Injection Service)とは?
一言で言うと、耐障害性テストツールみたいです。
このツールを使い、意図的に障害を起こして、システムが障害時に正しく動くかを確認できる模様。
いわゆるカオスエンジニアリングのためのツールと考えればよさそう。
どんなテストができる?
ここに一覧がありました。
一つのテストを実験って呼ぶみたいですが、この実験を作成するときにアクションを指定することで、どのような障害を起こすかを指定できます。
料金は?
以下のページに記載があります。
基本は$0.10 per action-minute(1アクション・1分あたり)です。
また、レポート作成機能がありますが、これが1レポート$5の模様。
試してみます!
もう一つくらい記事を作りますが、今回は簡単にCPU使用率を対象にしたターゲット追跡スケーリングでAuto Scalingグループの動作確認をしてみます。
起動テンプレートの作成
適当な起動テンプレートを指定しておきます。
AWS FISはSSMとの通信が必要なので、今回はコスト面を考慮し、パブリックサブネットに配置する設定としました。
本来はNAT Gatewayまたは、VPCエンドポイントを使ってプライベートサブネットに配置すべきです。
パブリックサブネットに配置する場合、パブリックIPの自動割り当てを有効にしておく必要があります。
あと、Auto Scalingグループ作成時に配置するAZと対応したVPCのセキュリティグループを指定する必要があります。(VPC IDを見て指定するの分かりづいらい)
Auto Scalingグループの作成
続いて、Auto Scalingグループも作っておきます。(抜粋して手順書いておきます)
先ほど作った起動テンプレートと、配置先のVPCとパブリックサブネットを指定します。
グループサイズは1〜2台とし、平均CPU利用率が70%未満となるターゲット追跡スケーリングポリシーを作成し、完了です。
作成すると、1台起動してきます。
SSM Agentと通信が成功していることを確認するために、セッションマネージャーを確認します。
またAuto Scalingグループ経由で起動したEC2には以下のようなタグがついているので、覚えておきます。
(このタグ値で、FISの試験対象を指定します。)
実験テンプレートの作成
どのような試験をするか?を指定する実験テンプレートを作成していきます。
今回はAWS FISのトップページにある、シナリオからテストを作成から作成していきます。
シナリオライブラリからEC2 ストレス:CPUを選択します。
ここはそのまま。
ここからシナリオを指定していきます。
左側に3つのアクションがあります。
このキャプチャ上からは分かりませんが、CPU使用率を5分周期で80->90->100%としていくシナリオです。
今回は簡単な動作確認なので80%のアクション以外は削除しておきます。
次にターゲットを指定します。
特定のインスタンスIDを指定することもできますが、今回は下記のようにタグの状態で指定するようにしました。
サービスロールは新規作成。
レポート設定や、ログの設定をしておきます。
また、停止条件ですが今回は5分で勝手に終了にするので、指定なしとしました。
レポートは追加料金($5)かかります!
実験してみる!
では、実験してみます。
CPU使用率をみるため、対象のインスタンス上でtopをしておきます。
作成した実験テンプレートを選択し、実験を開始から開始します。

stress-ng-cpuってプロセスがCPU負荷を上げている!

3分待つと、ターゲット追跡スケーリングポリシー作成時に作ったアラームが発砲します。
そして、アラーム発報をトリガーに、スケールアウトが行われました!
うまく実験できましたね。
なお、スケールインはスケールイン用のアラームの閾値が15ポイントになっているので、15分後に行われます。
実験レポート
実験が完了すると、レポートがS3に格納されています。
これで5ドル…。
以下みたいな簡単なレポートでした。
まとめ
簡単にAWS FISの動きを確認してみました。
次は別のアクションでFISでないとできないような実験をしてみたいと思います!





















