このトピックでは、Auto Scaling を使用して、柔軟性と可用性の高いアプリケーションを構築する方法について説明します。

Auto Scaling を使用すると、アプリケーションで以下の機能を利用できます。
  • 高い柔軟性:Auto Scaling は、手作業による介入を必要とせず、設定に基づいて自動的に ECS インスタンスを作成およびリリースします。
  • 高い可用性:Auto Scaling は、ECS インスタンスのチェックを自動的に実行し、停止したインスタンスをリリースし、インスタンスを作成します。
下図に、Auto Scaling を使用した場合の一般的なプロセスを示します。autoscaling-process
以下のセクションで、手順を説明します。
  1. スケーリンググループの作成.

    スケーリンググループは、Auto scaling を使用してビジネスがデプロイされている ECS インスタンスを管理する際の基本単位です。 スケーリンググループは、同じシナリオに適用される ECS インスタンスを管理するために使用され、複数の SLB インスタンスと ApsaraDB RDS インスタンスに関連付けることができます。 スケーリンググループが SLB および ApsaraDB RDS インスタンスに関連付けられると、スケーリンググループに追加された ECS インスタンスは、関連付けられた SLB インスタンスのバックエンドサーバーとして自動的に追加されます。 これらのインスタンスの内部 IP アドレスは、関連する ApsaraDB RDS インスタンスのホワイトリストに自動的に追加されます。

  2. スケーリング設定の作成.
    スケーリング設定は、Auto Scaling が ECS インスタンスを自動的に作成するために使用するテンプレートです。 1 つのスケーリンググループに対して、複数のスケーリング設定を作成できます。 一度に適用されるスケーリング設定は 1 つだけです。
    スケーリンググループを作成する際に起動テンプレートまたは既存のインスタンスを設定元として使用する場合、手動でスケーリング設定を作成する必要なく、スケーリンググループを直接有効化できます。
  3. スケーリンググループの有効化

    初めてスケーリング設定を作成すると、スケーリンググループを有効化するよう求められます。 [スケーリンググループ] ページでスケーリンググループを有効にすることもできます。

  4. スケーリングルールの作成.

    スケーリングルールは、スケーリングする ECS インスタンスの数などの情報を指定したり、スケーリンググループの境界値をインテリジェントに設定したりするために使用されます。 ビジネスニーズに基づいて、対応するタイプのスケーリングルールを作成できます。

  5. スケーリングタスクの作成
    スケーリングルールの作成後、スケーリングタスクを使用してスケーリングルールを自動的に実行できます。 Auto Scaling では、以下の種類のスケーリングタスクがサポートされます。
    • スケジュール済みタスク

      ビジネス負荷が変動する時間を予測できる場合、スケジュール済みタスクを使用して、指定した時刻に ECS インスタンスを自動的にスケーリングできます。 スケジュール済みタスクの繰り返しを設定して、自動スケーリングの定期実行要件を満足できます。

    • イベントトリガータスク

      実行中のメトリクスに基づいて ECS インスタンスを自動的にスケーリングする場合は、イベントトリガータスクを使用できます。 イベントトリガータスクは、Cloud Monitor からのモニタリングメトリクスに基づいて、スケーリンググループ内の ECS インスタンスを動的に管理します。