1. 개요

CloudWatch를 통하여 CodeDeploy 로그를 모니터링하는 방법이다.


2. 권한

IAM 인스턴스 프로파일에 CloudWatchLogsFullAccess 정책을 추가한다.


3. 설치 & 설정

3-1. 이미 인스턴스가 존재할 때

아마존에서 가이드되는 커맨드는 다음과 같다.

wget https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py
wget https://s3.amazonaws.com/aws-codedeploy-us-east-1/cloudwatch/codedeploy_logs.conf
chmod +x ./awslogs-agent-setup.py
sudo python awslogs-agent-setup.py -n -r REGION -c s3://aws-codedeploy-us-east-1/cloudwatch/awslogs.conf
sudo mkdir -p /var/awslogs/etc/config
sudo cp codedeploy_logs.conf /var/awslogs/etc/config/
sudo service awslogs restart

그래서 실제로 실행하여 보았다.

[ec2-user@ip-10-0-0-55 ~]$ wget https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py
--2018-01-18 00:16:40--  https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py
Resolving s3.amazonaws.com (s3.amazonaws.com)... 52.216.86.29
Connecting to s3.amazonaws.com (s3.amazonaws.com)|52.216.86.29|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 56093 (55K) [text/x-python-script]
Saving to: ‘awslogs-agent-setup.py’

awslogs-agent-setup.py                              100%[==================================================================================================================>]  54.78K   160KB/s    in 0.3s

2018-01-18 00:16:41 (160 KB/s) - ‘awslogs-agent-setup.py’ saved [56093/56093]

[ec2-user@ip-10-0-0-55 ~]$ wget https://s3.amazonaws.com/aws-codedeploy-us-east-1/cloudwatch/codedeploy_logs.conf
--2018-01-18 00:16:47--  https://s3.amazonaws.com/aws-codedeploy-us-east-1/cloudwatch/codedeploy_logs.conf
Resolving s3.amazonaws.com (s3.amazonaws.com)... 52.216.227.187
Connecting to s3.amazonaws.com (s3.amazonaws.com)|52.216.227.187|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 598 [application/octet-stream]
Saving to: ‘codedeploy_logs.conf’

codedeploy_logs.conf                                100%[==================================================================================================================>]     598  --.-KB/s    in 0s

2018-01-18 00:16:48 (23.2 MB/s) - ‘codedeploy_logs.conf’ saved [598/598]

[ec2-user@ip-10-0-0-55 ~]$ chmod +x ./awslogs-agent-setup.py
[ec2-user@ip-10-0-0-55 ~]$ sudo python awslogs-agent-setup.py -n -r REGION -c s3://aws-codedeploy-us-east-1/cloudwatch/awslogs.conf

Step 1 of 5: Installing pip ...DONE

Step 2 of 5: Downloading the latest CloudWatch Logs agent bits ... DONE

'AccessKeyId'

Step 5 of 5: Setting up agent as a daemon ...DONE

------------------------------------------------------
- Configuration file successfully saved at: /var/awslogs/etc/awslogs.conf
- You can begin accessing new log events after a few moments at https://console.aws.amazon.com/cloudwatch/home?region=REGION#logs:
- You can use 'sudo service awslogs start|stop|status|restart' to control the daemon.
- To see diagnostic information for the CloudWatch Logs Agent, see /var/log/awslogs.log
- You can rerun interactive setup using 'sudo python ./awslogs-agent-setup.py --region REGION --only-generate-config'
------------------------------------------------------
[ec2-user@ip-10-0-0-55 ~]$ sudo mkdir -p /var/awslogs/etc/config
[ec2-user@ip-10-0-0-55 ~]$ sudo cp codedeploy_logs.conf /var/awslogs/etc/config/
[ec2-user@ip-10-0-0-55 ~]$ sudo service awslogs restart
Stopping system awslogs daemon
Starting system awslogs daemon
Starting awslogs daemon
 (pid  5499) is running...                                 [  OK  ]

잘되었다.

3-2. 새로운 인스턴스에 설정할 때

https://aws.amazon.com/ko/blogs/devops/view-aws-codedeploy-logs-in-amazon-cloudwatch-console/