1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWS での分散負荷テストを試してみる

Last updated at Posted at 2022-03-23

AWSで負荷テスト環境を簡単に構築出来るようなので試してみます。

構成

公式から。
image.png
フロントにAmplifyが用いられテストシナリオを作成するコンソール画面が提供されます。
実際に負荷をかける環境はECSによって管理されたコンテナから実行されます。コンテナイメージにはコンテナイメージにはTaurusというテストツールが使用されているようです。

コスト

こちらも公式から。
image.png

負荷テストの実行時間に応じたFargateの従量課金分が多くを占め、維持コストはほぼかかりません。
仮にEC2にテスト環境を構築した場合、厳密にテスト時間だけ起動するという運用は困難ですし、コスト面でも優秀なのではないでしょうか。

使ってみる

こちらのデプロイガイドを参照しながら進めていきます。

CloudFormationスタックの作成

デプロイガイドに下記の記載がありますので、マネジメントコンソールにログインした状態でソリューションの起動をクリックします。
image.png

CloudFormationの画面が開きます。
デフォルトだとリージョンがバージニア北部になっているので東京に変更しました。
image.png

スタックの詳細の指定です。
Console Administrator Name とConsole Administrator Emailの欄だけ入力しました。
負荷テストのコンソールへログインするユーザー名の指定と、ログインパスワードが通知されるメールアドレスを記載します。
2022-03-23_11h12_08.png

2022-03-23_11h12_12.png

スタックオプションの設定です。
特に変更せずに進みます。
2022-03-23_11h12_40.png

確認画面に遷移します。
IAMリソース作成への同意にチェックをする必要がありますので、チェックをしてスタックを作成します。
2022-03-23_11h13_10.png

スタックの作成が開始されます。5分程で完了しました。
2022-03-23_11h13_31.png

テストコンソールからのテスト実行

スタック作成が完了すると、パラメータとして入力したメールアドレス宛に、ログインパスワード、ログインURLが記載されたメールが送られてきます。
2022-03-23_11h20_38.png

記載されたURLにアクセスし、ログイン。
2022-03-23_11h21_14.png

パスワード変更を求められるので変更します。
2022-03-23_11h21_38.png

ログイン出来ました。
2022-03-23_11h21_45.png

テストシナリオを作成していくのですが、その前にテスト対象の環境を用意します。
今回はとりあえずhttpリクエストを受けられれば良いので、apacheがインストールされているAMIからEC2インスタンスを起動しただけの雑な環境をテスト対象としました。
2022-03-23_11h31_01.png

ちなみに、AWSで負荷テストや侵入テストを実施する場合、シナリオによってはAWSへ事前連絡が必要となる事があるのですが、ガイドによると「本ソリューションでネットワークトラフィックが1Gbps未満の場合は連絡不要」との事です。
image.png
詳細についてはこちらに書いてあるようなので、AWSで本格的な負荷テストを行う際は確認しておいた方が良いでしょう。

さて、テストシナリオの作成に戻ります。
テストコンソール上部の[CREATE TEST]をクリックします。
2022-03-23_11h21_49.png

シナリオの設定を入力する画面となるので、要件に応じて記載して実行します。
2022-03-23_11h52_19.png

実行するとこのような画面になりました。
2022-03-23_11h53_26.png

画面下部欄の[Amazon CloudWatch Metrics Dashboard]をクリックすると、リアルタイムに状況をウォッチする事が出来るようです。
テスト対象はしょぼいインスタンスタイプで用意したのでまぁまぁエラーがでてますね。

2022-03-23_12h06_48.png

実行が終わるとすぐに結果のサマリーが確認可能となりました。
2022-03-23_12h04_32.png

単体で作成できるテストシナリオはシンプルなものに限られますが、シナリオ作成時[Test Type]にJmeterを選択する事ができ、既存のJmeterの定義を読ませる事ができるようです。
2022-03-23_11h23_26.png

簡単に、従量課金でコスト最適化されたテスト実行環境が構築出来るのは、かなり良いのではないでしょうか。

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?