Amazon CloudWatch
監視とアラート
metric とログを収集し、ダッシュボードを作成し、アラームを設定します。アラームは通知を送ったり、アクション(scale)をトリガーしたりできます。
- コスト$$ ふつう
- 難易度●●●●●
- 未使用でも課金?はい
- AWS マネージド
- 出題試験CLF · SAA · DVA · SOA
たとえるなら警告灯付きの車のメーターパネルのようなものです。
CloudWatch はシステムのどこにある?
CloudWatch を呼び出す
CloudWatch が呼び出す
具体例でステップごとに
- アプリがときどき大きく遅くなるのに、お客さんから苦情が来るまで誰も気づきません。
- CloudWatch はすでに EC2 の CPU やネットワーク、ALB のレイテンシーを収集しています。メモリやディスクの値も取るため CloudWatch エージェントを入れます。
- CPU が 5 分間 80% を超えたら SNS トピックに送るアラームを設定し、当番チームが SMS を受け取ります。
- 別のアラームは、負荷が高いときに Auto Scaling でインスタンスを追加します。
- チーム全員がシステムの状態をリアルタイムで見られるダッシュボードを作ります。
いつ使う?
✓ 使うべき場面
常に必要: すべてのサービスの健全性を監視します。
✗ 避けるべき場面
「誰が」どの API を呼び出したかを知りたい → CloudTrail。
よくある使い方
- すべてのサービスの CPU、遅延、エラーを監視
- SNS 経由で当番担当者に通知するアラーム
- Auto Scaling のトリガー
- 運用ダッシュボード
CloudWatch・CloudTrail・CloudWatch Logs の違い
| 答える問い | システムはどう動いているか? | 誰がいつ何をしたか? | アプリは何を出力したか? |
|---|---|---|---|
| データ | メトリクス、アラーム、ダッシュボード | API 呼び出しの履歴 | ログの行 |
| 用途 | 監視、アラート、自動スケーリング | 監査、セキュリティ調査 | デバッグ、ログ検索 |
| デフォルト | 5 分間隔の基本メトリクス(無料) | 管理イベント 90 日分(無料) | 保持期間を設定しないと無期限 |
料金はいくら?
- 課金方式: 基本 metric は無料。カスタム metric 約 $0.30/metric/月、アラーム約 $0.10/月、ダッシュボード約 $3/月、データ取得の API 呼び出しは回数で課金。
- 無料枠: Always Free: 毎月カスタム metric 10 個、アラーム 10 個、ダッシュボード 3 つ、API request 100 万。
dimension の多いカスタム metric(組み合わせごとに 1 metric として課金)。すべての EC2 で 1 分間隔の detailed monitoring を有効にする。サードパーティツールが GetMetricData を頻繁に呼び出す。
EC2 のメモリやディスクの空き容量は標準では取れないので CloudWatch エージェントを入れます。1 分間隔のメトリクスなら詳細モニタリング、しきい値超えで SMS/メールなら SNS に通知するアラームです。「誰がリソースを削除したか」は CloudWatch ではなく CloudTrail の役割です。
本番の試験問題に挑戦
1What is the time period with which metric data is sent to CloudWatch when detailed monitoring is enabled on an Amazon EC2 instance?
- A15 minutes.
- B5 minutes.
- C1 minute.
- D45 seconds.
答えを見る
正解: C
詳細モニタリングを有効にすると、EC2 は 1 分ごとに CloudWatch へメトリクスを送ります。デフォルト(基本モニタリング)は 5 分ごとです。
2A user is running a webserver on EC2. The user wants to receive the SMS when the EC2 instance utilization is above the threshold limit. Which AWS services should the user configure in this case?
- AAWS CloudWatch + AWS SQS.
- BAWS CloudWatch + AWS SNS.
- CAWS CloudWatch + AWS SES.
- DAWS EC2 + AWS Cloudwatch.
答えを見る
正解: B
CloudWatch アラームで EC2 の CPU を監視し、SMS のサブスクリプションを持つ SNS トピックに通知します。SQS はキューで SMS を送れず、SES はメール送信サービスです。
よくある質問
CloudWatch に EC2 のメモリ使用量が表示されないのはなぜですか?
デフォルトの CloudWatch は、CPU、ネットワーク、ディスク I/O などインスタンスの外部から測定できる値しか取得できません。メモリやディスクの空き容量は OS の内部にあるため、CloudWatch エージェントをインストールしてカスタムメトリクスとして送信する必要があります。
CloudWatch の料金はどのように決まりますか?
AWS サービスの基本メトリクスは無料です。カスタムメトリクス、1 分間隔の詳細メトリクス、アラーム、ダッシュボード、API 呼び出し、ログ(取り込み量と保存量)に料金がかかります。
AWS 認定試験では CloudWatch について何が問われますか?
Auto Scaling をトリガーしたり SNS で通知したりするアラーム、エージェントによるカスタムメトリクス、1 分間隔の詳細モニタリング、EC2 インスタンスを復旧するアラーム、CloudTrail や AWS Config との違いなどです。