この記事の目次
Amazon CloudWatch Logsとは?

そもそもログって何?

Amazon CloudWatch Logsを使うメリット

メリットその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の利用料金

機能 | 無料枠 |
---|---|
メトリクス | 基本モニタリング(5分間隔)詳細モニタリングのメトリクス10個(1分間隔)100万APIリクエスト |
ダッシュボード | 最大50個のメトリクスに対応するダッシュボード3個 |
ログ | 5GB(取り込み、ストレージのアーカイブ、Logs Insightsクエリによってスキャンされたデータ) |
Amazon CloudWatch Logsを使ってみよう

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インスタンスのログやステータスを参照できるようになります。
まとめ
