概要
Distributed Load Testing on AWS作って、NAT作って
グローバルIP固定してみた。
Distributed Load Testing on AWS(DLT) とは
AWSでの分散負荷テストが行えるソリューション。
AWSが公開している実装ガイドCloudFormationテンプレートを使って、AWS上に簡単に負荷テスト実行環境を構築できる。
下記二つができる。
- 画面からAPIの情報を設定して実行
- jmeterのシナリオをアップロードして実行
Taurusを利用した負荷テスト実行環境である。
zipファイルに固めれば、Jmeterのライブラリ、csv使った外部ファイルなども含めて実行することができる。
構築
DLTの実行
これ
に従って、distributed-load-testing-on-aws.templateのCoudFomationテンプレートを使って、環境構築
VPC自体の条件がない場合、そのまま作成する。
VPCのIPの範囲等が設定可能である。
AWSに対して、匿名の統計情報を送る、送らないのパラメータもあるので、変更する。
そのまま次へ、次へと押して環境作成
IP固定してみた
いろいろと後から、追加して固定してみた
サブネット追加
CIDRは少な目でいいので[192.168.32.0/24]
一応後から増やせる程度に少し余裕を持たせる。
NATgateway作成
追加したサブネット上にNATGatewayを作成し、外部への経路となるように設定する。
- サブネットの選択(先ほど作成したもの
- 接続タイプパブリック
- ElasticIPの割り当て
を実施し、固定したパブリックIPでNAT-gatewayが外部通信を行えるようにする。
※ElasticIPの数が足りない場合は、AWSに申請して、割り当て可能数を増やしてもらう必要がある。
ルートテーブル追加
サブネットから外に出るときNAT経由となるように作成
ECS(DLTの動く場所)→nat→igwの経路を作るために、nat→igwのルートテーブルを作成し
作成したサブネットを関連付ける
既存ルートテーブル変更
デフォルトで、ECSが0.0.0.0の外部へ出る際の経路を直接igwを指しているため、
0.0.0.0が作成したNATGatewayとなるように変更
まとめ
備忘録として、DLTのIP固定をメモって見た。
今回作成する負荷テスト実行環境は、想定リクエスト数がそこまで高くないため、nat-gatewayを一つ、Subnetもまとめているが、本来分散してnat-gatewayを使えるようにazも分けてsubnetを配置するものだと思う。