Auto Scaling

ECSの弾力性を最大化する自動拡張サービス

今すぐ購入

Auto Scaling

Auto Scaling は、ユーザーリクエストのボリュームに基づいてコンピューティングリソースを自動的に調整するサービスです。コンピューティングリソースの需要が増加すると、ユーザーリクエストの増加に対応できるよう、Auto Scaling によって自動的に ECS インスタンスが追加されます。ユーザーリクエストが減少すると、自動的にインスタンスが削除されます。

このサービスは、無料でご利用いただけます。課金対象は、追加された ECS リソースの料金のみです。


お客様の声

Alibaba Cloud の Auto Scaling では、複数のスケーリングモードでコンピューティングリソースが動的に調整されるため、大幅にシステムの安定性を改善し、運用コストを抑えることができます。


利点

柔軟性

● インテリジェントなスケジューリングでさまざまな利用用途に対応します。

●さまざまなスケーリングポリシーに基づいて、コンピューティングリソースを自動的に調整します。● さまざまなスケーリングポリシーに基づいて、コンピューティングリソースを自動的に調整します。

● 手動でのスケールインとスケールアウトに対応しているので、リソースを即座に制御することも可能です。

管理の自動化

● ヘルスステータスが自動的に監視されます。

●スケーリングポリシーのトリガー後、ECS リソースの作成またはリリースが自動的に行われます。

●ロードバランサーのバックエンド設定と RDS ホワイトリストへの追加が自動的に行われます。

プロダクトの詳細

Auto Scaling は、ユーザーリクエストのボリュームに基づいてコンピューティングリソースを自動的に調整するための、ビジネスサイクルに統合できる Alibaba Cloud サービスです。Auto Scaling を Server Load Balancer および Cloud Monitor に統合して、中断のないサービスと効率的なメンテナンスを実現することもできます。

弾力性に優れたスケールアウト: ピーク期間には、Auto Scaling によってコンピューティングリソースが自動的にプールに追加されます。

弾力性に優れたスケールイン: ユーザーが縮小をリクエストすると、Auto Scaling によって ECS リソースが自動的にリリースされるため、コストを削減できます。

ヘルスチェック: 異常なインスタンスが検出された場合は、Auto Scaling サービスによって新しいインスタンスに処理を切り替えることができます。


特徴

Auto Scaling

お客様のビジネスニーズに従って、自動的に ECS インスタンスを増減します。

SLB 設定のサポート

AutoScalingによってECS インスタンスが追加または削除される際、Server Load Balancer へのインスタンスのアタッチ・デタッチは自動的に行われます。

RDS ホワイトリスト設定のサポート

ECS インスタンスを追加する際には、インスタンスの IP が RDS インスタンスのホワイトリストに自動的に追加されます。同様に、ECS インスタンスをリリースする際には、インスタンスの IP がホワイトリストから自動的に削除されます。

スケールモード

スケジュール設定モード

スケジュール済みタスクを設定し、決まった時間枠に対して ECS インスタンスの追加または削除を行います。動的モードと組み合わせることもできます。

動的モード

CloudMonitor メトリック (CPU やメモリの利用率など) に基づいて、ECS インスタンスを動的に追加または削除します。

固定モード

最小サイズ設定では、日常業務レベルのアクティビティに必要な最小限の ECS インスタンスを使用できます。

SLB と RDSへの自動設定

ECS インスタンスを追加または削除する際には、インスタンスがServer Load Balancer に自動的にアタッチ・デタッチされます。また、RDS インスタンスのホワイトリストへの追加・削除も自動的に行われます。

注意

