728x90
에러 발생 글
Code Deploy 확인
AWS CodeDeploy를 들어가보니 배포 상태가 실패되고 있었다.
Ubuntu 확인
Ubuntu의 Sudo 모드로 접속하여 AWS Log를 확인해보았다.
/var/log/aws/codedeploy-agent/의 log들을 확인하던 도중
2023-03-04 07:50:17 ERROR [codedeploy-agent(46548)]: InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller: Missing credentials - please check if this instance was started with an IAM instance profile
2023-03-04 07:51:47 INFO [codedeploy-agent(46548)]: Version file found in /opt/codedeploy-agent/.version with agent version OFFICIAL_1.4.1-2244_deb.
2023-03-04 07:51:47 ERROR [codedeploy-agent(46548)]: InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller: Error polling for host commands: Aws::Errors::MissingCredentialsError - unable to sign request without credentials set - /opt/codedeploy-agent/vendor/gems/aws-sdk-core-3.121.1/lib/aws-sdk-core/plugins/signature_v4.rb:74:in `sign_request'
위와 같은 로그가 찍혀 있는 것을 확인했다.
해결
해당 인스턴스에 IAM 역할이 비어있는 것을 확인하였다.
이전에 만들어 놨던 IAM 역할을 연결한다.
연결하고 다시 Code Deploy로 넘어가서 실패한 배포를 클릭한 다음
배포 재시도를 시작한다.
실패
멍청함 한스푼
실패
재시도
EC2에 IAM을 적용하고 Code deploy를 재시작해야 제대로 적용된다는 글을 보고
sudo service codedeploy-agent restart
해당 명령어를 ubuntu에 다시 적용한 후 재배포.
실패
ApplicationStop은 통과 완료
DownloadBundle 실패. 실패 이유는 The specified key does not exist. 라고 뜬다.
S3를 찾아보니 빌드를 위한 *.zip 파일이 존재하지 않았다.
깃허브 액션을 들어가보니... gradle.yml을 수정하면서 fail이 발생했다.
스크립트를 수정하고 다시 배포.
성공.
문제는 2가지였다.
- EC2에 IAM 연동
- appspec.yml에 적힌 경로와 해당 파일 경로 불일치
반응형