AWS再入門2018 CloudWatch編

2018.02.23

こんにちは。池田です。マンガで分かる!AWSが公開され、社内でも話題になりましたが「めそ子オリジナルタオル」のプレゼント応募はグッと我慢しました。

はじめに

AWS再入門2018シリーズ第12弾はAmazon CloudWatchを活用する上で必要となる基本事項を整理していきます。

もくじ

概要

  • AWSリソースとAWSで実行されているアプリケーションに対するリアルタイムモニタリングサービス
  • アクセス方法
    • Amazon CloudWatch console
    • AWS CLI
    • CloudWatch API
    • AWS SDKs
  • 他のAWSサービスと併せて使用される
    • Amazon Simple Notification Service(Amazon SNS)
    • Amazon EC2 Auto Scaling
    • AWS CloudTrail
    • AWS Identity and Access Management(IAM)
  • 複数のリージョンをまたがってデータを集約することはない
    • メトリクスはリージョン間で完全に分離されている

名前空間(Namespaces)

  • 複数のメトリクスをまとめてコンテナ(箱)で管理する概念
  • 異なる名前空間のメトリクスは相互に切り離されており、異なるアプリケーションのメトリクスが誤って同じ統計に集約されないようになっている
  • デフォルトの名前空間はなく、メトリクスの作成時に名前空間名を指定する必要がある

メトリクス(Metrics)

  • CloudWatchの基本概念
  • ある時間ごとのデータポイントのセット
    • メトリクスは監視対象の変数、データポイントは時間の経過に伴うその変数の値
  • 作成されたリージョンにのみ存在する
  • メトリクスの保持期間
    • 期間が 60 秒未満のデータポイントは、3 時間使用できます。これらのデータポイントは高解像度カスタムメトリクスです。
    • 期間が 60 秒 (1 分) のデータポイントは、15 日間使用できます。
    • 期間が 300 秒 (5 分) のデータポイントは、63 日間使用できます。
    • 期間が 3600 秒 (1 時間) のデータポイントは、455 日 (15 か月) 間使用できます。
    • メトリクスの保持より

タイムスタンプ(Time stamps)

  • 各メトリクスデータポイントにおいて必須の情報
    • 最大2週間前から最大2時間後の範囲
  • 2018-02-23T23:59:59Z のようなdateTimeオブジェクト形式(http://www.w3.org/TR/xmlschema-2/#dateTime
    • CloudWatchが取得した統計情報は全てUTCとなるためUTC時間で登録しておくのが吉

ディメンション(Dimensions)

  • メトリクスを一意に識別する名前/値のペア
  • 1つのメトリクスには最大で10のディメンションを定義できる
  • それぞれのメトリクスを表す固有の特徴を示すカテゴリーと考えることができる
    • InstanceIdなどのディメンションがあり、メトリクスの検索やフィルタなどに利用できる

統計(Statistics)

  • 指定した期間のメトリクスデータの集計
    • Minimum : 指定された期間に認められた最小値
    • Maximum : 指定された期間に認められた最大値
    • Sum : 該当するメトリクスで加算されたすべての合計値
    • Average : 指定した期間の Sum/SampleCountの値(平均値)
    • SampleCount : 統計計算で使用するデータポイントのカウント (数)
    • pNN.NN : 指定されたパーセンタイルの値
  • パーセンタイル
    • データセットにおける値の相対的な位置
    • 95パーセンタイルは、95パーセントのデータがこの値を下回っており、5パーセントのデータがこの値を上回っていることを意味する
  • パーセンタイルが使用可能なサービス
    • Amazon EC2
    • Amazon RDS
    • Kinesis
    • Application Load Balancer
    • Elastic Load Balancing
    • API Gateway

アラーム(Alarms)

  • 指定した期間の単一のメトリクスを監視
    • 一定期間におけるしきい値とメトリクスの値の関係性に基づいて、1つ以上の指定されたアクションを実行
    • 持続している状態変化に対してのみアクションを呼び出す
  • アクション
    • Amazon SNSトピックまたはAuto Scalingポリシーに送信される通知
    • 一度通知されると、状態が変化しない限り再通知はされない
    • 1つのアラームにおいて5つのアクションまでの制限があり、上限緩和はできない

まとめ

マネジメントコンソール上でこれらの情報を手軽に確認できるだけでも便利だと思いますが、Amazon Simple Notification Service(Amazon SNS)を経由した通知や、Amazon EC2 Auto Scalingによるインスタンスの起動終了制御のほか、AWS CloudTrailによるロギングおよび保管などCloudWatchをより活用する方法があります。基本的な挙動を抑えて適切な設定を行うことで、運用監視負荷の低減が期待できますね。
今後の学習としては、ホワイトペーパーや導入事例による活用方法を真似ながら実際の設定や挙動を確かめていこうと思います。