Auto Scaling には、次の制約があります。

  • Auto Scaling ECS インスタンスをデプロイするアプリケーションは、ステートレスであり、水平拡張が可能である必要があります。Auto Scaling によって作成された ECS インスタンスを使用して、アプリケーションのステータス (セッションのステータス) や関連するデータ (データベース、ログ) を保存することはできません。これは、Auto Scaling によって自動的に ECS インスタンスが削除されるためです。ステータス情報は、独立した状態管理サーバー、データベース (Apsara DB for RDS)、共有キャッシュサーバー(Apsara DB for Redis)、外部ログサーバーなどに保存して対応する必要があります。

  • 各ユーザーが作成できるのは、限られた数のスケーリンググループ、スケーリング設定、スケーリングルール、スケーリング ECS インスタンス、スケジュール済みタスクのみです。


料金

Auto Scaling は、追加コストなしでご利用いただけます。Auto Scaling によって追加された ECS インスタンスの料金のみ課金されます。詳しくはECSの料金をご覧ください。


顧客事例

Miao Pai (秒拍)

Miao Pai (秒拍) は、中国のアプリ開発元である XuanYixia のプロダクトであり、著名人や若者の間で普及しています。Miao Pai は、さまざまなテーマとカメラを備えたビデオキャプチャアプリです。ユーザーは、独自のショートビデオを作成し、家族や友人と共有できます。

課題

Miao Pai は、シンプルなユーザーモデル、優れたビデオ効果、ソーシャル共有などにより、ますます多くのユーザーを魅了しています。ただし現時点では、ユーザー数の増加に伴い、ピーク時にサービス品質をどのように確保するかという点が深刻な懸案事項になっています。

Auto Scaling の利点

中国市場でクラウドコンピューティング分野をリードする Alibaba Cloud は、Miao Pai の動的拡張に関する問題を Auto Scaling プロダクトで解決しました。Auto Scaling の導入により、Miao Pai ではさまざまなスケーリングポリシーを管理し、トラフィックサイクルに基づいてコンピューティングリソースを自動的に調整できるようになりました。

はじめに

クイックスタートガイド(初級)

このクイックスタートガイドでは、Auto Scaling のシンプルなスケールソリューションを使用することにより、ECS インスタンスを作成し、ECS インスタンスを Server Load Balancer インスタンスに自動的に追加して、インスタンスの IP アドレスを RDS アクセスのホワイトリストに自動的に追加する方法を説明します。

完全な Auto Scaling ソリューションを作成するには、次の 2 ステップを実行する必要があります。

ステップ 1: スケーリング設定を作成する

スケーリンググループは、同じアプリケーションが稼働するECS インスタンスの集合です。スケーリンググループでは、グループ内で稼働するECS インスタンスの最大数と最小数や、関連する Server Load Balancer インスタンス、RDS インスタンスなどを定義します。

操作手順:

1. スケーリンググループの [リージョン] を選択し、[スケーリンググループ名] を入力します。

