見出し画像

AWS運用支援サービス ~CloudWatch / CloudTrail ~

どうも。
今回は運用支援をするためのサービスCloudWatch / CloudTrail について。


CloudWatch

 ->AWS内のリソースを取得する(メトリクス
具体的にはEC2インスタンスのCPU使用率やLambda関数のごとのエラー回数などが定義されている。
AWSで用意されているメトリクスを標準メトリクスと呼ぶ

一方で、ユーザーが定義したメトリクスをCloudWatchに渡し作成することも可能で、カスタムメトリクスと呼ぶ。


CloudWatchの使用例

①Webサーバー用のEC2インスタンスのCPU使用率が〇〇%を上回った時
②Lambda関数の実行中に一定時間内に○回以上エラーが発生した場合
 ->①や②が発生した場合にSNSに連携しユーザーに通知するなどが可能


CloudWatch Logs

 ->アプリケーションログやApacheログを取得しモニタリングするサービス
※CloudWatch Logsを利用するためには独自のエージェントをインストールし、IAM権限を付与する必要あり


CloudWatch Logsの使用例

 ->収集したログに対してアラームを設定することが可能
例)取得したアプリケーションログに「ERROR」から始まる行があった場合にはアラームを通知する


CloudWatch Events

 ->ユーザー独自のトリガーとその後のアクションを定義するサービス。
独自のトリガーをイベントソース、後続のアクションをターゲットと呼ぶ。


CloudWatch Eventsの特徴・使用例

■イベントソースは大きく分けて2種類ある

①スケジュール
 
->「1週間おきに」「3日おきに」「毎週金曜の19時に」などの期間・時間ベースの定義方法


②イベント
 
->「AutoScalingがインスタンスを増減させたら」「CodeBuildのステータスが変わったら」などのAWSのリソース状態の変化をトリガーにする


■ターゲットには既存のAWSリソースに対するアクションを定義
 ->「Lambda関数をキックする」「CodePipelineを実行する」など
※複数のターゲットを定義することも可能

Event Bridge
 
->今後CloudWatch Eventsと統合予定。同じAPIを使用している


CloudTrail

 ->AWSに関する操作ログを自動的に取得するサービス


CloudTrailの特徴

 ->AWSマネジメントコンソール操作やCLIなどの操作によってAWSリソースを操作したり、データの取得ができたりするので、誤ってデータを削除する、データを持ち出すことが考えられる。よって「誰が」「いつ」「どのような操作を行ったか」を監視することが可能


CloudTrailで取得できるログの種類

 ->大きく分けて2種類ある

①管理イベント
 
->マネジメントコンソールのログイン、EC2インスタンスの作成、S3バケットの作成など


②データイベント
 
->S3のバケット上のデータ操作やLambda関数の実行など


※CloudTrailはの管理イベントはデフォルト設定で有効となっており、過去90日分のログが参照できるようになっている。ただ、データイベントはデフォルトで有効となっていないため、自身で設定する必要がある。

この記事が気に入ったらサポートをしてみませんか?