Amazon CloudWatch Logsとは?CloudWatchの他機能との連携も解説

Amazon CloudWatch Logsとは、AWS環境のログ管理を効率化するためのサービスです。AWS上で様々なサービスやリソースを利用していると、それぞれのログを適切にモニタリングしたり分析したりすることが難しくなります。Amazon CloudWatch Logsを使えば、これらの課題を解決することができます。
本記事では、概要から具体的な機能、Amazon CloudWatchの他機能との連携、料金まで詳しく解説します。

Amazon CloudWatch Logsとは

Amazon CloudWatch Logsとは、Amazon CloudWatchの一機能で、ログデータの収集、監視、分析に特化した機能を提供するマネージドサービスです。EC2インスタンスやRoute 53をはじめ、使用中のすべてのシステムやアプリケーションからのログを一元的に管理することができます。

CloudWatchについて詳しく知りたい方はこちらをご覧ください。
【入門編】Amazon CloudWatchでできることとは? OSS監視ツールとも比較|ベアサポートブログ

さらに特定のエラーコードなどの検索、条件に応じたフィルタリング、インタラクティブな分析などもできるため、AWS環境全体のセキュリティを強化するためにも役立ちます。Amazon CloudWatch Logsを導入することで、ログ運用の管理負荷を軽減するとともに、AWS環境の安全性を高めることが可能です。

Amazon CloudWatch Logsでログを収集するには、対象サーバーにCloudWatchエージェントをインストールします。新規にログ監視サーバーを構築する必要がないため、スムーズに導入できることがメリットです。また、EC2だけでなくオンプレミスサーバーも対象にできます。

Amazon CloudWatch Logsのログの保持期間は、デフォルトでは無制限となっています。ただし、ロググループごとに1日〜10年の間で保持期間を設定することも可能です。

Amazon CloudWatch Logsの機能

Amazon CloudWatch Logsの具体的な機能について解説します。

ログデータの検索と分析

CloudWatch Logs Insightsという高度なクエリ機能を使用して、収集した膨大なログデータをインタラクティブに検索・分析できます。CloudWatch Logs Insightsはシンプルな専用のクエリ言語を提供し、複雑な検索条件や集計操作にも対応可能です。

インシデントの検出とデバッグ

収集したログをリアルタイムで表示とフィルタリングができるLive Tail機能によって、インシデントが発生した際にも素早く検出およびデバッグ対応ができます。指定した用語に基づいてフィルタリングする、特定の用語を含むものを強調表示するといったことも可能なため、目的のログをスムーズに見つけられます。

ログのモニタリング

EC2インスタンスで実行されるアプリケーションやシステムのログをモニタリングできます。たとえば、ログをもとにアプリケーションで発生したエラーの数をカウントし、指定したしきい値に達すると通知を送信することも可能です。

イベントのモニタリング

CloudTrailに記録されたイベントをモニタリングできます。CloudTrailとは、AWSアカウントでの操作やAPI操作をログに記して証跡を管理するサービスです。アラームを設定することで、CloudTrailが記録した特定のアクティビティの通知を受け取ることができます。

CloudTrailについて詳しくは以下の記事で解説しています。ぜひ併せてご覧ください。
AWS CloudTrailとは? AWS上の証跡を残す方法を解説 | ベアサポートブログ

機密データの保護

ログにプライベートキーや、 AWS シークレットアクセスキーといった認証情報などの機密データが含まれる場合、データ保護ポリシーをもとに保護できます。デフォルトでは、指定したデータ識別子と一致するデータがマスクされ、安全に扱うことができます。

ログデータのアーカイブ

使用頻度の低いデータはアーカイブできます。アーカイブすると通常のログと比較して利用可能な機能に制限はあるものの、料金が安くなるためコストを最適化することが可能です。

DNSクエリのログ記録

Route 53が受け取るDNSクエリに関する情報をログに記録できます。名前解決に関するトラブルシューティングを迅速に行うために役立ちます。

CloudWatchの他機能との連携

CloudWatch Logsは、他のCloudWatchの機能と連携してシステム全体の監視と管理を強化することができます。各機能と連携してできることは以下の通りです。

CloudWatch Metrics

カスタムメトリクスの作成

CloudWatch Logsから特定のパターン(例:エラーメッセージ)を抽出してカスタムメトリクスを作成できます。このカスタムメトリクスは他のCloudWatch Metricsと同様に扱われ、ダッシュボードへの表示や、アラームの設定が可能です。

CloudWatch Alarms

アラーム設定

CloudWatch Logsに保存されたログデータに基づいてアラームを設定できます。たとえば、特定のログイベント(例:エラーメッセージの出現回数)が一定の閾値を超えた場合にアラームを発報させることが可能です。これにより、ログデータをリアルタイムで監視し、異常を検知できるようになります。

CloudWatch Events(Amazon EventBridge)

イベントトリガーの設定

CloudWatch Logsで特定のログイベントが発生したときに、CloudWatch Eventsを使用してアクションをトリガーする設定ができます。例えば、特定のエラーメッセージがログに記録された場合に、Lambda関数を呼び出して自動修復プロセスを開始させることが可能です。

CloudWatch Dashboards

ログデータの可視

CloudWatch LogsのデータをCloudWatch Dashboardsに表示することができます。これにより、リアルタイムのログデータや履歴データをダッシュボード上で確認し、システム全体の状態を視覚的に把握することができます。

CloudWatch Logs Insights

ログ検索と分析

CloudWatch Logs Insightsは、CloudWatch Logsのログデータに対して高度なクエリと分析を行うためのツールです。ログデータを検索し、フィルタリングし、可視化することで、詳細な分析やトラブルシューティングを行うことができます。

CloudWatch Contributor Insights

要因分析

CloudWatch Contributor Insightsは、ログデータからパフォーマンスに影響している要因(例:特定のIPアドレス、ユーザーなど)を分析する機能です。CloudWatch Logsに保存されたログデータを基にして、パフォーマンスのボトルネックとなっている最大の要因を特定し、迅速な問題解決に役立てることができます。

Amazon CloudWatch Logsの料金

Amazon CloudWatch Logsの料金は以下のとおりです。

無料利用枠

次の範囲までであれば、無料で利用できます。

  • 5GBまでのデータ(取り込み、ストレージのアーカイブ、Logs Insightsクエリによってスキャンされたデータ)
  • 1か月あたり1,800 分のLive Tail機能の使用(1日あたり約1時間)

料金体系

無料利用枠を超えた場合は、従量課金制で以下のように料金が発生します。(2024年6月現在、東京リージョンの場合)

収集(データインジェスト)スタンダード:USD 0.76/GB
低頻度アクセス:USD 0.38/GB
保存(アーカイブ)USD 0.033/GB
分析(Logs Insights のクエリ)スキャンしたデータ 1 GB あたり USD 0.0076
データ保護(検出・マスク)スキャンされたデータ 1 GB あたり USD 0.12
分析 (Live Tail)0.01 USD/分

詳しい料金はAWSの以下のサイトをご覧ください。

AWS「Amazon CloudWatch 料金表」https://aws.amazon.com/jp/cloudwatch/pricing/ (2024/6/25確認)

まとめ

Amazon CloudWatch Logsは、AWSやオンプレミスの様々なサービスやリソースからのログを一元的に管理できるサービスです。ログ管理を一元化することで、業務負荷を軽減しつつセキュリティを強化できます。CloudWatchの他機能と連携して、よりシステム全体の監視と管理を強化することができることも大きなポイントです。

無料利用枠も用意されているため、ログ管理に課題を抱えている場合は、ぜひAmazon CloudWatch Logsを試してみてください。