アラーム評価ウィンドウ
CloudWatch がメトリクスアラームを評価する際、評価ウィンドウと呼ばれる時間範囲のメトリクスデータを取得します。ウィンドウの長さは、Period に Evaluation Periods を掛けた値になります。そのウィンドウが落ちる境界がどこになるかは、PutMetricAlarm API の EvaluationWindow パラメータによって制御されます。EvaluationWindow は、次の 2 つの設定のいずれかを受け入れます。
-
SlidingWindow– デフォルト設定。アラームが評価されるたびにウィンドウが前に進み、ローリングタイムウィンドウが形成されます。 -
WallClockWindow– ウィンドウは、期間の区切りに一致する時刻境界 (毎正時、午前 0 時、暦上の週の初めなど) に整合した状態になります (オプションで特定のタイムゾーンを選ぶこともできます)。
メトリクスアラームを作成または更新するときに EvaluationWindow を指定しない場合、アラームはスライディングウィンドウを使用します。アラームを更新することで、既存のアラームをいつでもウォールクロックウィンドウに切り替えることができます。
どちらの設定も、PromQL クエリに基づくアラームを除くすべてのタイプのメトリクスアラームでサポートされています。
スライディングウィンドウかウォールクロックウィンドウかを選択する際の基準
スライディングウィンドウは常に最新のデータを取り込むため、データポイントがしきい値を超えると即座に違反を検出します。パフォーマンス、レイテンシー、リソース枯渇を伴うワークロードなど、暦との整合性が重要ではないリアルタイムモニタリングには、スライディングウィンドウを選択します。
ウォールクロックウィンドウは、1 時間、1 日、1 週間など、暦に整合した完全な期間を評価します。モニタリングがビジネス期間または暦期間に関連付けられている場合は、ウォールクロックウィンドウを選択します。これにより、イベントがローリングウィンドウの境界をまたぐ際に発生する可能性がある誤アラームも回避できます。例えば、スライディングウィンドウを使用した日次バックアップアラームの場合、各暦日にバックアップが実施されていたとしても、連続するバックアップの間隔が 24 時間を超えると ALARM 状態に移行する可能性があります。ウォールクロックウィンドウは各日を個別に評価するため、このような状況は回避されます。
トレードオフとなるのが検出タイミングです。ウォールクロックウィンドウにおいてデータポイントが反映されるのは、そのデータポイントを含む期間が終了した後になります。進行中の問題を検出する必要がある場合は、スライディングウィンドウを使用します。
スライディングウィンドウ
スライディングウィンドウでは、アラームが評価されるたびに評価ウィンドウが前方に移動し、ローリングタイムウィンドウが形成されます。例えば、期間が 1 時間、評価期間が 1 つのアラームの場合、ある評価では 13:07~14:07 の時間範囲を評価し、次の評価では 13:08~14:08 の時間範囲を評価する可能性があります。
ウィンドウは常に最新のデータポイントを取り込むため、Auto Scaling アクションをトリガーするアラームにはスライディングウィンドウが適しています。
スライディングウィンドウには追加の設定オプションは用意されていません。API を使用して明示的に設定する場合は、EvaluationWindow を {"SlidingWindow":{}} に設定してください。EvaluationWindow を省略した場合も、同様の結果となります。
ウォールクロックウィンドウ
評価期間は、選択したタイムゾーンにおける固定の時間境界 (例: 1 時間ごと、または 1 日ごと) に合わせて設定します。日次レポート、バッチジョブ、バックアップなどのスケジュールされたワークロードに最適です。
境界は、選択したタイムゾーンにおける対応する暦期間の開始時点に合わせて設定されます。具体的には、期間が 1 時間なら毎正時、1 日なら午前 0 時、1 週間なら月曜日の 00:00 (ISO 8601 に基づく週の開始時点) になります。これらの開始時点は固定されており、変更することはできません。
ウォールクロックウィンドウを使用する場面
アラーム評価を時刻やカレンダー境界に合わせて設定する場合は、ウォールクロックウィンドウを選択します。一般的なシナリオには以下のようなものがあります。
-
特定のタイムゾーンで午前 0 時までに完了する必要がある日次バッチジョブ。
-
1 週間 (暦週) の状況をまとめた、週次コンプライアンス報告書または業務報告書。
注記
Auto Scaling アクションをトリガーするアラームには、ウォールクロックウィンドウの使用はお勧めしません。アラームにおいてデータが反映されるのは現在の期間が終了した後になるため、応答性の高いスケーリングを行うのに十分な精度で負荷を追跡することはできません。代わりにスライディングウィンドウを使用します。
サポートされている期間
次のいずれかの期間を持つメトリクスアラームでは、ウォールクロックウィンドウを使用できます。
-
1 分 (60 秒)
-
5 分 (300 秒)
-
1 時間 (3,600 秒)
-
1 日 (86,400 秒)
-
1 週間 (604,800 秒)
ウォールクロックウィンドウは、高解像度アラーム (期間が 10 秒、20 秒、または 30 秒) ではサポートされていません。
ウォールクロックウィンドウでサポートされていない期間を指定すると、PutMetricAlarm はサポートされている期間を一覧表示した検証エラーを返します。
Metric Math アラームと Metrics Insights アラームの場合、Metrics 配列内のすべてのメトリクスで、サポートされているウォールクロック期間のいずれかを使用する必要があります。
注記
Metrics Insights アラームは、(期間に評価期間を掛けた値が) 3 時間以内の時間範囲を評価できます。Metrics Insights アラームがウォールクロックウィンドウを使用する場合、CloudWatch はウィンドウをウォールクロックの境界に合わせるために、追加で 1 つの期間を自動的に予約します。その結果、有効な制限値は期間に (評価期間 + 1) を掛けた値になりますが、やはり 3 時間以内とする必要があります。つまり、ウォールクロックウィンドウを使用する Metrics Insights アラームは、スライディングウィンドウを使用する同じアラームよりも評価期間が 1 つ少なくなります。例えば、期間を 1 時間に設定した場合、スライディングウィンドウは最大 3 つの評価期間をサポートするのに対し、ウォールクロックウィンドウは最大 2 つの評価期間をサポートします。この制限を超えると、PutMetricAlarm は検証エラーを返します。
タイムゾーンと夏時間
オプションで、ウォールクロックウィンドウのタイムゾーンを指定できます。タイムゾーンを指定しない場合、CloudWatch は UTC を使用します。ウォールクロックの境界がどこに設定されるかは、タイムゾーンによって決まります。例えば、America/New_York における 1 日を期間とするアラームは、ニューヨーク現地時間の各暦日の午前 0 時から午前 0 時までを評価しますが、UTC で同じアラームを設定すると、UTC 00:00 から 00:00 までを評価対象とします。Asia/Kolkata (+05:30) などの整数時間以外のオフセットを持つタイムゾーンでは、1 時間単位や 1 時間未満の期間であっても境界がずれます。
タイムゾーンは、次のいずれかの形式で指定できます。
-
America/New_York、Europe/London、またはAsia/Kolkataなどの IANA タイムゾーン識別子。 -
+05:30、-08:00、またはZ(UTC に相当) などの固定 UTC オフセット。 -
UTC+05:30やGMT-08:00などのオフセット接頭辞識別子。
指定するタイムゾーンは、UTC オフセットが 5 分の倍数となる値に解決される必要があります。例えば、+01:00、+05:30、および +01:05 は承認されますが、+01:03 は拒否されます。CloudWatch は、アラーム作成時にこの要件を満たさないタイムゾーンを検証エラーとして拒否します。
IANA タイムゾーンを指定すると、CloudWatch は夏時間への移行を自動的に処理します。評価ウィンドウは、時計時刻の変更が行われる日であっても、指定したタイムゾーンのローカルウォールクロックに整合した状態で維持されます。固定の UTC オフセットとオフセット接頭辞識別子では、夏時間が考慮されていません。
アラームが評価される頻度
ウォールクロックウィンドウを使用するアラームは、スライディングウィンドウを使用するアラームと同じ頻度で評価されます。ウォールクロックウィンドウを選択しても、CloudWatch がメトリクスデータを取得するために使用するウィンドウの境界のみが変更され、アラームの実行頻度は変更されません。
例えば、期間が 1 時間のウォールクロックウィンドウを使用するアラームは、1 分ごとに評価されます。各評価では、直近で完了した時計時刻に合わせてデータが参照されます。新しい時計時刻が開始されると、ウィンドウは新しい時刻の境界に向かって進みます。
ウォールクロックウィンドウを使用するメトリクスアラームを作成するには、「ウォールクロック評価ウィンドウを使用するメトリクスアラームを作成する」を参照してください。