CloudFrontをCloudWatchAlarmで監視する

2021.01.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、リサリサです。

CloudFrontをCloudWatchAlarmで監視しようとしたのですが、少し躓いたので記事にしてみます。

CloudFrontのメトリクスはバージニアリージョン

CloudFrontのメトリクスはバージニアリージョンに発生します。

東京リージョンのCloudWatchAlarmでは監視ができないので、バージニアリージョンにCloudWatchAlarmを作る必要がありました。

やってみた

今回はCloudWatchAlarmでLambdaを叩きました。

CloudWatchAlarmの通知先には同一リージョンのSNSトピックしか指定できないので、SNSトピックもバージニアリージョンに作ります。

CloudWatchAlarmを作成

バージニアリージョンで、CloudWatchのメトリクスを選択してCloudWatchAlarmを作成します。

今回は「5xxErrorRate」を監視します。

同一リージョンのSNSトピックを選択します。

ARNを使用しても他リージョンのSNSトピックは指定できません。

SNSトピックにサブスクリプションを作成

バージニアリージョンのSNSトピックに、東京リージョンのLambdaを叩くサブスクリプションを作成します。リージョン跨ぎでも問題なく設定できました。

発報テスト

閾値をいじって発報テストします。

権限周りで躓くかと思ったのですが、コンソールから作成するとAWS側で良きに計らってくれるようで、サブスクリプションを作成するだけで正しく起動しました。

CloudWatchAlarmの履歴

Lambdaの実行ログ

最後に

CloudWatchAlarmでCloudFrontを監視しようとして、あれ?メトリクスないけど…って思った方のお役に立てれば幸いです。