トラフィックスパイクが発生したときにインスタンスを追加し、需要が減少したときにインスタンスを削除します。
異常なインスタンスを自動的に置き換えて、可用性を維持します。
過剰プロビジョニングをなくすことで、総所有コスト (TCO) を削減します。
Auto Scaling は、Elastic Compute Service (ECS) インスタンスと Elastic Container Instance (ECI) インスタンスをサポートしています。
Auto Scaling はインスタンス数のみをスケーリングします。CPU、メモリ、帯域幅などのインスタンスの仕様を変更するには、CloudOps Orchestration Service (OOS) を使用します。
Auto Scaling (別名 Elastic Scaling Service (ESS)) は、定義したポリシーに基づいてコンピューティングインスタンスの数を自動的に調整することで、変動するサービストラフィックの管理を支援します。これにより、リソース使用率が向上し、コストが削減されます。
Auto Scaling を使用する理由
ビジネス需要が増加すると、Auto Scaling は指定されたタイプのインスタンスを追加してキャパシティを維持します。需要が減少すると、インスタンスを削除してコストを削減します。
| メリット | 説明 |
|---|---|
| 自動化 | スケールアウト:インスタンスを作成してロードバランサーに登録し、ApsaraDB RDS インスタンスに関連付けます。スケールイン:インスタンスを削除してロードバランサーからデタッチし、RDS インスタンスとの関連付けを解除します。 |
| コスト削減 | リソースの手動調整、キャパシティの事前プロビジョニング、アイドル状態のインスタンスの追跡が不要になります。Auto Scaling は、デフォルトで 1 分に 1 回メトリックをチェックします。メトリックが指定したしきい値と一致しない場合、スケーリングアクティビティが直ちに開始されます。Auto Scaling の応答時間は、スケーリングされるインスタンスの起動時間 (インスタンスが作成されてからオペレーティングシステムが準備完了になるまでの時間) と、スケーリングされるインスタンス数によって決まります。最大 1,000 インスタンスのグループの場合、スケーリングアクティビティは通常 1 分以内に完了します。 |
| 高可用性 | ECS および ECI インスタンスのヘルス状態を監視します。実行中でないインスタンスを自動的に置き換えて、目的のキャパシティを維持します。 |
| 柔軟性 | 固定数、ヘルスチェック、定期、動的、カスタムの 5 つのスケーリングモードをサポートし、多様なワークロードに対応します。動的モードは、API を介した外部モニタリングシステムとの連携をサポートします。柔軟なインスタンステンプレートをサポートし、インスタンス作成の成功率を高めます。 |
| 監査 | すべてのスケーリングアクティビティを記録し、スケーリンググループのモニタリングを提供することで、問題の迅速な診断を支援します。 |
詳細については、「メリット」をご参照ください。
特徴
Auto Scaling は、設定に基づいて ECS または ECI インスタンスの数をスケーリングします。個々のインスタンスの設定 (CPU、メモリ、帯域幅) は変更しません。インスタンスの仕様を調整するには、OOS を使用します。
Auto Scaling を使用するには、次のコンポーネントを設定します。スケーリンググループとインスタンス構成情報ソースは必須ですが、他のすべてのコンポーネントはオプションです。
| コンポーネント | 説明 |
|---|---|
| スケーリンググループ | 類似したビジネスシナリオで使用される同一インスタンスのコンテナです。インスタンスタイプ、最小および最大インスタンス数、関連付けられたクラシックロードバランサー (CLB) または Application Load Balancer (ALB) のサーバーグループを定義します。複数のアプリケーションシナリオに対して、複数のスケーリンググループを作成します。 |
| インスタンス構成情報ソース | Auto Scaling がスケールアウトイベント中にインスタンスを作成するために使用するテンプレートです。ECS タイプのテンプレートは ECS インスタンスを作成し、ECI タイプのテンプレートは ECI インスタンスを作成します。 |
| スケーリングルール | ECS または ECI インスタンスを 1 つ追加するなど、スケーリングアクションを定義します。スケーリングルールは手動で実行するか、監視タスクまたは定期タスクからトリガーします。スケーリングルールは、スケーリンググループの最小および最大インスタンス数を動的に調整することもできます。 |
| イベントトリガー型タスク | CloudMonitor を使用して、スケーリンググループのメトリックをリアルタイムで監視します。メトリックが設定されたしきい値を満たすと、Auto Scaling は対応するスケーリングルールを実行します。 |
| 定期タスク | 指定した時刻にスケーリングルールを実行します。 |
次の図は、Auto Scaling のワークフローを示しています。
Auto Scaling は、以下の機能も提供します。
通知
Auto Scaling は、スケーリングアクティビティが成功、失敗、または拒否されたときに通知を送信できます。
| ルール | 説明 |
|---|---|
| 通常通知ルール | SMS、サイト内メッセージ、またはメールで通知を送信します。 |
| 高度な通知ルール | CloudMonitor システムイベントまたは Simple Message Queue (SMQ。旧称:MNS) にメッセージを送信します。SMQ はトピックおよびキューのサービスモデルを採用した有料サービスです。料金の詳細については、「課金の概要も併せてご確認ください。 |
インスタンス管理
| 特徴 | 説明 |
|---|---|
| ライフサイクルフック | スケーリンググループ内の ECS または ECI インスタンスのライフサイクルを管理するためのツールです。Auto Scaling がスケールアウトまたはスケールインアクティビティを実行すると、ライフサイクルフックをトリガーして、影響を受けるインスタンスを保留状態にすることができます。これにより、フックがタイムアウトしてアクティビティが続行される前に、カスタム期間でインスタンスに対する操作を実行できます。 |
| 手動でのインスタンス管理 | ECS インスタンス、ECI インスタンス、またはホストインスタンスを手動で追加または削除します。 |
| ローリングアップデート | ECS タイプのスケーリンググループ内で、ECS インスタンスをバッチで更新します。In Service 状態のインスタンスに適用されます。サポートされている更新には、イメージの置換、スクリプトの実行、OOS パッケージのインストールが含まれます。 |
利用シーン
Auto Scaling は、予測可能および予測不可能なトラフィックの変動の両方に対応します。
予測可能なトラフィックパターン:動画ストリーミングプラットフォームでは、人気番組が放映される毎週金曜日の午後 8 時にトラフィックが急増します。毎週その時刻に ECS または ECI インスタンスを 1 つ追加する定期タスクを作成します。
予測不可能なトラフィックパターン:ライブストリーミングプラットフォームは、トラフィックの予測が困難です。CPU 使用率が 60% を超えるたびに ECS または ECI インスタンスを 1 つ追加する監視タスクを作成します。
詳細については、「利用シーン」をご参照ください。
仕組み
Auto Scaling は、設定されたスケーリングモードに基づいてスケーリングアクティビティを実行し、スケーリンググループ内のインスタンスを追加または削除します。詳細については、「仕組み」をご参照ください。
課金
Auto Scaling 自体は無料です。お支払いいただくのは、Auto Scaling が作成および管理するリソース、たとえば ECS インスタンス、ECI インスタンス、ApsaraDB RDS インスタンス、Server Load Balancer (SLB) サービス (クラシックロードバランサー (CLB) インスタンス、ALB サーバーグループ、または Network Load Balancer (NLB) サーバーグループ)、および SMQ のみです。詳細については、「課金の概要」をご参照ください。
Auto Scaling へのアクセス
コンソール: Auto Scaling コンソール — インタラクティブな管理用の Web インターフェイス。
API: RPC スタイルの API で、GET リクエストおよび POST リクエストをサポートします。詳細については、「機能別操作一覧」をご参照ください。
Alibaba Cloud CLI:Alibaba Cloud サービス全体でスクリプト作成と自動化を行うためのコマンドラインツールです。
OpenAPI Explorer:操作の検索、テスト呼び出しの実行、SDK サンプルコードの生成を行うためのオンラインツールです。
関連サービス
| サービス | 説明 |
|---|---|
| Elastic Compute Service (ECS) | Auto Scaling とともに使用されるオンデマンドのコンピューティングリソースを提供する、サービスとしてのインフラストラクチャ (IaaS) のクラウドコンピューティングサービスです。 |
| Elastic Container Instance | サーバーレスコンテナサービスです。ECI をコンテナランタイムとして使用することで、運用保守のオーバーヘッドを削減し、アプリケーションの伸縮性を向上させます。 |
| ApsaraDB RDS | マネージドリレーショナルデータベースサービスです。Auto Scaling は、スケールアウトおよびスケールイン時に RDS インスタンスの関連付けと関連付けの解除を行います。 |
| Server Load Balancer (SLB) | インスタンス間に受信トラフィックを分散させ、単一障害点を取り除きます。ALB、NLB、CLB が含まれます。Auto Scaling は、スケールアウト時に新しいインスタンスをロードバランサーに登録します。 |
| CloudMonitor | Alibaba Cloud のリソースとインターネットアプリケーションを監視します。監視タスクは、CloudMonitor のメトリックを使用してスケーリングのタイミングを決定します。 |
| Simple Message Queue (SMQ、旧 MNS) | 軽量なメッセージキューサービスです。拡張通知ルールで使用され、スケーリングアクティビティのイベントを受信します。 |