スケールイン

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

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

スケールイン(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のセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

クラウドネイティブ技術とアジャイル手法を駆使し、市場投入スピード(Time-to-Market)を最大化。「進化し続けるアプリケーション」を開発します。初期リリースを最速化し、拡張性と柔軟性を備えた、ビジネスの成長に追従できるアプリケーションを開発します。

DX・AI戦略支援

「何から手を付けるべきか分からない」「AIを導入したいが、費用対効果が見えない」といった経営課題に対し、技術とビジネスの両面から解を導き出します。 絵に描いた餅で終わる戦略ではなく、エンジニアリングの実装能力に基づいた、「実現可能で、勝てる技術戦略」を策定します。


リファクタリング・リアーキテクチャ

「システムが古くて改修できない」「障害が頻発する」といった技術的負債を解消します。既存資産の徹底的な診断に基づき、コードのクリーン化(リファクタリング)や、クラウドへの移行(リアーキテクチャ)を行い、システムの寿命を延ばしコストを最適化します。