AWSのウォームアップについての説明がよくわからなかったので調べて具体例を用いて説明
AWSの説明
インスタンスがウォームアップしている間、動的スケーリングポリシーは、ウォームアップしていないインスタンスのメトリクス値がポリシーのアラーム上限しきい値 (またはターゲット追跡スケーリングポリシーのターゲット利用率) より大きい場合にのみスケールアウトします。需要が高くなる場合は、アプリケーションの可用性を保護するためにスケールインを控えめに実行することがその目的になります。このブロックは、インスタンスのウォームアップが完了するまでスケールインして動的スケーリングを行います。
これ一発でわかりませんでした。クールダウンとどう違うの?!
具体例を用いて理解する
ウォームアップ中のシナリオ
ある Auto Scaling グループがあり、動的スケーリングポリシーが設定されています。このポリシーでは、インスタンスの平均 CPU 使用率が70%を超えた場合に新しいインスタンスを起動するように構成されています。
ウォームアップが開始された時点
ウォームアップが設定された Auto Scaling グループに新しいインスタンスが追加される際、これらの新しいインスタンスはウォームアップ期間に入ります。ウォームアップ期間中は、これらの新しいインスタンスがトラフィックに対応し、正常に動作するまでの時間が確保されます。
動的スケーリングポリシーの挙動
ウォームアップ中、動的スケーリングポリシーは新しいインスタンスがウォームアップしていない限り、スケールアウトしないようになっています。つまり、ウォームアップ中の新しいインスタンスのメトリクス(例:CPU使用率)がポリシーのアラーム上限しきい値(例:70%)よりも大きくても、スケールアウトは発生しません。
ウォームアップ完了後
ウォームアップが完了すると、新しいインスタンスはトラフィックを正常に処理できる状態になります。この時点で、動的スケーリングポリシーはウォームアップしていないインスタンスのメトリクスがアラーム上限しきい値を超えた場合にスケールアウトするように再び機能します。
ウォームアップの具体例その2
初期状態 (3台のインスタンス)
A閾値:70%(インスタンス○台追加、合計で3台+○台)
B閾値:80%(インスタンス○台追加、合計で3台+A閾値台数分+B閾値台数分)
CPU使用率が70%を超える
ウォームアップが開始される。
動的スケーリングポリシーはウォームアップ中の新しいインスタンスに対してスケールアウトを抑制。
ウォームアップ中にCPU使用率が80%を超える
ウォームアップ中であるため、スケールアウトはまだ発生しない。
ウォームアップが完了
新しいインスタンスがトラフィックに対応し、ウォームアップが完了。
動的スケーリングポリシーが再び有効になり、閾値を超えた場合にスケールアウトが可能になる。
以上となります。
間違っている、それはこうじゃないかな?みたいなご指摘等等ございましたらコメントいただけますと幸いです。
最後までお読みいただきありがとうございました。