AWSには、負荷テストのためのマネージドサービスとしてAWS Fault Injection Service(AWS FIS)というものがあります。
AWS Resilience Hub の一部である AWS Fault Injection Simulator Service (FIS) は、アプリケーションのパフォーマンス、オブザーバビリティ、回復性を向上させるために、フォールトインジェクション実験を実行するためのフルマネージドサービスです。FIS は、さまざまな AWS のサービス全体でコントロールされたフォールト挿入実験をセットアップして実行するプロセスを簡素化するため、チームはアプリケーションの動作についての確信を深めることができます。
先日AWS上のサーバに対して負荷試験を行う必要があったのですが、このFISを利用しなかったため、その理由について残したいと思います。
(AWSやFISのネガキャンではなく、FISをより使いやすいサービスにしてもらうための改善要望という意味で書いています。)
結論
FISはJMeter等のように、「Webアプリケーションに対して大量のリクエストを送信し、レスポンス時間を確認する」といった使い方ができませんでした。
例えばAmazon ECSであればCPU使用率の負荷テストなどを実施できますが、Webアプリケーションの負荷テストには向いていないようです。
https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#ecs-actions-reference
つまりFISでCPU負荷を上げたうえで、別途サードパーティのツールを利用してアクセス時間の測定などをしないといけない、ということでしょうか。
いまいち痒い所に手が届いていない気がしてなりません。
最後に
ここまで書いてきましたが、もしFISや他のAWSサービスで上記のようなWebアプリケーションの負荷試験を実現できるよ、という場合はコメントで教えてください。