본문 바로가기

카테고리 없음

Troubleshooting CodeDeploy agent's startup

codedeploy agent 가 제대로 실행되지 않아서 배포가 안 되는 이슈가 있다.

`ps -ef | grep codedeploy` 명령어로 프로세스를 살펴보면 `booting child` 상태에 계속 머무르고 있는 것을 알 수 있다.

원래 정상적으로 작동하고 있다면 아래와 같이 "InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller of master" 라는 것을 확인할 수 있어야 한다.

정상 작동 중인 codedeploy-agent

 

codedeploy-agent 자체의 로그를 살펴보면 아래와 같이 나왔다.

journalctl -xe 로도 어느정도 확인이 가능하지만 로그가 더 자세한 컨텍스트를 제공해준다.

로그 파일의 위치는 /var/log/aws/codedeploy-agent/codedeploy-agent.log 이다.

https://codedeploy-commands.ap-northeast-1.amazonaws.com 에 대한 SSL verification 이 실패한 것이 원인으로 보인다.

https://serverfault.com/questions/767680/amazon-codedeploy-failing-on-invalid-certificate/962350 이 글을 보면 서버를 재시작하여 해결했다고 나오는데, 애초에 지금 문제가 된 EC2 는 ASG 에서 newly launched 된 EC2 이다. 그리고 앞으로도 사람이 직접 재부팅 하는 일은 없어야 한다.

일단 stack trace 를 살펴보니 `/opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/command_poller.rb:64` 에서 abort 하는 것을 알 수 있다.

잠시 테스트/디버깅 목적으로 ssl verification 을 bypass 하기 위해 해당 라인을 주석처리하고 다시 `sudo systemctl restart codedeploy-agent` 를 해보면 child process 가 정상적으로 뜨는 것을 확인할 수 있다.

그러나 문제 해결을 위해서는 정상적으로 SSL verification 이 성공하도록 해야한다.

 

일단 생각보다 간단하게 해결할 수 있었는데, EC2 에서 아예 인터넷에 연결되지 않았던 것이 원인이었다.

ASG 에 연결된 Launch Template 에서 network 설정에서 eth0 인터페이스에 대한 Auto-assign public IP 가 disabled 됐던 것이 인터넷이 안 되게 한 원인이었던 것이고, 이를 다시 켜주니 문제가 해결됐다.

 

참고) 도움이 된 링크들

https://github.com/aws/aws-codedeploy-agent/issues/28

 

Bypass SSL check · Issue #28 · aws/aws-codedeploy-agent

I would appreciate a way to bypass the SSL verification check. We intercept all outbound traffic, including HTTPS for PCI reasons. Even though I have a file in /etc/profile.d with the following con...

github.com

https://stackoverflow.com/questions/63641038/aws-codedeploy-not-deploying-on-lightsail-basic-setup-ssl

 

AWS CodeDeploy not deploying on Lightsail basic setup SSL

So I'm following this tutorial: https://aws.amazon.com/blogs/compute/using-aws-codedeploy-and-aws-codepipeline-to-deploy-applications-to-amazon-lightsail/ Which has worked admirably up until the po...

stackoverflow.com

https://kaoru2012.blogspot.com/2019/08/aws-codedeploy.html

 

aws CodeDeployによりデプロイ失敗調査メモ

java、php、Linuxなどウェブ開発に関する技術ブログです。

kaoru2012.blogspot.com