Alibaba Cloudの自動スケーリングは、ビジネス要件とポリシーに基づいてコンピューティング能力(インスタンス数)を自動的に調整するサービスです。エラスティックコンテナインスタンスでコンテナ化されたアプリケーションを実行する場合、自動スケーリングを使用して、ワークロードに基づいてエラスティックコンテナインスタンスをスケールインまたはスケールアウトできます。これにより、ビジネスの正常な運用を確保しながらコストを削減できます。
説明
自動スケーリングは、ワークロードの変化とスケーリングポリシーに基づいてインスタンスを自動的に追加または削除するクラウドサービスです。自動スケーリングを使用すると、十分なコンピューティングリソースを確保し、アイドル状態のリソースを防ぎ、コストを削減できます。詳細については、自動スケーリングとは を参照してください。
同じサービスを実行するエラスティックコンテナインスタンスをスケーリンググループに追加し、スケーリンググループの最小インスタンス数を設定して日々のビジネス運用を確保し、スケーリンググループの最大インスタンス数を設定して過剰なコストを回避できます。また、スケーリングルールに基づいてスケジュールタスクまたはイベントトリガータスクを実行して、スケーリンググループ内のエラスティックコンテナインスタンスを自動的にスケールインまたはスケールアウトすることもできます。次の図は、エラスティックコンテナインスタンスにおける自動スケーリングの機能を示しています。

次のシナリオでは、自動スケーリングを使用してエラスティックコンテナインスタンスをスケールインまたはスケールアウトできます。
データ転送の変化が予測可能であり、特定の時点でインスタンスをスケーリングする必要がある場合。
たとえば、ゲーム企業で毎日18:00:00から24:00:00までデータ転送量が急増する場合、毎日18:00:00にエラスティックコンテナインスタンスをスケールアウトし、24:00:00にインスタンスをスケールインするスケジュールタスクを作成できます。

データ転送の変化が予測不可能であり、メトリックに基づいてインスタンスを自動的にスケーリングする必要がある場合。
たとえば、動画ストリーミング企業のデータ転送の変化が予測不可能な場合、イベントトリガータスクを作成して、スケーリンググループ内のエラスティックコンテナインスタンスのCPU使用率を監視できます。システムは、監視結果に基づいてインスタンスを自動的にスケールインまたはスケールアウトし、CPU使用率を60%に維持します。

手順
次の図は、自動スケーリングを使用してエラスティックコンテナインスタンスを自動的にスケールインまたはスケールアウトする方法を示しています。
スケーリンググループの作成時に[インスタンス設定ソース]パラメータを[既存のインスタンスを選択]に設定すると、自動スケーリングは自動的にスケーリング設定を作成して有効にします。この場合、スケーリング設定を手動で作成せずにスケーリンググループを有効にできます。
スケーリンググループの作成
スケーリンググループは、同じシナリオ用に設計されたエラスティックコンテナインスタンスを管理するために使用されます。スケーリンググループを使用して、インスタンスの最大数と最小数、インスタンスのスケールインとスケールアウトに使用するインスタンステンプレート、およびインスタンスを削除するポリシーを指定できます。このようにして、スケーリンググループはビジネス要件に基づいてインスタンスを管理できます。詳細については、スケーリンググループの作成 を参照してください。
スケーリング設定の作成
自動スケーリングがスケーリンググループをスケールアップすると、自動スケーリングはスケーリング設定に基づいてエラスティックコンテナインスタンスを作成し、エラスティックコンテナインスタンスをスケーリンググループに追加します。詳細については、エラスティックコンテナインスタンスタイプのスケーリング設定の作成 を参照してください。
説明ほとんどの場合、コンテナイメージのサイズは大きくなります。コンテナイメージをプルすると、エラスティックコンテナインスタンスの起動速度が低下します。スケーリング設定を作成するときに、イメージキャッシュの自動一致を有効にすることをお勧めします。これにより、エラスティックコンテナインスタンスを高速に作成できます。
スケーリンググループの有効化
スケーリングイベントは、[有効]状態のスケーリンググループでのみ発生します。スケーリンググループにアクティブなスケーリング設定がある場合、スケーリンググループを有効にするように求めるメッセージが表示されます。[スケーリンググループ]ページに移動して、スケーリンググループを手動で有効にすることもできます。詳細については、スケーリンググループの管理 を参照してください。
スケーリングルールの作成
スケーリングルールは、スケーリングアクティビティをトリガーするために使用されます。ビジネス要件に基づいて、次のいずれかのタイプのスケーリングルールを作成できます。
単純なスケーリングルール:増減するインスタンス数、またはスケーリンググループで維持するインスタンス数を指定します。
ターゲット追跡スケーリングルール:メトリックを選択し、そのメトリックの目標値を設定できます。その後、システムは、メトリック値を目標値に近づけるためにインスタンスをスケールインまたはスケールアウトします。
詳細については、スケーリングルールの作成 を参照してください。
スケーリングルールの実行
次のいずれかの方法を使用してスケーリングルールを実行し、スケーリンググループ内のエラスティックインスタンスをスケールインまたはスケールアウトできます。詳細については、スケーリングルールの実行 を参照してください。
手動実行:この方法は、一時的なビジネス需要に対応するのに適しています。
スケジュールタスクをトリガーすることによる自動実行:スケジュールタスクを使用して、指定した時点でスケーリングルールを実行できます。この方法は、特定のパターンに従うワークロードの変動を管理するのに適しています。スケジュールタスクの詳細については、概要 を参照してください。
イベントトリガータスクをトリガーすることによる自動実行:イベントトリガータスクを使用して、特定のメトリックを監視し、アラートを報告し、スケーリングルールを実行できます。この方法は、特定のパターンに従わないワークロードの変動を管理するのに適しています。イベントトリガータスクの詳細については、概要 を参照してください。
設定例
シナリオ | 設定例 | 効果 |
企業は毎日のデータ転送に10個のエラスティックコンテナインスタンスを必要としています。ただし、データ転送量は毎日18:00:00から23:00:00まで劇的に増加します。企業はこの期間中に5つのエラスティックコンテナインスタンスを追加する必要があります。 |
| オフピーク時には、10個のエラスティックコンテナインスタンスが毎日のデータ転送をサポートします。18:00:00から23:00:00までのピーク時には、15個のエラスティックコンテナインスタンスが使用されます。 |
企業は毎日のデータ転送に10個のエラスティックコンテナインスタンスを必要としています。ただし、企業はデータ転送の変化と増減する必要があるエラスティックコンテナインスタンスの数を予測できません。 |
| システムは、スケーリンググループ内のエラスティックコンテナインスタンスのCPU使用率を継続的に監視し、イベントトリガータスクのスケーリングトリガー条件に基づいてエラスティックコンテナインスタンスを自動的にスケールインまたはスケールアウトします。このようにして、システムはCPU使用率を60%未満に維持しながら、スケーリンググループ内に少なくとも10個のエラスティックコンテナインスタンスを保持して、通常のビジネス運用を確保します。 |