개인 프로젝트 CI/CD 구성 중 발생한 문제 해결기입니다.
💡 GitHub Actions로 S3에 build 관련 파일 업로드, CodeDeploy로 EC2 서비스 배포로 구성했어요. :)
왜 자꾸 실패하는지 모르겠습니다. 심지어 UnknownError라고 합니다ㅠㅠ
EC2 인스턴스 재부팅, codedeploy-agent 재설치도 해봤지만 같은 문제가 계속 발생했습니다..
codedeploy-agent
서비스의 상태를 확인해봤습니다.
설치 후 실행 확인 시에는 정상이라 문제가 없다 생각하고 그냥 넘어갔었습니다..
혹시 몰라 로그 파일(/var/log/aws/codedeploy-agent/codedeploy-agent.log
)을 봤습니다. 그랬더니..
에러가 계속 발생하고 있었습니다!!!!👿
그래도 일단 원인은 찾았어요. :)
EC2의 IAM 정책
Code Deploy IAM 정책
S3 접근 및 IAM 유저 정책
필자는 모든 정책을 적절히 부여했다고 생각합니다.
도대체 뭐가 문제지??
그러던 중 이런 글을 발견했습니다.
인스턴스에 기존 AWS 자격 증명 파일이 저장되어있어 IAM 정보를 제대로 못 가져오는 현상이 있을 수 있다고 합니다.
출처: AWS re:Post
그래서 바로 지우고 다시 시작한 후, 로그를 확인합니다.
# AWS 자격증명 파일 삭제
$ sudo rm -rf /root/.aws/credentials
# codedeploy-agent 재시작
$ sudo systemctl restart codedeploy-agent
드디어!! 에러가 발생하지 않아요ㅠㅠ
아까 실패한 배포도 이제 실패하지 않아요ㅎㅎ
기분 좋게 잘 수 있게 됐어요.
좋은 글이네요. 공유해주셔서 감사합니다.