【すけーりんぐ】

スケーリング とは?

最終更新:
💡 需要に合わせてシステムを「伸び縮み」させる技術

システムの処理能力を需要に応じて拡大・縮小すること。アクセスが増えたときにサーバーの台数を増やしたり、1台の性能を上げたりする。

📌 このページのポイント
スケーリングの種類 スケールアップ(垂直) CPU: 2 RAM: 4G CPU: 16 RAM: 64G SSD: 1TB ✓ メリット 構成がシンプル・管理が容易 ✗ デメリット 性能に限界あり・単一障害点 スケールアウト(水平) ロード バランサー サーバ1 サーバ2 サーバ3 追加... ✓ メリット 柔軟に拡張可能・耐障害性が高い ✗ デメリット 構成が複雑・データ同期が必要 スケールアップ=1台を強化 / スケールアウト=台数を増やして分散 用途に応じてスケーリング方式を選択する
スケールアップとスケールアウトの比較
ひよこ ひよこ
スケーリングって何のこと?
ペンギン先生 ペンギン先生
システムの処理能力を需要に応じて大きくしたり小さくしたりすることだよ。お店に例えると、お客さんが増えたらレジを増やして、空いてきたら減らすようなイメージだね
ひよこ ひよこ
サーバーを増やすのと性能を上げるのは違うの?
ペンギン先生 ペンギン先生
いい質問!2つの方法があるんだ。サーバーの台数を増やす「スケールアウト(水平スケーリング)」と、1台のCPUやメモリを強化する「スケールアップ(垂直スケーリング)」だよ。レストランで例えると、スケールアウトは「店舗を増やす」、スケールアップは「1つの店を改装して広くする」イメージだね
ひよこ ひよこ
どっちがいいの?
ペンギン先生 ペンギン先生
場面しだいだね。スケールアップは仕組みを変えずに済むけど、1台の性能には上限があるし、その1台が止まると全体が止まりやすい。スケールアウトは1台が壊れても他が動き続けられるけど、どのサーバーでも同じ処理ができるように、セッションなどの状態をサーバーの外に置く設計が必要なんだ。データベースのように状態を持つ部分は、台数を増やすのが難しいこともあるよ
ひよこ ひよこ
クラウドだと自動でスケーリングしてくれるって本当?
ペンギン先生 ペンギン先生
本当だよ。「オートスケーリング」を設定すると、CPUの使用率などの指標に応じてサーバーを追加したり減らしたりしてくれる。ただし、最小・最大の台数や増減の条件を決めるのは利用者なんだ。それに新しいサーバーは起動して準備が整うまで処理に加われないから、急なアクセス増の立ち上がりには間に合わないこともある。セールのように予定がわかっているなら、前もって台数を増やしておくのが安心だね
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「スケーリング」って出てきたら「アクセス量に合わせてシステムの処理能力を調節すること」と思えればOK!
📖 おまけ:英語の意味
「scaling」 = 拡大縮小する・規模を変える
💬 scale(規模・目盛り)の動名詞だよ。システムの規模を状況に合わせて変えるイメージだね

参考資料

← 用語集にもどる