CPUに負荷をかけてEC2 Auto Scalingを確認してみた
新卒エンジニアのSongYeongjinです!
今日はAmazon EC2 Auto Scalingをセッティングして、意図的にCPUに負荷をかけて新しいインスタンスが追加される事を確認してみます。
Amazon EC2 Auto Scalingとは?
Amazon EC2 Auto Scalingは負荷を処理するために適切な数のAmazon EC2インスタンスを利用できるように準備することができるようにするサービスです。
Auto Scalingグループと呼ばれるEC2インスタンスの集合を作成して最小数と最大数、希望する容量を指定してインスタンスを何個から何個まで使うのかを決めることができます。
Amazon EC2 Auto Scalingでは、次のようなメリットがあります。
- 耐障害性の向上
- インスタンスに異常が発生したタイミングを検出し、インスタンスを終了して、その代わりに新しいインスタンスを起動することができます。複数のアベイラビリティーゾーンを使用するように設定ができます。
- 可用性の向上
- 現在のトラフィック需要を処理するための適切な容量を、お使いのアプリケーションに常に持たせるのに役立ちます。
- コスト管理の強化
- 必要に応じて動的に処理能力を増減できます。使用するEC2 インスタンスの料金を支払うので、必要なときにインスタンスを起動し、不要な場合は削除することで費用を節約できます。
例えば固定的にインスタンスを立ててでサービスをするとします。日によって需要がバラバラなので必要なCapacityが変わります。
費用を考えて低いCapacityでサービスを提供したら、需要に合わせたサービスの提供が出来なくなります。
その反対に大きくCapacityをい提供したら、余ってしまって費用の浪費になってしまします。
そこでAuto Scalingを適用したら必要なCapacityに合わせて自動にスケーリングして費用の浪費が低いサービスの提供ができます。
より細かいな内容はAmazon EC2 Auto ScalingとAmazon EC2 を伸縮自在にする Auto Scaling とはを見てください。
CPU過負荷
LinuxではstressツールまたはyesコマンドでCPUの使用率を意図的に上げてストレステストが可能です。今回はCPUの平均使用率を80%以上にするためにstressを使います。
stressツールとyesコマンドの内容は次のリンクでご確認できます。
【Linux】stressコマンド(負荷テスト・パフォーマンスに最適のコマンド)
【Linux】stressコマンドを使わずに手軽にCPU負荷をかける方法
環境