今回はAWSのCloudWatchについて学習したことをアウトプットさせて頂きたいと思います。
##CloudWatch
CloudWAtchとは、簡単に説明するとAWSの監視マネージドサービスのことです。
AWSリソースの状態をチェックできるサービスになります。
例えば、EC2のCPU使用率が90%を越えた場合にアラートメールを送る事ができたりします。
また、アラート通知に合わせてアクションも簡単に設定することができます。
CloudWatchには、①収集、②監視、③アクション、④分析の機能があります。
-
①収集
こちらはECSやRDSなどAWS各種サービスのCPU使用率をはじめとする様々なステータスを取り扱うことができる機能です。この収集する情報の事を**「メトリクス」**と呼びます。 -
②監視
収集したステータスを監視しAlarmを設定します。
例えば、CPU使用率が90%を越えた場合だとアプリケーションが安定稼働しないため、
監視する機能も大切になります。
Alertが動く条件ラインの事を**「閾値」**と呼びます。 -
③アクション
アラームが動いたら、それに基づいてアクションの設定ができます。
例えば、SNSトピックを発動させる設定ができたり、このSNSトピックにメール通知を行うができたりします。また、通知だけでなくEC2のAutoScalingを発動させたり、EC2アクションの変更(停止、削除、再起動)などを設定することも可能です。 -
④分析
収集した情報をダッシュボードで可視化してグラフから分析する機能もあります。
###CloudWatchを使いべき理由
詳細は割愛しますが、以下のようなメリットがあります。
- 自動でメトリクスを収集できる
- 従量課金性
- 高解像度の監視が可能
- オンプレも監視が可能
###メトリクス
メトリクスをとは、上記でも少しだけ触れましたが、CloudWatchで収集した情報のことです。
メトリクスの種類には標準メトリクスとカスタムメトリクスの2種類があります。
標準メトリクス
予めAWSが用意したメトリクス
(例:CPU使用率、NWパフォーマンスなど)
カスタムメトリクス
ユーザーが設定したメトリクス(例:メモリ使用率など)
※カスタムメトリクスを収集するには、まずCloudWatchエージェントをサーバーにインストールする必要があります。
以下がカスタムメトリクスを設定する使用条件です。
-
CloudWatchエージェントをEC2にインストールする
CloudWatchエージェントをAWSの公式のS3バケットに保存されているので、そちらからインストールを行います。 -
EC2にIAMロールをアタッチする
EC2はそのままだとCloudWatchに情報を送信する権限を持っていないので、CloudWatchエージェントポリシーというようなIAMロールをアタッチする必要があります。 -
適切なネットワークルートを設定する
例えばEC2がPrivateサブネットに設置されていると、メトリクスを送りつけるルートがないとVPCエンドポイントを考慮して適切なネットワークルートを設定する必要があります。
アラート評価
3つの評価基準で構成されています。
- Period ・・・ 評価間隔
- Evaluation Period ・・・ 直近、何個のPeriodを評価対象とするか
- Datapoints to Alarm ・・・ 評価対象のうち、何個のPeriodが闘値を超過したか
###まとめ
AWSのCloudWatchとは、AWSの監視マネージドサービスになります。
機能としては、①収集、②監視、③アクション、④分析の4つの機能があります。
CloudWatchで収集した情報のことを**「メトリクス」と呼びます。
メトリクスには、AWSで予め用意された標準メトリクスとユーザーが設定したカスタムメトリクスの2種類があります。
カスタムメトリクスを設定するためには、CloudWatchエージェントをサーバーにインストール、EC2にIAMロールをアタッチ、適切なネットワークの設置が必要になります。
メトリクスの内容をもとに発動するアクションをPeriod(評価間隔)、Evaluation Period(直近、何個のPeriodを評価対象とするか)、Datapoints to Alarm(評価対象のうち、何個のPeriodが閾値を超過したか)**の3つの評価基準に沿って取り決めることで、ネットワークの障害を防止することができます。また収集した情報をグラフ形式で表示し、いつでも分析することができる大変重要なサービスの一つになります。
この記事はAWS初学者を導く体系的な動画学習サービス
「AWS CloudTech」の課題カリキュラムで作成しました。
https://aws-cloud-tech.com