필자는 EC2 + S3 + Code Deploy + Github Action을 사용하여 CICD 파이프 라인 구축중
CD Workflow에서 S3에 project 소스들을 zip파일로 압축시켜 s3 bucket에 업로드한 후 Code Deploy가 잘 다운로드를 받아 배포를 잘 진행하고 있는지
aws console에서 확인중 다음과 같은 에러를 마주하였다.
CodeDeploy agent was not able to receive the lifecycle event. Check the CodeDeploy agent logs on your host and make sure the agent is running and can connect to the CodeDeploy server.
구글링을 10분 정도 하니 문제를 발견할 수 있었다. 바로 권한 관련 문제였는데
EC2에 Code Deploy Full Access IAM Role을 부여가 되어있었지만
필자는 EC2를 생성하고 나자마자 바로 Code Deploy Agent를 설치했기 때문에 (IAM Role을 부여하기 전에)
실행되고 있던 Code Deploy Agent에는 해당 Role이 적용되지 않는 문제였다.
해결방법은 ec2에 접속하여 CLI로
sudo service codedeploy-agent restart
를 입력해주면 Code Deploy Agent를 재시작 하면서 부여된 IAM Role이 적용된다.