【AWS】CloudWatch Logsを利用してログを確認する手順
概要
EC2インスタンス内に出力されたログをCloudWatch Logsの画面から確認する手順を記録します。
目的
下記画像のように、CloudWatch Logs画面でEC2内のログを見る事が出来るようにする事。
手順
IAMを利用して、CloudWatch Logsによりログを見たいEC2(以下、「対象のEC2」という。)用のロールを作成する。
なお、既に対象のEC2のロールを作成済みの場合は、手順1は行わなくて良い。上記1で作成した(または作成済みであれば、作成済みの)ロールに下記2つのポリシーをアタッチする。
- AmazonEC2RoleforAWSCodeDeploy
- CloudWatchAgentAdminPolicy
EC2インスタンスの画面のIAMロールを変更ボタンを押して、上記1,2で作成したアタッチしたロールをEC2インスタンスに紐付ける。
EC2インスタンス内のAmazon Linux2を利用して、
amazon-cloudwatch-agent
をインストールする。
具体的には、sshでEC2インスタンスにログイン後、下記のコマンドを実行する。
参考: CloudWatch エージェントのインストール - Amazon CloudWatchsudo yum install amazon-cloudwatch-agent
CloudWatchエージェント設定ウィザードを利用して、CloudWatchの設定ファイルを生成する。
具体的には、EC2インスタンスにログイン後、下記のコマンドを実行する。
実行後に、質問される内容はログファイルのパス以外は、エンターキーを押す事でdefaultの内容が設定される。
参考: ウィザードを使用して CloudWatch エージェント設定ファイルを作成する - Amazon CloudWatchsudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
設定したファイルのパスは、/opt/aws/amazon-cloudwatch-agent/bin/config.json
である。cpllectdをインストールする。
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo yum install -y collectd
CloudWatchエージェントを起動する。
具体的には、EC2インスタンスにログイン後、下記のコマンドを実行する。
参考: サーバーで CloudWatch エージェントをインストールして実行する - Amazon CloudWatchsudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:configuration-file-path
以上の操作により下記画像のように、CloudWatch Logs画面でEC2内のログを見る事が出来るようになれば終了。
参考
統合 CloudWatch エージェントを使用して CloudWatch Logs の使用を開始する - Amazon CloudWatch Logs
CloudWatch エージェントのインストール - Amazon CloudWatch