外形監視で利用できるAWSサービス

外形監視で利用できるAWSサービス

外形監視とは

サービスを提供するサーバの外からアクセスを行い、ユーザーからの接続に見立てたアクセスで監視すること
ユーザーと同様の方法でアクセスして監視するので、「サービス監視」と呼ぶこともある


外形監視を利用したいシナリオ

  • プロトコル

    • Webサイト(HTTP、HTTPS
    • Webサイト以外
  • 監視対象のシステム

    • パブリック公開
    • プライベート利用(社内利用)

利用できるAWSサービス


シナリオと選択するAWSサービスの関係

パブリック公開 プライベート利用
Webサイト Route 53
CloudWatch Synthetics
CloudWatch Synthetics
Webサイト以外 Route 53 なし

監視軸のRoute 53

Amazon Route 53 をDNS機能と合わせて、DNSの切替を目的とした監視機能(Route53のヘルスチェック)がある

  • エンドポイントをモニタリングする ← 外形監視
  • CloudWatch アラームをモニタリングする
  • 他のヘルスチェック (算出したヘルスチェック) を監視する

外形監視で利用できるRoute 53 機能「エンドポイントをモニタリングする」

  • 特徴

    • 世界各地のヘルスチェッカーからモニタリングされて、ヘルスチェッカーの成功数が18% を超えると正常判断される
    • 下回ると異常と見なす
      Route 53ヘルスチェッカー
  • チェックの種類

    • HTTP/HTTPS ヘルスチェック
      HTTP ステータスコード 2xx または 3xx の応答有無
    • TCP ヘルスチェック
      TCP 接続のコネクション確立
    • HTTP/HTTPS ヘルスチェックと文字列一致
      レスポンス本文の最初の 5,120 バイト内に指定文字列の有無
  • 検討ポイント

    • 複数のヘルスチェッカーで18%以下にならないと異常と判断しない
      ⇒ 結果、異常検知に時間を要する
    • 外形監視ではパブリック公開されたシステムにしか利用が出来ない

CloudWatch Synthetics

カナリヤ用Lambdaが裏で動作し監視する

カナリヤ

  • URLのページをロードしてモニタリングする
  • APIエンドポイントにGET or POSTリクエストをモニタリングする
  • リンク切れチェッカー

  • 作成されるリソース CloudWatch Syntheticsの作成で指定する名前
    ※この名前で作成されるリソース

    • IAMロール/ポリシー
      CloudWatchSyntheticsRole-canary-name-uuid
      CloudWatchSyntheticsPolicy-canary-name-uuid
    • CloudWatchロググループ
      /aws/lambda/cwsyn-MyCanaryName-XXXXXXXX
    • Lambda関数
      cwsyn-MyCanaryName-XXXXXXXX

Syntheticsビルダー
具体例)作成されるリソース名

 - IAMロール/ポリシー  
  CloudWatchSyntheticsRole-test20220709-254-3e32985d41d2  
  CloudWatchSyntheticsPolicy-test20220709-254-3e32985d41d2
 - CloudWatchロググループ  
  /aws/lambda/cwsyn-test20220709-579531c6-ce55-4
 - Lambda関数  
  cwsyn-test20220709-579531c6-ce55-4c12-943e-3ba75a0fc99e

プライベート利用時の注意点

  • S3とCloudWatchのVPCエンドポイントを作成する
  • VPC設定オプションを利用する
  • SecurityGroupでアウトバウンドを許可する