すべてのプロダクト
Search
ドキュメントセンター

Auto Scaling:Auto Scaling とは

最終更新日:Dec 31, 2025

Auto Scaling は、定義したポリシーに基づいて計算リソース (インスタンス) を自動的に調整します。これにより、アプリケーションのトラフィックの変動に対応し、リソース使用率を向上させ、コストを削減できます。

Auto Scaling を使用する理由

ビジネス需要が増加すると、Auto Scaling は指定されたタイプのインスタンス (Elastic Compute Service (ECS) インスタンスや Elastic Container Instance (ECI) インスタンスなど) を自動的に追加し、十分な計算能力を確保します。需要が減少すると、インスタンスを自動的に削除してコストを節約します。

Auto Scaling には、次のメリットがあります:

メリット

説明

自動化

  • スケールアウト:指定されたタイプのインスタンスを自動的に作成し、ロードバランサーに追加します。また、ApsaraDB RDS インスタンスにも自動的に関連付けます。

  • スケールイン:指定されたタイプのインスタンスを自動的に削除し、ロードバランサーからデタッチします。また、RDS インスタンスからも自動的に関連付けを解除します。

コスト削減

リソースを手動で調整したり、キャパシティを事前にプロビジョニングしたり、アイドル状態のリソースを迅速に解放することを心配する必要はもうありません。Auto Scaling は適切なタイミングでスケーリングタスクを実行し、総所有コストを削減します。

Auto Scaling は、デフォルトで関連するスケーリングメトリック (または予想インスタンス数) を 1 分に 1 回監視します。メトリックが指定したしきい値と一致しない場合、スケーリングアクティビティが直ちにトリガーされます。Auto Scaling の応答時間は、次の要因によって異なります:

  • スケールされたインスタンスの起動時間。これは、インスタンスが作成されてからオペレーティングシステムが準備完了になるまでの時間です。

  • スケールされるインスタンスの数。最大 1,000 インスタンスの場合、スケーリングアクティビティは通常 1 分以内に完了します。

高可用性

ECS または ECI インスタンスの健全性を心配する必要はもうありません。Auto Scaling はヘルスチェック機能を提供し、異常なインスタンス (実行状態にないインスタンス) を自動的に新しいインスタンスに置き換えて可用性を維持します。

柔軟性とインテリジェンス

  • インスタンスタイプ (ECS または ECI) の指定をサポートします。

  • 多様なシナリオに対応するため、複数のスケーリングモードをサポートします。サポートされるモードには、固定数、ヘルス、定期、動的、カスタムモードがあります。動的モードは、API を介した外部監視システムとの統合をサポートします。

  • インスタンス作成の成功率を高めるための柔軟なインスタンスのテンプレートをサポートします。

  • さまざまなビジネスシナリオに対応する多様なスケーリングポリシーをサポートします。

容易な監査

Auto Scaling はすべてのスケーリングアクティビティを記録し、スケーリンググループの監視を提供して、問題の迅速な診断を支援します。

詳細については、「メリット」をご参照ください。

機能

Auto Scaling は ECS または ECI インスタンスの数の増減のみをサポートします。CPU、メモリ、帯域幅など、個々のインスタンスの構成変更はサポートしていません。これらの構成を調整するには、CloudOps Orchestration Service (OOS) を使用できます。詳細については、「OOS とは」をご参照ください。

Auto Scaling は、ビジネスニーズに基づいて ECS または ECI インスタンスを自動的に作成または削除できます。次の主要コンポーネントを構成する必要があります。

機能

説明

スケーリンググループ

スケーリンググループには、同様のビジネスシナリオで使用するために設計された同一のインスタンスが含まれます。スケーリンググループを構成して、計算能力のためのインスタンスタイプを定義できます。さらに、インスタンス構成情報ソース、最小および最大インスタンス数、関連する Classic Load Balancer (CLB) または Application Load Balancer (ALB) サーバーグループを指定できます。複数のアプリケーションシナリオがある場合は、複数のスケーリンググループを作成できます。Auto Scaling は、構成に基づいて各スケーリンググループの計算容量を個別に調整します。

インスタンス構成情報ソース

ECS または ECI インスタンスの作成に使用されるテンプレートを管理します。スケールアウトイベント中、Auto Scaling は ECS タイプのテンプレートを使用して ECS インスタンスを作成し、ECI タイプのテンプレートを使用して ECI インスタンスを作成します。

スケーリングルール

1 つの ECS または ECI インスタンスの追加など、スケーリングアクティビティをトリガーします。スケーリングルールは手動で実行することも、監視タスクや定期タスクを使用してトリガーすることもできます。また、スケーリングルールを使用して、スケーリンググループの境界値 (最大および最小インスタンス数) をインテリジェントに設定することもできます。

イベントトリガータスク

CloudMonitor を使用して、スケーリンググループのさまざまなメトリックをリアルタイムで監視します。メトリックが構成されたしきい値を満たすと、Auto Scaling は対応するスケーリングルールを実行します。

定期タスク

指定した時間にスケーリングルールを実行します。

上記のコンポーネントの中で、Auto Scaling が機能するためには、スケーリンググループとそのインスタンス構成情報ソースを構成して有効にする必要があります。他のコンポーネントは必要に応じて構成できます。Auto Scaling のワークフローを次の図に示します。

image

