前提
・AutoScalingグループは作成済みでEC2が1台起動
・EC2にはSSM接続orSSH接続可能
負荷テストの概要
色々Linuxに負荷をかける方法はありますが、今回はFork爆弾というコマンドを使用します。
(リポジトリからパッケージインストールも面倒だしね)
:(){ :|:& };:
上のコマンドは:で定義された関数を無限に呼び出してプロセスを占領するコマンドです。(フォーク爆弾)
Linuxのデフォルトでは、ulimit -uがunlimitedになっているため、無限にプロセスが生成されます。
使い捨てのEC2とはいえ爆発的に増加するのは怖いので10万ぐらいに上限を制限しておきます。
ulimit -u 100000
コマンド実行
EC2のモニタリングでCPU使用率(%)メトリクスを確認しましょう。
当たり前ですが、100%になっています。(SSH接続も落ちました)
AutoScalingグループを確認します。
↑インスタンスの台数が1台増えて2台になっています。スケーリングされています。
反省
すぐに100%になったので、本当に50%閾値でスケーリングされているのかはよくわからなかった...
stress使う方がテストとしては確実。。。