Aurora Auto Scaling ポリシー作成時に自動生成される 2 つの CloudWatch アラームの内、常に片方がアラーム状態になっている事象への対処方法
困っている内容
「TargetTracking-cluster」と名前の付く下記 CloudWatch アラームが、直近の数ヶ月間ずっとアラーム状態となっていることを発見しました。
TargetTracking-cluster:database-1-AlarmLow-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
調査した結果、このような名前が付いた CloudWatch アラームは、Aurora Auto Scaling ポリシー作成と一緒に自動生成される CloudWatch アラームだと考えられました。[1][2]
Aurora Auto Scaling は、スケーリングポリシーをトリガーする CloudWatch アラームを作成および管理し、メトリクスとターゲット値に基づいてスケーリング調整値を計算します。
"Alarms": [ { "AlarmName": "TargetTracking-cluster:aurora3-AlarmHigh-80fdf555-764c-43e9-842b-16441a276f5e", "AlarmARN": "arn:aws:cloudwatch:eu-central-1:1234:alarm:TargetTracking-cluster:aurora3-AlarmHigh-80fdf555-764c-43e9-842b-16441a276f5e" }, { "AlarmName": "TargetTracking-cluster:aurora3-AlarmLow-16686cf8-d13c-471c-83e8-9e3f531637fe", "AlarmARN": "arn:aws:cloudwatch:eu-central-1:1234:alarm:TargetTracking-cluster:aurora3-AlarmLow-16686cf8-d13c-471c-83e8-9e3f531637fe" } ],
また、「TargetTracking-cluster」という名前が付いた CloudWatch アラームは OK 状態のものもあり、上記アラーム状態のものと入れ替わるように、アラーム状態となっているようでした。
TargetTracking-cluster:database-1-AlarmHigh-yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
これら 2 つの CloudWatch アラームがアラーム状態となった場合、何かしらの対処が必要なのでしょうか。
どう対処すればいいの?
「TargetTracking-cluster:<Aurora クラスター名>-AlarmHigh/AlarmLow」という名前が付いた 2 つの CloudWatch アラームの内、常に片方がアラーム状態となること自体は、Aurora Auto Scaling の利用上正常な動作のため、対処の必要はなく静観で問題ありません。
Aurora Auto Scaling ポリシーの作成とともに CloudWatch アラームが作成されますが、追加設定のスケールインの ON/OFF によって、作成される CloudWatch アラームが異なります。
なお、スケールインの CloudWatch アラームには「AlarmLow」、スケールアウトの CloudWatch アラームには「AlarmHigh」という名前が付きます。
- OFF の場合: スケールアウトに対応する CloudWatch アラームの計 1 つ
- ON の場合: スケールイン・スケールアウトそれぞれに対応する CloudWatch アラームの計 2 つ
そのため、スケールイン・スケールアウト用の CloudWatch アラームがある状況(スケールインが ON)において、常にどちらか片方の CloudWatch アラームがアラーム状態となることは想定される動作であり、Aurora Auto Scaling の利用上それ自体が問題を示すものではありません。
なお、スケールアウトに対応する CloudWatch アラームのみがある状況(スケールインが OFF)であれば、設定したターゲット値よりも低ければ CloudWatch アラームは OK 状態のままです。
一方で、スケールインが OFF の場合、スケールアウト時に自動作成された Aurora レプリカは CloudWatch アラームが OK 状態となっても自動で削除されない点、ご注意ください。