Auto Scaling は、定義したポリシーに基づいて計算リソース (インスタンス) を自動的に調整します。これにより、アプリケーションのトラフィックの変動に対応し、リソース使用率を向上させ、コストを削減できます。
Auto Scaling を使用する理由
ビジネス需要が増加すると、Auto Scaling は指定されたタイプのインスタンス (Elastic Compute Service (ECS) インスタンスや Elastic Container Instance (ECI) インスタンスなど) を自動的に追加し、十分な計算能力を確保します。需要が減少すると、インスタンスを自動的に削除してコストを節約します。
Auto Scaling には、次のメリットがあります:
メリット | 説明 |
自動化 |
|
コスト削減 | リソースを手動で調整したり、キャパシティを事前にプロビジョニングしたり、アイドル状態のリソースを迅速に解放することを心配する必要はもうありません。Auto Scaling は適切なタイミングでスケーリングタスクを実行し、総所有コストを削減します。 Auto Scaling は、デフォルトで関連するスケーリングメトリック (または予想インスタンス数) を 1 分に 1 回監視します。メトリックが指定したしきい値と一致しない場合、スケーリングアクティビティが直ちにトリガーされます。Auto Scaling の応答時間は、次の要因によって異なります:
|
高可用性 | ECS または ECI インスタンスの健全性を心配する必要はもうありません。Auto Scaling はヘルスチェック機能を提供し、異常なインスタンス (実行状態にないインスタンス) を自動的に新しいインスタンスに置き換えて可用性を維持します。 |
柔軟性とインテリジェンス |
|
容易な監査 | 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 のワークフローを次の図に示します。
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 サンプルコードの動的な生成を行うためのサービスです。
関連サービス
サービス | 説明 |
サービスとしてのインフラストラクチャ (IaaS) のクラウドコンピューティングサービスで、オンデマンドで計算リソースをプロビジョニングして使用でき、Auto Scaling を有効にします。 | |
アジャイルで安全なサーバーレスコンテナサービスです。ECI をコンテナランタイム環境として使用することで、アプリケーションの弾力性とセキュリティが向上し、使用コストと O&M コストが削減されます。 | |
安全で、安定し、信頼性が高く、費用対効果が高く、スケーラブルなオンラインデータベースサービスで、データベース操作を簡素化します。 | |
受信トラフィックをオンデマンドで分散して単一障害点を排除し、アプリケーションの可用性を向上させるサービスです。ALB、NLB、CLB の 3 つのプロダクトタイプが含まれます。 | |
Alibaba Cloud リソースとインターネットアプリケーションを監視するためのサービスです。Alibaba Cloud 上のリソース使用量とビジネス状況を理解するのに役立ち、障害に迅速に対処して業務継続性を確保できます。 | |
効率的で、信頼性が高く、安全で、スケーラブルな軽量メッセージキューサービスです。分散アプリケーションコンポーネント間のデータとメッセージの交換を可能にすることで、開発者が疎結合システムを構築するのを支援します。 |