2021/05/28

ログ監視を一元管理「Amazon CloudWatch Logs」とは?

 
  

Amazon CloudWatch Logsとは?

Amazon CloudWatch LogsとはAWSの各種サービス(AmazonEC2、AWS CloudTrail、Route 53、およびその他)のログの監視や保存、アクセスが一元管理できる機能です。 CloudWatch Logsを使うことで、AWS上で連携しているサービス全体を総合的に検索、絞り込み、分析を行うことができるためバグや不具合の解決に役立ちます。

そもそもログって何?

そもそもログとは、アプリケーションやサーバの実行・動作記録です。ユーザーのログイン履歴、接続時間等も記録されています。 ログを参照することでアプリケーションや、サーバが正常に動作しているかどうか確認することができる他、何か問題が起きた際は原因を突き止める糸口となります。 Webサーバの場合は、そのサーバで稼働するWebサイトへ接続しに来たユーザーのIPアドレスやブラウザ、ログイン情報や、入力情報など他にも沢山の情報を取得して格納されたりするため、取り扱いには十分に注意する必要があります。

Amazon CloudWatch Logsを使うメリット

ここではAWSユーザー向けにAmazon CloudWatch Logsを使うメリットについて簡単に紹介していきます。 ログの監視を行うにはそのアプリケーションやサーバに付属している機能を使ったり、ログ監視専用のソリューションを使ったり、スクリプトを自作してログを送信するといった方法があります。 Amazon CloudWatch Logsはこれらの方法とは違い、AWS上であれば面倒な前準備なしにログ監視を開始することができます。

メリットその1 ログの監視設定・取得が簡単にはじめられる

AWS EC2、またはオンプレミスサーバーを利用している場合でも、新規にログ監視サーバを構築することなくログの監視が開始できます。 CloudWatch Logsへログを収集するには監視対象にCloudWatchエージェントをインストールします。 CloudWatchエージェントでのログ収集の仕組みはログ監視サーバからのポーリング形式ではなく、エージェントからのプッシュ形式であるため、ログ監視サーバにおいてログ監視対象の設定をする必要がありません。 よって、サービス拡張の場合にもログ監視の設定という作業コストがほとんど必要ありません。

メリットその2 AWSリソースとの連携が容易である

CloudWatch Logsを利用することでAWSリソースとの連携を容易にすることができます。 CloudWatchダッシュボードでは複数のリージョンに跨っているリソースも一元管理することができ、使いやすいようにカスタマイズすることもできます。 これにより問題が起きているリソースへのアクセスや対処、チーム内への共有等も円滑に行うことができます。

メリットその3 Contributor Insightsを利用して高機能な分析を行うことができる

Contriutor Insightsを利用することができるため、CloudWatch Logsで収集したログデータを用いて高機能な分析を行うことができます。 Contriutor Insightsはログデータを分析してリソースの使用状況・処理を時系列にまとめて表示することができます。 この機能により頻繁にリソースを使用している人や物を特定することができ、パフォーマンスに問題が出ている場合には対応することが容易になります。 Contributor Insightsの利用は有料となるので注意しましょう。

Amazon CloudWatch Logsの利用料金

Anazon CloudWatch Logsの利用には初期費用は不要でAWSの無料枠の範囲で始めることができます。小規模なアプリケーションやサービスにおいてはほとんどの場合、追加料金は必要ありません。 CloudWatch Logsの無料枠の範囲は以下の通りです。
機能 無料枠
メトリクス 基本モニタリング(5分間隔)詳細モニタリングのメトリクス10個(1分間隔)100万APIリクエスト
ダッシュボード 最大50個のメトリクスに対応するダッシュボード3個
ログ 5GB(取り込み、ストレージのアーカイブ、Logs Insightsクエリによってスキャンされたデータ)

Amazon CloudWatch Logsを使ってみよう

今回はAWS EC2上にあるLinuxマシンのログデータを収集する設定を行ってみたいと思います。EC2のマシンがAmazon Linuxの場合はログ収集をより簡単に開始することができます。 その他のOS、またはオンプレミスサーバーの場合は別途手順がありますので、以下公式サイトのユーザーガイドを参照してください。 【Amazon Linux以外またはオンプレミスサーバーの場合は以下を参照】 CloudWatch エージェントをダウンロードおよび設定する

IAMロールを作成する

ログ監視対象のAWS EC2インスタンスがCloudWatch logsにアクセス可能とするため、専用のIAMロールを作成します。 まずAWSマネジメントコンソールを開き、IAMを選択します。左ペインより[ロール]を選択し、[ロールの作成ボタン]を選択します。 「信頼されたエンティティの種類を選択」では[AWSサービス]、「ユースケースの選択」において[EC2]を選択し、[次のステップ:アクセス権限]へ進みます。 インスタンスがCloudWatch logsへアクセスするためのポリシーとして[CloudWatchAgentServerPolicy]が用意されています。検索窓で”CloudWatchAgent”と入力すると出てきます。 Attachアクセス権限ポリシー画面で「CloudWatchAgentServerPolicy」のポリシーにチェックを入れ、[次のステップ:タグ]へ進みます。 タグの追加は任意で行い、[次のステップ:確認]へ進みます。確認画面で任意のロール名(たとえばCloudWatchLogsTestUser)を入力して[ロールの作成]ボタンをクリックします。 ロールを作成したらログ監視を行いたいEC2のインスタンスへ作成したロールをアタッチします。 EC2からログ監視を行うインスタンスを選択し、[アクション]-[セキュリティ]-[IAMロールを変更]に進みます。 作成したロールを選択して[保存]ボタンをクリックするとインスタンスへのロールのアタッチが完了します。

CloudWatch Logsエージェントのインストールを行う

Amazon Linuxの場合は以下のコマンドを実行することでCloudWatch Logsエージェントのインストールを行うことができます。
sudo yum install amazon-cloudwatch-agent
インストールが完了すると/opt/aws/amazon-cloudwatch-agent/フォルダが出来ますので、確認しましょう。

CloudWatch Logsエージェントの設定を行う

CloudWatch Logsエージェントを実行する前にエージェントの設定ファイルを作成する必要があります。 設定ファイルの作成は設定ウィザードを実行することで対話形式で簡単に作成することが可能です。 設定ウィザードを実行するには以下のコマンドを打ちます。
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
あとは質問に答えていくことで設定ファイルが作成されます。Linuxの場合は/opt/aws/amazon-cloudwatch-agent/bin/ フォルダに config.json というファイル名で作成されます。

CloudWatch Logsエージェントを開始する

CloudWatch Logsエージェントを開始するにはコマンドラインで以下のように打ちます。
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json
※設定ファイルの場所を変更した場合はfile:を変更したファイルパスにします。 エージェントの起動に成功するとCloudWatchの画面でEC2インスタンスのログやステータスを参照できるようになります。

まとめ

今回はAmazon CloudWatch logsの概要とメリット、AWS EC2インスタンスでログ監視を使ってみる方法についてご紹介しました。 Amazon CloudWatch logsを使うことでAWS上のインスタンスのログ監視は簡単に始めることができ、また分析機能を使うことでバグやパフォーマンスの改善に役立つので是非試してみましょう。 公式サイトは沢山のドキュメントやリファレンスが蓄積されており、AWS上のサーバで今現在困っていることがあるのならばログ監視を行うことで解決できるかもしれません。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】