- 公開日
- 最終更新日
【CloudWatch】Synthetics Canary機能でURL監視
この記事を共有する
目次
はじめに
今回は、Webサイトの可用性を監視するために、URL外形監視を設定する手順をご紹介します。 AWS環境でWebシステムを運用している場合、サーバーが稼働していても「URLにアクセスできない」「レスポンスが極端に遅い」といった問題が発生することがあります。
そのため、内部監視だけでなく、実際のエンドユーザー視点での外形監視が重要になります。 本記事では、CloudWatch Synthetics Canary機能を利用しURL監視とメール通知設定を行う手順を解説します。
背景・課題
サーバー監視(CPU・メモリ・プロセス監視)だけでは、以下の問題を検知できない場合があります。
- Webサーバーは稼働しているが、アプリケーションがエラーを返している
- ロードバランサー設定不備により外部から接続できない
- SSL証明書エラーによりブラウザアクセス不可
そのため、「実際にURLへアクセスして正常応答するか」を確認する外形監視の導入が必要になります。
前提条件・構成
システム構成
- 監視対象:EC2上で稼働するWebサイト
- リージョン:ap-northeast-1(東京)
- 通知方式:メール通知(SNS)
前提条件
- 監視対象のEC2インスタンスが起動済みであること
- IAMロールにCloudWatchアクセス権限があること
(
CloudWatchAgentServerPolicy付与済み) - インターネット接続可能であること
- AWSマネジメントコンソールへログイン可能であること
手順1:通知設定(SNS + メール)
URL異常検知時に通知するため、まずはSNSトピックを作成します。
1. SNSトピックの作成
- AWSコンソール → SNS を開く
- 「トピックの作成」をクリック
タイプ: 標準
トピック名: cloudwatch-alert-url
作成後、トピックARN を控えておきます。
2. メールサブスクリプションの作成
- 作成したトピックを選択
- 「サブスクリプションの作成」をクリック
プロトコル: Email
エンドポイント: 通知先メールアドレス
例:
- example@example.com
3. メール承認
- 届いた確認メールを開く
- 「Confirm subscription」をクリック
- ステータスが Confirmed になることを確認
手順2:URL監視設定(Synthetics Canary)
次に、CloudWatch Syntheticsを利用して外形監視を設定します。
1. Canaryの作成
- CloudWatchコンソールを開く
- 「Synthetics」 → 「Canaryの作成」
- 「設計図を使用する」を選択
設定内容
Blueprint: Heartbeat monitoring
Name: cloudwatch-alert-url
URL: 監視対象URL
実行間隔: 5分
IAMロール: 自動作成
SNSトピック: cloudwatch-alert-url
アラーム名: cloudwatch-alert-url
監視対象URL例
https://www.example.jp/
2. 実行結果の確認
作成後、自動でCanaryが実行されます。
確認手順
- CloudWatch → Synthetics
- 対象Canaryを選択
- 「モニタリング」または「レポート」を確認
以下が確認できれば正常です。
- ステータス:PASS
- レスポンスタイムが表示されている
- 失敗時にSNS通知が送信される
手順3:異常時の通知確認
動作確認として、以下を実施します。
- 一時的にテスト用URLを変更する
- 存在しないURLへ変更し、意図的に失敗させる
- SNS通知メールが届くことを確認
まとめ
今回は、CloudWatch Synthetics Canaryを利用したURL外形監視の設定手順を解説しました。
とにかく簡易的にアラートを通知させたい!URL監視を試したい時などに参考となれば幸いです。
この記事は私が書きました
橋本 歩
記事一覧AWSと犬が好きです。