【おーとすけーりんぐ】

オートスケーリング とは?

最終更新:
💡 混雑に合わせて自動で増減する「伸び縮みする店員数」
📌 このページのポイント
オートスケーリング 低負荷時 CPU使用率: 25% サーバー 1 サーバー 2 モニタリング 閾値監視 CPU > 70%で増加 スケールアウト ! スケールイン 高負荷時 CPU使用率: 85% S1 S2 S3 S4 新規 S5 新規 既存サーバー 追加サーバー
オートスケーリングの仕組み
ひよこ ひよこ
オートスケーリングって何のためにあるの?
ペンギン先生 ペンギン先生
ECサイトのセール期間を想像してみて。普段は1台のサーバーで足りるのに、タイムセールの瞬間だけ何十倍ものアクセスが来る。そのために常時10台のサーバーを動かし続けるのはもったいない。オートスケーリングは混雑時だけ自動で台数を増やしてくれるんだよ。
ひよこ ひよこ
ペンギン先生 ペンギン先生
スケールアウトサーバーの「台数」を増やすこと。スケールアップサーバーCPU・メモリなどの「スペック」を上げること。クラウドではスケールアウト(台数増加)の方が主流で、オートスケーリングといえば大体これを指すよ。
ひよこ ひよこ
スケールアウトするとき、増えたサーバーにどうやってアクセスが振り分けられるの?
ペンギン先生 ペンギン先生
ロードバランサーが間に入って自動で振り分けてくれるんだ。新しいサーバーが起動したらロードバランサーにそのIPを登録して、そこからリクエストが流れてくる仕組みになっている。
ひよこ ひよこ
オートスケーリングでサーバーが増えるとき、増えたサーバーが「完全に準備できる前」にトラフィックが来てしまうことってない?
ペンギン先生 ペンギン先生
これはオートスケーリングの設計で本当に重要なポイントで、「ウォームアップ期間」の問題なんだ。サーバーが起動してOSが立ち上がっても、アプリのJVMやキャッシュの準備が整うまで数十秒かかることがある。その状態でリクエストが来ると遅延やエラーになる。AWSのTarget Tracking Scaling Policyには「インスタンスのウォームアップ秒数」を設定できて、その間は新しいインスタンスをスケール計算に含めない仕組みがある。ヘルスチェックのパスと、アプリの「実際に使える状態」は別物というのを意識しないといけないんだよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「オートスケーリング」って出てきたら「負荷に合わせてサーバーを自動で増やしたり減らしたりする仕組みのことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「Auto Scaling」 = 自動でスケール(規模調整)する
💬 Scaleは「規模」の意味。Auto(自動)でScaling(規模調整)する、という直訳通りの名前だよ
← 用語集にもどる