2. [スケーリングに許可される最大インスタンス数] と [[スケーリングに許可される最小インスタンス数] を 1 に設定します。これにより、全体的なスケーリングソリューションの作成後、1 つの ECS インスタンスが自動的に作成されます。

3. [Server Load Balancer] インスタンスを選択します。指定された Server Load Balancer インスタンスに対して設定されたすべてのリスナーポートについて、ヘルスチェックを有効にしておく必要があります。

4. [データベース] インスタンスを選択して、[RDS データベースの選択] ダイアログボックスを表示します ([RDS データベースの選択] の図を参照してください)。

5. 必要な選択をすべて終えてから、[OK] をクリックします。

ステップ 2: スケーリング設定を作成する

スケーリング設定では、Auto Scaling に使用される ECS インスタンスの設定情報を定義します。

操作手順:

1. 必要な ECS テンプレートを選択します。

2. スケーリング設定の名前を入力します。

3. セキュリティグループを選択します。

4. 必要な帯域幅を選択します。

5. [次へ] をクリックして、確認に進みます。

ステップ 3: 設定の詳細ページを確認する

詳細ページにスケーリング設定の詳細が表示されます。

クイックスタートガイド(中級)

この例では、時刻指定、動的、カスタム、および固定モードのスケーリングソリューションを含めて、全体的なスケーリングソリューションの作成と設定を行う方法を説明します。完全な Auto Scaling ソリューションを作成するには、次の 5 ステップを実行する必要があります。

ステップ 1: スケーリンググループを作成する

基本的なスケーリンググループ情報として、[リージョン]を選択し、[スケーリンググループ名]、[スケーリングに許可される最大インスタンス数]、および [スケーリングに許可される最小インスタンス数] を入力します。Server Load Balancer や RDS を使用するには、[Server Load Balancer] インスタンスや [データベース] インスタンスを選択します。

ステップ 2: スケーリング設定を作成する

スケーリング設定では、Auto Scaling に使用される ECS インスタンスの設定情報を定義します。ECS インスタンスをスケーリンググループに自動的に追加するとき、Auto Scaling はスケーリング設定に基づいて ECS インスタンスを作成します。

ステップ 3: 既存の ECS インスタンスを追加する

スケーリンググループが有効になった後、オートスケーリングを有効する前に、既存のECSインスタンスをグループに追加できます。

ステップ 4: スケジュール済みタスクを作成する

繰り返し実行を設定しなかった場合、タスクは指定された日時に 1 度だけ実行されます。それ以外の場合、指定時刻がデフォルトでこのタスクを定期的に実行する時刻になります。

ステップ 5: アラームタスクを作成する

CloudMonitor パフォーマンス指標 (CPU およびメモリの使用率など) に基づいて、スケーリンググループ内の ECS インスタンスの数を自動的に増減します。アラームをトリガーするには、ECS イメージに新しいバージョンの CloudMonitor Agent をインストールしておく必要があります。

リソース

開発者向けリソース

よくある質問

環境設定

Auto Scaling ECS インスタンスについて、一貫した設定環境を確保する方法はありますか。 また、以前のシステム環境を Auto Scaling インスタンスに直接追加する方法はありますか。

ECS インスタンスのスケーリング設定を作成する場合、ECS カスタムイメージテンプレートを使用してインスタンスを作成できます。ECS インスタンスの実行中に内部システムデータを同期する必要がある場合は、カスタムの rsync プログラムをインストールすることをお勧めします。

AutoScalingによって作成されたインスタンスで、/etc/hosts に127.0.0.1 が追加されるのはなぜですか。

現時点では、イメージ内の /etc/hosts の後に独自のコンテンツを追加し、このイメージによって生成されたカスタムイメージを使用する場合、設定はシステムのデフォルト設定に戻ります。このため、追加されたコンテンツはクリアされます。これらの設定を維持する必要がある場合は、スクリプトコードを rc.local に追加します。そのうえで、情報が /etc/hosts にあるか確認します。情報がない場合は、もう一度追加してください。

詳細は下記ドキュメントをご参照ください。 「カスタムイメージ利用時のhostsファイルについて」

パスワードとログイン

Auto Scaling でインスタンスが自動的に作成された場合、rootパスワードを確認してインスタンスにログインする方法を教えてください。

  • Auto Scaling によって自動的に作成されたインスタンスでは、カスタムイメージと同じrootパスワードが設定されないため、SSH の公開鍵暗号方式でログインすることをお勧めします。

  • 公開鍵暗号方式でのログイン設定を行わない場合は、ログインする前にコンソールでパスワードをリセットしインスタンスを再起動する必要があります。

SLB と RDS

Auto Scaling によって ECS インスタンスが作成された後、新しいインスタンスは Server Load Balancer インスタンスに自動的に追加されますか。

スケーリンググループで Server Load Balancer インスタンスが指定されている場合、指定された Server Load Balancer インスタンスにグループ内の ECS インスタンスが自動的に追加されます。

スケーリンググループが Auto Scaling に追加された場合、そのグループに複数の Server Load Balancer インスタンスをバインドできますか。

デフォルトでは、各スケーリンググループにバインドできる Server Load Balancer インスタンスは 1 つだけです。複数の Server Load Balancer インスタンスをバインドするには、チケットを起票してクォータの引き上げを申請することができます。

Auto Scaling によって ECS インスタンスが作成された場合、そのインスタンスを複数の Server Load Balancer インスタンスに追加できますか。

はい。現時点では、ECS インスタンスを追加できるのは 1 つの Server Load Balancer インスタンスに対してのみですが、チケットを起票して複数の Server Load Balancer インスタンスへのバインドを申請することができます。

Auto Scaling グループの Server Load Balancer インスタンスに追加された ECS インスタンスの重みを変更することはできますか。

現時点のデフォルトでは、Auto Scaling の Server Load Balancer インスタンス配下にある ECS インスタンスの重みは、50 です。Auto Scaling グループの各バックエンド ECS インスタンスでは通常、インスタンスタイプ及び提供するサービスが同じであるため、この重みは適切です。また、Server Load Balancer のトラフィックは、実際の数ではなく重み比率に基づいています。このため、2 つのバックエンド ECS インスタンスの重みが 50 と 50 (比率 1:1) であれば、重みが 100 と 100 である場合 (この場合も比率 1:1) と同じです。

パブリックネットワークの Server Load Balancer インスタンスが既にあります。スケーリング設定を作成した場合、ECS インスタンスにはパブリック帯域幅が必要ですか。

スケーリング設定を作成した場合、パブリック帯域幅を ECS インスタンスに割り当てる必要はありません。ただし、ECS インスタンスの管理を容易にするには、1 Mbps 以上の ECS 帯域幅を購入することをお勧めします。

Auto Scaling と一緒に SLB、CloudMonitor、および RDS を使用する必要はありますか。

SLB、CloudMonitor、および RDSと組み合わせて利用することができますが、必須ではありません。 Auto Scaling では、ECS インスタンスを個別に追加・削除できます。Server Load Balancer および RDS とともにデプロイすることやCloudMonitorの監視結果をトリガーにすることもできます。

スケーリング設定とルール

サポートセンターへAuto Scaling のトラブルシューティングを依頼するために必要な情報はなんですか。

Auto Scaling のアクティビティ ID 及び関連するログをサポートセンターへご提供ください。

Auto Scaling のスケーリング設定を作成するときに、購入済みの ECS インスタンスを選択できないのはなぜですか。

次の条件が満たされている場合に、Auto Scaling で既存の ECS インスタンスを追加できます。下記の条件をご確認ください。

  • 追加する ECS インスタンスとスケーリンググループは、同じリージョンにあること。

  • 追加する ECS インスタンスとスケーリング設定内のインスタンスは、同じタイプであること。

  • 追加する ECS インスタンスは、ステータスが "Running" であること。また、別のスケーリンググループになく、 VPC ではないこと。

既存のサブスクリプションインスタンスを Auto Scaling に追加することはできますか。

Auto Scaling の現時点のデフォルトでは、自動的に従量課金インスタンスが作成されますが、既存の月単位サブスクリプションインスタンスまたは従量課金インスタンスを追加することもできます。

単一の ECS インスタンスを複数のスケーリンググループに追加することはできますか。

現時点では、できません。

ルールが異なる複数の ECS インスタンスをスケーリンググループに追加することはできますか。

同じスケーリンググループに複数のスケーリング設定を作成可能です。ただし、1つのスケーリング設定のみ有効化可能です。

Auto Scaling サービスでは、各スケーリンググループに最大で 100 個のインスタンスを含めることができます。インスタンスの最大数を増やすことはできますか。

チケットを起票してクォータの引き上げを申請することができます。1 営業日以内にスタッフが対応します (土日曜および休業日には対応が遅れることもあります)。

Auto Scaling サービスでは、スケーリンググループ内の ECS インスタンスに 8 コアまたは 16 コアの設定を適用できますか。

はい。コア数の大きい ECS インスタンスを使用するには、チケットを起票して申請してください。

スケーリンググループから ECS インスタンスを削除し、さらにインスタンス自体をリリースする場合に、ECS インスタンスデータは保存できますか。

  • ECS インスタンスをスケーリンググループから削除してリリースした場合、データを保持することはできません。

  • Auto Scaling では ECS インスタンスが自動的にリリースされるため、Auto Scaling ECS インスタンスを使用してアプリケーションのステータス情報 (セッション情報) や関連するデータ (データベース、ログ) を保存することはできません。ステータス情報は、データベース (Apsara DB for RDS)、共有キャッシュサーバ (Apsara DB for Redis)、中央ログストレージ(SLS)などに保存して対応する必要があります。

API を使用して DisableScalingGroup メソッドを呼び出すと、自動的に追加された ECS インスタンスはリリースされますか。

DisableScalingGroup を実行しても、Auto Scaling によって作成された従量課金インスタンスの自動削除は行われません。

スケーリンググループに自動的に追加された ECS インスタンスは、RDSの IP アドレスホワイトリストに自動的に追加されますか。

はい、自動的に追加されます。ECS インスタンスが追加または削除されると、インスタンスの IP アドレスが自動的に RDS のホワイトリストに対して追加または削除されます。

スケーリンググループに追加された ECS インスタンスで、CPU、メモリのアップグレードの機能は提供されていますか。

現時点では、Auto Scaling でスケールアップ/ダウンの機能は提供されていません。ECS インスタンスの CPU、メモリ、または帯域幅を自動的にアップグレード/ダウングレードすることはできません。

Auto Scaling で、定期的にタスクを繰り返し実行する機能は提供されていますか。

Auto Scaling コンソールで、[タスク管理] > [スケジュール済みタスク] に移動し、スケジュール済みタスクを設定します。終了時刻を設定しない場合、タスクは指定された実行時刻に 1 度だけ実行されます。終了時刻を設定した場合、終了時刻までにこのタスクが繰り返し実行されます。

手動で追加された ECS インスタンスがスケーリンググループから削除されないようにする方法を教えてください。

'x' 個のサブスクリプション ECS インスタンスをスケーリンググループに追加する必要がある場合、次の2つの設定を適用する必要があります。

  • ① インスタンスの最小数 (MinSize) を 'x' 以上に設定します。

  • ② 削除ポリシーの最初の選択ルールを "スケーリング設定が最も古いインスタンス" に設定します。

自動的に作成された ECS インスタンスが優先してスケーリンググループから削除されます。手動で追加された ECS インスタンスは、自動作成された ECS インスタンスがすべて削除された後にしか削除されません。 また、①の設定でインスタンスの最小数を 'x' 以上に設定しているため、手動で追加したインスタンスが自動で削除されることはなくなります。

自動作成された ECS インスタンスは、スケーリンググループから削除されると自動的にリリースされます。手動で作成および追加された ECS インスタンスは、スケーリンググループから削除されてもリリースされません。

注意: 上記は、正常なインスタンスの場合のロジックです。手動で追加された ECS インスタンスを停止すると、Auto Scaling ではこれが "異常" として見なされ、削除されます。これは、スケーリンググループ内の ECS インスタンスが "正常" であることが Auto Scaling で求められるためです。

モニタリングと自動化

Auto Scaling では、ECS インスタンスが正常な状態かをどのように判断するのですか。

Auto Scaling グループ内で使用できる場合、Server Load Balancer ではリクエストを ESC インスタンスに転送する前に、バックエンド ECS インスタンスのポートが動作しているかどうかの確認が行われます。

Auto Scaling アラームのトリガー条件を教えてください。

ECS インスタンスの数を自動的に増減するためには、CloudMonitorと連携して、CPU 負荷、メモリ使用率、インターネットのインバウンド/アウトバウンドトラフィックなどに基づいて、モニタリングアラームをトリガーすることができます。

Auto Scaling では、CloudMonitor のカスタムアラームに基づいた動的スケーリング機能が提供されていますか。

現時点では、カスタマイズアラームに基づいた動的スケーリング機能は提供していません。