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/