プライベートサブネットの Locust クラスタで動いているウェブインタフェースに接続する

Locust のようなウェブアプリケーションに対するベンチマークツール (負荷試験ツール) を使うのであれば、アプリケーションが動いている場所と同じネットワークで起動するべきである。ベンチマークを取るときにネットワークの影響を軽減するためだ。

多くの場合はウェブアプリケーションはプライベートサブネット内で動くだろう。公開されたロードバランサが、ウェブアプリケーションにリクエストをフォワードするのである。この場合、Locust も同じプライベートサブネットで動かすべきである。しかし、Locust のウェブインタフェースに手元からアクセスしたい場合はどうすればよいだろう?

この場合、SSH のポートフォワードを使うのが最も手っ取り早い。

Locust のウェブインタフェース (通常はマスター) が ec2-xx-xx-xx-xx.ap-northeast-1.compute.amazonaws.com のポート 8089 (デフォルト) で動いているものとする。また、このプライベートサブネットに接続できる踏み台サーバが bastion.example.com と仮定する。その場合、次のコマンドでリモートで動いている Locust のウェブインタフェースに対してポートフォワードできる。

ssh -fNL 8081:ec2-xx-xx-xx-xx.ap-northeast-1.compute.amazonaws.com:8089 bastion.example.com

このコマンドを叩いた後で localhost:8081 をブラウザで開けば、手元のブラウザから Locust を管理できる。