Auto Scaling は、さまざまなシナリオでのニーズを満たすために、他の機能も提供します:

  • スケーリングアクティビティが成功、失敗、または拒否された場合、Auto Scaling は次の方法で通知を送信することをサポートします。

    ルール

    説明

    通常通知ルール

    SMS、内部メッセージ、および E メールによる通知の送信をサポートしています。

    高度な通知ルール

    CloudMonitor システムイベントまたは Simple Message Queue (SMQ) (旧称: MNS) にメッセージを送信できます。SMQ には、Topic とキューという 2 つのサービスモデルがあります。SMQ は有料サービスです。料金の詳細については、「課金」をご参照ください。

  • スケーリンググループ内のインスタンスを管理する場合、Auto Scaling は次の機能もサポートします。

    機能

    説明

    ライフサイクルフック

    スケーリンググループ内の ECS または ECI インスタンスのライフサイクルを管理するためのツールです。Auto Scaling がスケールアウトまたはスケールインアクティビティを自動的に実行すると、ライフサイクルフックをトリガーして、影響を受けるインスタンスを待機状態にすることができます。これにより、フックがタイムアウトしてアクティビティが続行される前に、インスタンスに対して操作を実行するためのカスタム期間が与えられます。

    手動インスタンス管理

    インスタンスを手動でスケーリンググループに追加したり、スケーリンググループから削除したりできます。インスタンスは、ECS インスタンス、ECI インスタンス、またはマネージドインスタンスにすることができます。

    ローリングアップデート

    ローリングアップデートは、ECS タイプのスケーリンググループで利用できます。この機能を使用して、ECS インスタンスの構成をバッチで更新できます。スケーリンググループ内の In Service 状態のすべての ECS インスタンスで、イメージの更新、スクリプトの実行、または OOS パッケージのインストールができます。

利用シーン

Auto Scaling は、ビジネスボリュームが変動するシナリオに最適です:

  • ビジネスボリュームの予測可能な変化に対して

    たとえば、ビデオストリーミング会社は、人気番組が放映される毎週金曜日の午後 8 時にトラフィックが急増します。毎週その時間に 1 つの ECS または ECI インスタンスを自動的に追加する定期タスクを作成できます。

  • ビジネスボリュームの予測不可能な変化に対して

    たとえば、ライブストリーミング会社のトラフィックは予測が困難です。CPU 使用率が 60% を超えるたびに 1 つの ECS または ECI インスタンスを自動的に追加する監視タスクを作成できます。

詳細については、「利用シーン」をご参照ください。

仕組み

Auto Scaling は、構成されたスケーリングモードに基づいてスケーリングアクティビティを実行し、スケーリンググループにインスタンスを追加または削除します。詳細については、「動作原理」をご参照ください。

課金

Auto Scaling 自体は無料です。ただし、ECS インスタンス、ECI インスタンス、RDS インスタンス、Server Load Balancer (SLB) サービス (CLB インスタンス、ALB サーバーグループ、Network Load Balancer (NLB) サーバーグループなど)、および SMQ など、使用するリソースに対して課金されます。詳細については、「課金の概要」をご参照ください。

Auto Scaling の使用方法

  • Auto Scaling コンソール:インタラクティブな操作を行うための Web ベースのインターフェイスです。

  • API:GET および POST リクエストを持つ RPC スタイルの API をサポートします。API の詳細については、「機能別の操作リスト」をご参照ください。以下は、Auto Scaling API を呼び出すための一般的な開発者ツールです:

    • Alibaba Cloud CLI:Alibaba Cloud API 上に構築された、柔軟で拡張可能な管理ツール。CLI を使用して、ネイティブの Alibaba Cloud API をカプセル化し、その機能を拡張できます。

    • OpenAPI Explorer:インターフェイスのクイック検索、オンラインでの API 呼び出し、SDK サンプルコードの動的な生成を行うためのサービスです。

関連サービス

サービス

説明

Elastic Compute Service (ECS)

サービスとしてのインフラストラクチャ (IaaS) のクラウドコンピューティングサービスで、オンデマンドで計算リソースをプロビジョニングして使用でき、Auto Scaling を有効にします。

Elastic Container Instance

アジャイルで安全なサーバーレスコンテナサービスです。ECI をコンテナランタイム環境として使用することで、アプリケーションの弾力性とセキュリティが向上し、使用コストと O&M コストが削減されます。

ApsaraDB RDS

安全で、安定し、信頼性が高く、費用対効果が高く、スケーラブルなオンラインデータベースサービスで、データベース操作を簡素化します。

Server Load Balancer (SLB)

受信トラフィックをオンデマンドで分散して単一障害点を排除し、アプリケーションの可用性を向上させるサービスです。ALB、NLB、CLB の 3 つのプロダクトタイプが含まれます。

CloudMonitor

Alibaba Cloud リソースとインターネットアプリケーションを監視するためのサービスです。Alibaba Cloud 上のリソース使用量とビジネス状況を理解するのに役立ち、障害に迅速に対処して業務継続性を確保できます。

Simple Message Queue (SMQ、旧 MNS)

効率的で、信頼性が高く、安全で、スケーラブルな軽量メッセージキューサービスです。分散アプリケーションコンポーネント間のデータとメッセージの交換を可能にすることで、開発者が疎結合システムを構築するのを支援します。