目的: EC2 のアクセスログを CloudWatch に送信する
.pem
キーを作成し、権限を chmod 400
で付与しておく参考: AWS公式 Quick Start - EC2 Instance
policies.json
の例:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:DescribeLogStreams"
],
"Resource": "*"
}
]
}
.pem
キーを用いて接続参考: CloudWatch Agent のインストール手順
# rsyslog をインストール
sudo dnf install rsyslog
sudo systemctl enable --now rsyslog
# 出力ファイル指定
echo 'auth,authpriv.* /var/log/secure' | sudo tee /etc/rsyslog.d/10-sshd.conf
# ファイル内容確認
cat /etc/rsyslog.d/10-sshd.conf
# rsyslog 再起動
sudo systemctl restart rsyslog
# エージェントをインストール
sudo dnf install amazon-cloudwatch-agent
# 設定ウィザードを実行
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
※ ウィザード回答時の注意:
cat /opt/aws/amazon-cloudwatch-agent/bin/config.json
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl \
-a fetch-config -m ec2 \
-c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json -s
sudo tail -n 100 /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log
👉 この流れで EC2 の /var/log/secure
のログが CloudWatch に送信されます。