Amazon CloudWatch Logs
ログの保存と検索
Lambda、EC2、コンテナなどからログを収集・保存します。Logs Insights で検索し、ログから metric を作成できます。
- コスト$$ ふつう
- 難易度●●●●●
- 未使用でも課金?はい
- AWS マネージド
- 出題試験SAA · DVA · SOA
たとえるならすべてのマシンの共有日誌のようなもので、検索できます。
CloudWatch Logs はシステムのどこにある?
CloudWatch Logs を呼び出す
CloudWatch Logs が呼び出す
具体例でステップごとに
- お客さんから昨夜 21 時に決済エラーが起きたと連絡があり、そのときアプリが何を出力したかを知る必要があります。
- Lambda の console.log もコンテナのログも、アプリごとのロググループとしてすでに CloudWatch Logs に送られています。
- Logs Insights で 21 時前後の ERROR 行を絞り込むと、決済ゲートウェイへの接続エラーがすぐ見つかります。
- ERROR 行を数えるメトリクスフィルターを作り、5 分間に 10 件を超えたら知らせるアラームを付けます。
- ロググループの保持期間を 30 日にして、ログを永久に保存する料金を払わないようにします。
いつ使う?
✓ 使うべき場面
デバッグ、障害調査、ログの一元保存。
✗ 避けるべき場面
ログを非常に長期間、安く保存する → S3 にエクスポート。
よくある使い方
- Lambda、ECS、API Gateway のログ
- Logs Insights でエラーを検索
- ログから metric とアラームを作成(metric filter)
CloudWatch Logs・CloudWatch・CloudTrail の違い
| 保存するもの | アプリとシステムのログ | メトリクスとアラーム | AWS API 呼び出しの履歴 |
|---|---|---|---|
| 書き込む主体 | アプリ、Lambda、エージェント、AWS サービス | AWS サービス、エージェント、アプリ | AWS が自動で記録 |
| 検索 | Logs Insights | グラフ、ダッシュボード | イベント履歴、CloudTrail Lake |
| 主なコスト | 取り込み量 + 保存量 | カスタムメトリクス、アラーム | データイベント、追加コピー |
料金はいくら?
- 課金方式: 取り込み約 $0.50/GB(標準ログ)、保存約 $0.03/GB 月、Logs Insights クエリはスキャンしたデータ 1 GB あたり約 $0.005。
- 無料枠: Always Free: 毎月 5 GB(取り込み + 保存 + スキャン)。
請求額が最も膨らみやすい項目: 本番環境で debug ログを残す。retention を「Never expire」のままにする。古いログを S3 に移さない。
ログのコスト削減なら保持期間を設定し、古いログは S3 にエクスポートします。ログのパターンをアラートにするならメトリクスフィルター + アラーム、リアルタイム処理なら Lambda、Kinesis、OpenSearch へのサブスクリプションフィルターです。
よくある質問
CloudWatch Logs はログをどのくらい保持しますか?
デフォルトでは無期限に保持されるため、保持期間を設定しないと保存料金が増え続けます。ロググループごとに 30 日や 90 日などの保持期間を設定し、より安く長期保存したい場合は S3 にエクスポートしましょう。
ログの検索や分析はどのように行いますか?
CloudWatch Logs Insights でログをクエリ、フィルタリング、集計できます。メトリクスフィルターを使えば、ログのパターン(ERROR 行の数など)をメトリクスにしてアラームを設定できます。サブスクリプションフィルターはログを Lambda、Kinesis、OpenSearch にリアルタイムで送ります。
CloudWatch Logs の料金はどのように決まりますか?
取り込んだデータ量、月ごとの保存量、Logs Insights のクエリでスキャンしたデータ量で課金されます。あまり検索しないログには、より安い低頻度アクセスのログクラスが使えます。
AWS 認定試験では CloudWatch Logs について何が問われますか?
コスト削減のための保持期間の設定、メトリクスフィルターとアラーム、長期保存のための S3 へのエクスポート、リアルタイム処理のためのサブスクリプションフィルター、EC2 やオンプレミスのサーバーからログを送るための CloudWatch エージェントなどです。