最終更新:
オートスケーリングの仕組み ― サーバーが自動で増減する技術
負荷に合わせてサーバーを増減
オートスケーリングってよく聞くけど、何がそんなにすごいの?
必要なときだけ増えて、いらなくなったら減るってこと?お財布にも優しいね!
じゃあ実際にはどうやって『今、増やすべきだ』って判断してるの?
CPU使用率以外にも見るものがあるんだ?
AWSだとどういう仕組みになってるの?
Kubernetesの場合はどうなるの?
増やしたり減らしたりを繰り返してバタバタしないの?
自動化しても、システム全体を見ないといけないんだね。ほかに落とし穴はある?
セールの混雑を、レジの応援で考える
お店の行列が長くなったら応援を呼び、落ち着いたら人数を戻す。それに似た考え方で、サーバーやPodの数を調整します。ただし応援が持ち場に着くまで時間がかかるように、新しいサーバーも起動して準備が整うまで待つ必要があります。
ここで考えたいのは「行列の何を測るか」です。注文を待つ仕事の数ならキューの滞留、Webの受付なら1台当たりのリクエスト数など、処理能力と結びつく指標を選びます。単にアクセス総数が増えたというだけで、同じ設定をどのアプリにも当てはめるわけではありません。
図を読んだら、①増減の判断材料、②起動までの時間、③増やせる上限、の3点を見つけてみましょう。その後にアプリの保存先であるDBも余裕があるかを確認します。次はスケールアウトで台数を増やす考え方を整理し、KubernetesとDocker Composeの比較へ進めます。