クラウドコンピュート

オートスケーリング おーとすけーりんぐ

オートスケーリング自動スケールスケールアウトスケールイン負荷対応コスト最適化
オートスケーリングについて教えて

簡単に言うとこんな感じ!

負荷に応じてサーバー台数を自動で増減する仕組み。アクセスが増えたら自動で台数を増やし、静かになったら減らしてコストも節約。クラウドならではの「必要なときだけ大きくなる」魔法みたいな機能だよ。


オートスケーリングとは

オートスケーリング(Auto Scaling)とは、システムへの負荷(トラフィック・CPU使用率など)に応じて、仮想マシンやコンテナの台数を自動的に増減させる仕組みです。AWSのAuto Scaling Groups、AzureのVirtual Machine Scale Sets、GCPのManaged Instance Groupsが代表的なサービスです。

負荷が増加した際にインスタンスを追加する「スケールアウト(Scale Out)」と、負荷が落ち着いた後にインスタンスを削除する「スケールイン(Scale In)」を自動化します。これにより、手動でのサーバー増設なしに急なアクセス増加に対応でき、低負荷時はコストを抑えられます。

オートスケーリングはクラウドの従量課金モデルと組み合わせることで最大の効果を発揮します。ピーク時だけ多くのサーバーを使い、それ以外は最小構成にすることで、オンプレミスの「最大負荷に合わせてハードウェアを購入する」無駄を排除できます。


スケーリングの種類

種類説明用途
水平スケーリング(スケールアウト/イン)インスタンス台数を増減Webサーバー、API
垂直スケーリング(スケールアップ/ダウン)インスタンスのサイズを変更DB、単一インスタンス

スケーリングポリシーの種類

ポリシートリガー説明
ターゲット追跡CPU使用率70%維持など目標値に収まるよう自動調整
ステップスケーリング閾値段階CPU80%超で+2台、90%超で+4台
スケジュールスケーリング時刻月曜朝8時に最小台数を2→5に増加
予測スケーリング過去データのMLによる予測翌日の9時アクセス増加を事前に準備

歴史と背景

オートスケーリングはクラウド以前にも概念は存在しましたが、インフラの調達に時間がかかるオンプレミスでは実用困難でした。AWSが2009年にAuto Scalingサービスをリリースし、数分以内にインスタンスを自動追加できる環境が整いました。

2013年以降はコンテナの普及に伴いKubernetes Horizontal Pod Autoscaler(HPA)のようなコンテナレベルのオートスケーリングも普及しました。2019年にはAWSが機械学習を使ったPredictive Scalingを追加し、「負荷が来てから反応する」から「来る前に準備する」プロアクティブなスケーリングが可能になっています。


オートスケーリングの動作フロー

オートスケーリングの動作イメージ 時間 インスタンス数 上限 下限 スケールアウト (インスタンス追加) スケールイン (インスタンス削除) 最小台数維持 最小台数維持

関連する規格・RFC

オートスケーリングに特定の規格はありませんが、以下が参考になります。

資料内容
Kubernetes HPA仕様コンテナレベルの水平スケーリング標準
KEDA(K8s Event-driven Autoscaling)イベント駆動型のKubernetesオートスケーリング

関連用語