スケールインとは

スケールインは、システムの処理能力やリソースが過剰であると判断された場合に、稼働しているサーバーやコンピュートリソースの台数を削減することを指す概念であり、需要が減少した際や、リソースの最適化を図る際に、過剰なインフラコストを削減し、システムの運用効率を改善するための、水平スケーリング(スケールアウト)と対になるリソース管理の手法のことです。

スケールインの概要と水平スケーリング

スケールイン(Scale In)は、クラウドコンピューティングや分散システムにおいて、負荷の変動に柔軟に対応するための水平スケーリング(Scale Out and Scale In)戦略の一部です。

1. スケーリングの種類

スケーリングの種類概要目的
垂直スケーリング(Scale Up/Down)サーバー単体の性能(CPUコア数、メモリ容量など)を増減させる。処理能力の増強や削減。
水平スケーリング(Scale Out/In)サーバーやインスタンスの台数を増減させる。高い負荷分散能力と柔軟なリソース管理。
スケーリングの種類

2. スケールインの役割

スケールインは、水平スケーリング戦略におけるリソースの縮小を担います。

  • 前提: システムが一時的に高い負荷に対応するために、スケールアウト(サーバー台数の増加)を実施した後、その負荷が解消された場合に実施されます。
  • 役割: 単に台数を減らすだけでなく、将来のピークに備えて必要な最低限のキャパシティは維持しつつ、過剰なリソースを解放することで、クラウドサービスの利用料金を最適化することが主な目的です。
  • 対義語: スケールアウト(Scale Out)は、処理能力を増強するために台数を増やす操作です。スケールインは、その逆の操作にあたります。

スケールインの実行と技術的な考慮事項

スケールインは、システムが現在処理中のトランザクションやデータを失うことなく、安全かつ確実に実行される必要があります。

1. 実行のトリガー

スケールインの判断は、主に以下の監視メトリクスに基づいて自動的に行われます(オートスケーリング)。

  • CPU使用率: 稼働中の全サーバーの平均CPU使用率が、設定されたしきい値(例:20%)を下回り、その状態が一定時間継続した場合。
  • リクエスト数: システムへの処理リクエスト数が設定値を下回り、リソースが過剰になっている場合。
  • ネットワークI/O: データ転送量が減少し、サーバーがアイドル状態に近づいている場合。

2. 安全な削除のための手順

スケールイン時にサーバーを安全に停止・削除するためには、以下の手順が不可欠です。

  1. 接続のドレイン(Drain): 削除対象のサーバーを、ロードバランサーなどのトラフィック振り分け機構から切り離します。これにより、新規のユーザーリクエストがそのサーバーにルーティングされなくなります。
  2. 既存セッションの終了待ち: サーバーが現在処理中のリクエストやセッションが完了するのを待ちます。タイムアウトを設定し、規定時間を超えても処理が終了しない場合は、強制終了する設定も行われます。
  3. データの一貫性確保: サーバーが永続的なデータを保持している場合(ステートフルな構成の場合)、そのデータが他のサーバーに適切に引き継がれたり、共有ストレージに書き込まれたりしていることを確認します。
  4. サーバーの削除: 処理を完全に停止した後、サーバーインスタンスを終了し、クラウドプロバイダへの課金を停止します。

3. ステートフルなシステムにおける課題

サーバーがセッション情報や一時的なデータをローカルに保持しているステートフルなシステム構成の場合、スケールインは複雑になります。データを失わないように、セッション情報を共有データベースやキーバリューストアなどの外部ストアに移行する必要があります(ステートレス化)。

最新のクラウドインフラストラクチャでは、このスケールイン/アウトのプロセスをオートスケーリンググループ(Auto Scaling Group)などのサービスが自動で管理し、システムの効率性と弾力性を高めています。

関連用語

スケーリング | 今更聞けないIT用語集
スケールアウト | 今更聞けないIT用語集
クラウドソリューション

お問い合わせ

システム開発・アプリ開発に関するご相談がございましたら、APPSWINGBYまでお気軽にご連絡ください。

APPSWINGBYの

ソリューション

APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。

iOS/Androidアプリ開発

既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。


リファクタリング

他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。