Exam Readiness DOP : 分野 3: モニタリングとロギング

# はじめに
AWS DOPの試験対策で[Exam Readiness: AWS Certified DevOps Engineer – Professional (Japanese)](https://explore.skillbuilder.aws/learn/course/117/play/503/exam-readiness-aws-certified-devops-engineer-professional-japanese)を視聴したので、内容をまとめます。

# アジェンダ
| 分野 | 内容 |
|------|---------|
|    1  |   [ SDLC の自動化](https://qiita.com/tetsuya_tech/items/3da9ac5042f40d1577ba)|
|    2  |   [設定管理とIaC](https://qiita.com/tetsuya_tech/items/1691599cebc9ebafa730)|
|    3  |  モニタリングとロギング|
|    4  |  [ポリシーと標準の自動化](https://qiita.com/tetsuya_tech/items/baa999857d805fae3842)|
|    5  |   [インシデントとイベントレスポンス](https://qiita.com/tetsuya_tech/items/24315754f4af20743423)|
|    6  | [高可用性、対障害性、災害復旧](https://qiita.com/tetsuya_tech/items/317bb98700b7b59026c7)|


# Amazon CloudWatch

## メトリクス
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/7f3b3101-8edd-c08d-1262-d517e9b33602.png)

- SurgeQueueLength : キューに入れられたリクエストの総数。増加はバックエンドの処理が遅延していることを意味する。SurgeQueueがいっぱいになり処理ができなくなるとSpilloverCountがカウントされる
- カスタムメトリクスを取得するにはアーキテクチャにエージェントをインストールする
- HTTPステータスコードのメトリクス
　 - BackendConnectionErrorsエラーが増加:ロードバランサーがウォームアップ中の可能性
　 - HTTPCode_Backend_5xxエラー:データベース負荷の可能性。メトリクスを確認する
　 - HTTPCode_ELB_4xx:接続がタイムアウトの可能性。インスタンスログを確認する
　- Latencyメトリクス
　 - テスト中の増加はスケーリングの失敗の可能性
　 - 一般的にはDBのボトルネック、外部サービスへのAPIコール

## ログ
- エージェントのインストールが必要
- エージェントを利用してサービスにメッセージを送信
- Amazon SNSトピックを経由して通知を送信
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/875a6189-c1ef-bca9-aa19-04c0a314cd4e.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/adc82f3e-7ab3-a979-ac0d-a219a9eae013.png)

## アラーム
- しきい値を確立する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/b95ccb06-6133-0c50-8650-f86f185dbac4.png)

## イベント、ルール、ターゲット
- イベント：リソースの変更を検知
- ルール：イベントをターゲットにマッチさせる
- ターゲット：イベントを処理する
- ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/cf21227a-c10b-cd47-d194-9eb23836ec32.png)

## 全体像
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/7bb227a2-b515-6d72-a74f-53b8b7d14937.png)

# その他のサービス

## CloudTrail
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/d941aaf7-ae75-f14e-0ab9-b179523762bf.png)

## X-Ray
- トラフィックフローを観察することで環境の評価を支援

## コードサービスのモニタリング
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/6a274ffa-e684-e413-6a45-d6c9b4f14be0.png)

# ロギング
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/4c7acc79-3961-503f-b965-ca7bce2bc35f.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/4133d4fb-eb76-7a97-ae4b-87e0a7adaf7c.png)


## VPCフローログ
- VPCサブネットとENI間のトラフィックフローを可視化。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/04e5c2cd-d59d-4a23-bf3e-59f79a430335.png)

## Amazon Kinesis
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/574231b4-71a1-25b6-1721-6b14cdd158bc.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/ac252ec5-a802-b1f2-88d2-86cb91cae3b6.png)


# タグ付け
- 管理・検索・フィルターに役立つ

# 問題例
- 監査人がAWSアカウントからアプリケーション、システム、APIログにアクセスする
-> EC2インスタンスでCloudWatch Logsを設定。CloudTrailを有効化。アクセス権を監査人に付与
- Auto Scalingの応答時間を短縮￥
-> Auto Scalingグループ内のサーバー台数を増やす。Amazon CloudWatchの同時リクエスト数のカスタムメトリクスをパブリッシュする。
- ウェブアプリケーションから最大1分間のレイテンシーが複数回生じた。原因の特定に有用でない手法
-> AWS CloudFormationのスケーリングイベント、ELBのレイテンシーはCloudWatchに記録されるものではない
- 404の応答をリアルタイムに検知したい
-> CloudWatch Logsエージェントをインストールし、ログを指定。404エラーを探すフィルターをロググループに適用。CloudWatchアラームを作成
- アプリケーションサーバーのCPU不足
-> インスタンスタイプの変更、Auto Scalingによる拡張