EC2アプリのテキストログはCloudWatch LogsのStandardクラスへ継続的に収集され、認証失敗の行にはAuthenticationFailedが含まれる。
設定後に取り込むログを対象に、1分間の認証失敗が10件を超えたら通知したい。SNSトピックと購読先は準備済みである。
件数を自動監視する構成として最も適切なのはどれか。
一致ごとに値1を発行するメトリクスフィルターを作り、1分のSumが10を超えたらSNSへ通知する。
詳細解説
一致イベントごとに1を発行すると、Sumはその期間の失敗件数になる。アラームの通知先にSNSを指定する。
AWS API操作の監査であり、アプリ独自のAuthenticationFailedログを数える対象ではない。
保存済みログの件数調査には使えるが、必要時の手動クエリだけでは継続的な通知にならない。
値1の平均は件数ではない。失敗が多数発生してもAverageが10を超える判定にはならない。
公式資料で確認する
以下の項目を公式資料の記述と照合して確認します。
リンク先のMonitoring log dataを読み、値1の一致件数、Sum、適用開始時点を確認する。
参考にした公式資料
確認できる内容
11件の一致はSum=11になる。保存済みの過去ログを後から同じフィルターで遡及集計することはない。
理解のポイント
- metric filter
- AuthenticationFailed
- カスタムメトリクス
確認時の注意
- 確認環境: AWS公式SOA-C03試験ガイドとAWS公式ドキュメントの確認
- AWS公式SOA-C03試験ガイドと各サービスの公式ドキュメントを確認する。
基礎のおさらい
件数にはSumを使う
メトリクスフィルターは一致した新しいログイベントを数値へ変換する。値1を指定した場合、期間のSumは一致件数、Averageは値の平均となる。アラームには対象メトリクス、期間、しきい値、SNSアクションを揃える。
過去ログと欠測を区別する
対象はStandardクラスへ設定後に取り込むログで、過去データには遡及しない。ディメンションなしで既定値0を設定しても、ログの取り込み自体がない分には値が出ない。0件と欠測を同じ意味にせず、欠測時のアラーム動作を決める。