作記録

記憶代わり

【AWS】CloudWatch Logsを利用してログを確認する手順

概要

EC2インスタンス内に出力されたログをCloudWatch Logsの画面から確認する手順を記録します。

目的

下記画像のように、CloudWatch Logs画面でEC2内のログを見る事が出来るようにする事。 f:id:JTNsaku:20201023184949p:plain

手順

  1. IAMを利用して、CloudWatch Logsによりログを見たいEC2(以下、「対象のEC2」という。)用のロールを作成する。
    なお、既に対象のEC2のロールを作成済みの場合は、手順1は行わなくて良い。

  2. 上記1で作成した(または作成済みであれば、作成済みの)ロールに下記2つのポリシーをアタッチする。

    • AmazonEC2RoleforAWSCodeDeploy
    • CloudWatchAgentAdminPolicy      f:id:JTNsaku:20201023191557p:plain     
  3. EC2インスタンスの画面のIAMロールを変更ボタンを押して、上記1,2で作成したアタッチしたロールをEC2インスタンスに紐付ける。

  4. EC2インスタンス内のAmazon Linux2を利用して、amazon-cloudwatch-agent をインストールする。
    具体的には、sshでEC2インスタンスにログイン後、下記のコマンドを実行する。
    参考: CloudWatch エージェントのインストール - Amazon CloudWatch

    sudo yum install amazon-cloudwatch-agent

  5. CloudWatchエージェント設定ウィザードを利用して、CloudWatchの設定ファイルを生成する。
    具体的には、EC2インスタンスにログイン後、下記のコマンドを実行する。
    実行後に、質問される内容はログファイルのパス以外は、エンターキーを押す事でdefaultの内容が設定される。
    参考: ウィザードを使用して CloudWatch エージェント設定ファイルを作成する - Amazon CloudWatch

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
    設定したファイルのパスは、/opt/aws/amazon-cloudwatch-agent/bin/config.json である。

  6. cpllectdをインストールする。

    sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo yum install -y collectd

  7. CloudWatchエージェントを起動する。
    具体的には、EC2インスタンスにログイン後、下記のコマンドを実行する。
    参考: サーバーで CloudWatch エージェントをインストールして実行する - Amazon CloudWatch

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:configuration-file-path

以上の操作により下記画像のように、CloudWatch Logs画面でEC2内のログを見る事が出来るようになれば終了。 f:id:JTNsaku:20201023184949p:plain

参考

統合 CloudWatch エージェントを使用して CloudWatch Logs の使用を開始する - Amazon CloudWatch Logs

CloudWatch エージェントのインストール - Amazon CloudWatch

ウィザードを使用して CloudWatch エージェント設定ファイルを作成する - Amazon CloudWatch

サーバーで CloudWatch エージェントをインストールして実行する - Amazon CloudWatch