0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

負荷試験はAWS Distibution Load Testingがめちゃ便利

0
Last updated at Posted at 2026-09-25

最近なにかと負荷試験をしているSREエンジニアの @kio-ku です

突然ですが、どのようにして負荷試験の実行環境を用意しているでしょうか?

サーバを自前で用意したりと何かと準備に手間がかかる、、、
結果をまとめるのにも時間がかかって何かとカロリーが高いですよね

AWSが提供している、手軽に負荷試験の実行環境を用意できるソリューションが
AWS Distibution Load Testingです

AWS Distibution Load Testing(以下AWS DLT)とは?

概要

AWSが提供している、負荷試験のシナリオを実行できる環境を簡単に用意できるというもの。
リソースはCloudFormationのテンプレートを使用して作成でき、AWS Launch Wizardを使うこともできます

対応しているシナリオ

2029/09/22時点で下記の4種類からシナリオを選べます

  • Single HTTP Endpoint
    • URLやパラメータを指定して単一のエンドポイントにリクエストするだけ
  • JMeter
  • K6
    • 2025/07あたりのv3.4.0のリリースでようやくサポートされ、より使いやすくなりました!
  • Locust

ソースコード

OSSとして下記リポジトリで公開されてます

リリースサイクルを調べてみると
最近リリースが活発かつセキュリティパッチもしっかり当たっている点もGood👍

年 リリース数 月あたり リリース間隔(中央値) うちセキュリティ修正のみ
2021 3 0.3本 133日 0
2022 4 0.3本 94日 0
2023 5 0.4本 79日 0
2024 11 0.9本 29日 0
2025 18 1.5本 19日 8
2026 (9/19まで) 26 3.0本 8日 16

アーキテクチャ

アーキテクチャの概要は上記の構成図の通り。

  • フロントエンド
    • 構成は3つから選べます
      • CloudFront+S3
      • ALB+ECS on Fargate
      • ヘッドレス(管理画面のUIをzipでもらって自分のサーバにホスト)
    • 特別な要件がなければコストの面からCloudFront+S3の構成を選ぶのが無難かなと思います
      • 筆者の場合は、IP制限はかけたかったので自前でWAFを用意してCloudFrontにアタッチしてます
  • バックエンド
    • API GatewayやLambda、DynamoDBなどサーバレスで構成されています
    • ここがシナリオ実行用のFargateを立ち上げる感じですね
  • 負荷試験実行環境
    • 実態はECS on Fargate
    • フロントエンドで指定したパラメータとシナリオに沿って実際に負荷をかけていきます
  • MCP Gateway
    • AgentCore Gateway
    • オプションなので必須ではないですが、試験結果をそのままAIに渡せるのでとってもラクです
  • DevOpsAgentとの統合
    • DLTがあるAWSアカウントにあるDevOpsAgentを使って結果の解析やボトルネックの調査もしてもらえるみたいです
    • 使ったことないのであまり詳細はわからないですが、DevOpsAgentの料金は別途かかりそうです

費用の目安

フロントエンドをどのパターンにするかによって異なりますが、
CloudFront+S3の場合はランニングコストほぼ0です(IP制限を入れるならWAFの料金ぐらい

シナリオを実行すると、その結果を保存したCloudWatch ダッシュボードが作成されます
無料枠を超えた分は当然従量課金で、地味にお金がかかるので注意してください!

AWS DLTの画面上からシナリオを削除すれば一緒に消えるので、
結果を見る必要がなくなったシナリオは忘れず削除しておきましょう

デプロイ方法

AWS Launch Wizard でデプロイ

デプロイしたいAWSアカウントとリージョンにログインしておき、
こちらにあるボタンをクリックして、AWS Launch Wizardへ行きます

あとは、画面に沿ってパラメータを選んで待つだけでデプロイが完了します
完了したら指定したメアドにAWS DLTのWEB UIの情報とID/PWが来るのでそれを元にログインします

WAFでIP制限

WEB UIにはID/PWが、MCPにはアクセストークンが必要なのですが、
念には念をということで社内のIPからのみアクセスできるようにWAFをCloudFrontとAgentCore Gatewayにアタッチします

使ってみる

公式ドキュメント

負荷試験の実行

WEB UIにログインして Test Scenarios > New Senario をクリック

20260922_AWS_DLT_シナリオ実行1.png

シナリオや各パラメータを設定して Save
すぐ実行したい場合は Run Now

20260922_AWS_DLT_シナリオ実行2.png

できたシナリオのリンクを押して詳細へ飛び、Run Senario をクリックすると実行が始まります
実行前後でFargateを起動/停止があったりするので多少待ちます

20260922_AWS_DLT_シナリオ実行3.png

結果の解析

WEB UI

Test Runsのタブの方で実行したテストの一覧が見れ、IDをクリックして詳細を見ることができます
リクエスト数や成功/失敗した数、レスポンスタイムなどを見ることができます

当然ですが、ここで見れるのはシナリオを実行して返ってきたレスポンスの結果なので
負荷をかけられた側のアプリケーションの情報については別途確認が必要です

MCP

こちらを参考にMCPを設定すると、AIがテスト結果を引っ張ってこれるようになります
使える機能的にもgetとlistという参照系だけなので安心して使えます!!

アクセストークンの有効期限は1時間です!!

お片付け

基本的にはCloudFormationのスタックを削除しますが、
いくつかリソースが残るので下記を参考に自分で消します

WAFをつけた人はスタックを削除する前に外しましょう

最後に

AWS DLTは負荷試験を実行するのにとっても便利なツールなのでぜひ使ってみてください!
OSSとして公開されており、リリースも活発になってきたので要望とかも聞いてもらえるかもですね

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?