CloudWatch Synthetics Canaryを作成して、発行されるメトリクスの種類を確認してみた
はじめに
かつまたです。
Webサイトやアプリケーションの外形監視を行いたいとき、CloudWatch Syntheticsを使うことで、エンドポイントやAPIをユーザー視点で定期的に監視できます。
CloudWatch Syntheticsでは「Canary」と呼ばれるスクリプトを作成し、実行することで、顧客がアクセスする前に障害やレイテンシーの問題を検知できます。
本記事では、実際にCanaryを作成・実行し、発行されるCloudWatchメトリクスの種類などを確認していきます。
以下ブログでも紹介されていますが、2026年時点で存在するメトリクスや標準的なCanaryでは表示されないメトリクスについても確認していきます。
CloudWatch Synthetics実行で確認できるメトリクスについて
Canaryを実行すると、CloudWatchSynthetics名前空間にメトリクスが自動発行されます。
標準的なCanaryを作成・実行した場合、Canaryディメンションで以下のメトリクスが確認できます。
一般的に発行されるメトリクス
| メトリクス | 説明 | 統計 | 単位 |
|---|---|---|---|
| SuccessPercent | Canary実行が成功した割合 | Average | Percent |
| Duration | Canary1回の実行にかかった所要時間 | Average | Milliseconds |
| Failed | Canary自体の実行に失敗した回数 | Sum | Count |
| Failed requests | Canaryが対象Webサイトに対して実行したHTTPリクエストのうち、応答が返ってこなかったリクエストの数 | Sum | Count |
| 2xx | レスポンスコード200番台(正常応答)を返した数 | Sum | Count |
| 4xx | レスポンスコード400番台(クライアントエラー)を返した数 | Sum | Count |
| 5xx | レスポンスコード500番台(サーバーエラー)を返した数 | Sum | Count |
| EphemeralStorageUsagePercent | エフェメラルストレージの最大使用率 | Maximum | Percent |
条件付きで発行されるメトリクス
上記以外にも、特定の機能を利用した場合にのみ発行されるメトリクスがあります。CloudWatch メトリクスは対象のメトリクスが過去に一度も出力されたことがない、もしくは過去14日間以内に出力されていない場合は、コンソール上に表示されない仕様のため、通常表示されません。
| メトリクス | 説明 | 発行条件 |
|---|---|---|
| DurationDryRun | DryRun実行の所要時間 | Canaryの更新をDryRunでテストした場合 |
| SuccessPercentDryRun | DryRun実行の成功率 | 同上 |
| RetryCount | Canaryがリトライした回数 | 自動リトライが発生した場合のみ |
| SuccessPercentWithRetries | リトライを含む全試行後の成功率 | リトライ設定が有効な場合 |
| VisualMonitoringSuccessPercent | ベースラインスクリーンショットとの視覚比較の成功率 | Visual Monitoringブループリント使用時 |
| VisualMonitoringTotalComparisons | 視覚比較が実行された合計回数 | 同上 |
やってみる
Canary作成
- CloudWatchのApplication SignalsのSynthetics Canaryから「Canaryを作成」を選択します。

- 「設計図を使用する」を選択し、目的に合った設計図を選びます。今回はシンプルな外形監視として、「ハートビートのモニタリング」を使用します。

- 監視対象のURLやスクリプトランタイムについて選択します。
| 設定項目 | 内容 |
|---|---|
| Application or endpoint URL | 監視対象のURL(https://から) |
| Runtime version | Syntheticsランタイムバージョンを選択 |
| Browser configuration | テストに使用するブラウザを選択 |

- 実行頻度を設定します。コンソールからは以下を選択できます。
- Run once: 1回だけ実行
- Rate expression: 1分〜1時間の間隔で継続実行
- Cron expression: cron式でスケジュール指定

- データ保持期間、証跡保存先 S3 バケット、オプションでのタイムアウトやCloudWatchアラームなどについて設定します。ここでのCloudWatchアラームは
SuccessPercent、Duration、Failed項目を利用して作成できます。
| 設定項目(オプションあり) | 内容 |
|---|---|
| タイムアウト | Canary実行時のタイムアウト値 |
| データ保持 | 実行結果の保持期間(1〜455日) |
| データストレージ | 実行データの保存先S3バケット。デフォルトバケット(cw-syn-results-{AccountID}-{Region}) |
| アクセス許可 | IAMロールの新規作成または既存ロールの指定 |
| VPC 設定 | VPC内エンドポイントを監視する場合に設定 |

- Canaryを作成すると設定次第となりますが、デフォルトでは以下のリソースが自動的に作成されます。
| リソース | リソース名 |
|---|---|
| IAMロール | CloudWatchSyntheticsRole-{canary-name}-{uuid} |
| IAMポリシー | CloudWatchSyntheticsPolicy-{canary-name}-{uuid} |
| S3バケット | cw-syn-results-{accountID}-{region} |
| Lambda関数/レイヤー | cwsyn-{canaryName} |
| CloudWatch Logsロググループ | /aws/lambda/cwsyn-{canaryName}-{randomId} |
メトリクス確認
Canaryが実行された後、CloudWatchメトリクスで結果を確認します。
CloudWatchSynthetics→CanaryNameディメンションで確認すると、以下の8つのメトリクスが発行されていることが確認できました。Failed項目はCanaryが失敗していないため表示されていません。
SuccessPercentDurationEphemeralStorageUsagePercentFailed requests2xx4xx5xx
DurationDryRun、SuccessPercentDryRunなどのメトリクスは、通常のCanary実行では発行されません。これらはDryRun機能の利用時や特定の条件下でのみ発行される条件付きメトリクスです。

-
DryRunを実行してメトリクスを確認してみます。作成したCanaryに何らかの設定変更(スクリプトランタイム変更など)を加え、DryRunを実行します。

-
再度メトリクスを確認すると、DryRunに関連するメトリクスが表示されていることが確認できました。

おわりに
ご覧いただきありがとうございました。
標準的なCanaryで確認できるメトリクスと、特定条件下でのみ発行されるメトリクスの種類を確認できました。
これらのメトリクスにCloudWatchアラームを設定することで、エンドポイントの異常を早期に検知し、顧客に影響が出る前に対処する仕組みを構築できます。
参考文献
クラスメソッドオペレーションズ株式会社について
クラスメソッドグループのオペレーション企業です。
運用・保守開発・サポート・情シス・バックオフィスの専門チームが、IT・AIをフル活用した「しくみ」を通じて、お客様の業務代行から課題解決や高付加価値サービスまでを提供するエキスパート集団です。
当社は様々な職種でメンバーを募集しています。
「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、クラスメソッドオペレーションズ株式会社 コーポレートサイト をぜひご覧ください。※2026年1月 アノテーション㈱から社名変更しました






