0
1

More than 3 years have passed since last update.

CloudWatch Synthetics について

Last updated at Posted at 2021-09-08

はじめに

CloudWatchにはSyntheticsという、アプリケーションの死活監視(外形監視)を行うサービスがあります。

Canaryを作成し、APIのエンドポイントやWebページのリンクを設定することでそのエンドポイントをスクリプトで定期的に叩きに行き、落ちていた場合はSNSで通知や、CloudWatchAlarmを鳴らしたりできます。

以下公式説明です。

Amazon CloudWatch Synthetics を使用して、スケジュールに沿って実行される設定可能なスクリプトである Canary を作成し、エンドポイントと API をモニタリングできます。Canary は顧客と同じルートをたどり、同じアクションを実行します。これにより、アプリケーションに顧客トラフィックがない場合でも、顧客エクスペリエンスを継続的に検証できます。Canary を使用すると、顧客が問題を検出する前に問題を検出できます。

料金

料金はCanaryの実行回数に依存します。
1ヶ月あたり100回の実行まで無料枠があり、100回を超過すると1回あたり0.0019USDかかります。(東京リージョン)
その他、Lambdaの実行料金・CloudWatch Logs・S3の料金などがかかるようです。

試してみる

サンプルサイトの準備

ECRにある適当に作ったアプリのコンテナをAppRunnerでデプロイします。
(App Runner非常に楽でよいですよね..)

image_01.png

動作確認程度なので、トップページにリンクがある簡単なサンプルサイトを用意しました。
image_05.png

Syntheticsの設定

CloudWatch Syntheticsの設定を行います。

CloudWatchのメニューから「Synthetics Canaries - Canaryを作成」を選択します。
今回は、リンク切れチェッカー機能を試してみます。
image_02.png

以下デフォルトから変更を加えた部分です。

  • Canaryビルダー

    • 名前:sample-canary
    • アプリケーションまたはエンドポイントURL:AppRunnerから出力されたURL
    • フォローされているリンクの最大数:10
  • スケジュール

    • 一回実行(消し忘れ課金予防の為)
  • データストレージ,アクセス許可

    • 任意の適切な設定

設定画面もわかりやすくて良いです。

実行

作製したCanaryを選択し、「開始」を押下します。

終了後、「可用性」タブを見てみるとリンク先までチェックしていることがわかります。

image_03.png

次に、サーバから一つのファイルを削除し、再度起動します。
404を検知して失敗していることがわかります。

image_04.png

まとめ

CloudWatch Syntheticsのリンク切れチェッカー機能を試してみました。
CloudWatch Syntheticsには、他にもページのスクリーンショットを取って比較し、差異があればアラームを上げる機能など様々な監視が行える機能があります。料金も高すぎるということはなく、設定も簡単なので積極的に使いたいですね。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1