젠킨스와 Codedeploy를 이용하여 ec2(ubuntu)에 배포하던 중 발생한 오류입니다.
The deployment failed because no instances were found for your deployment group. Check your deployment group settings to make sure the tags for your Amazon EC2 instances or Auto Scaling groups correctly identify the instances you want to deploy to, and then try again.
직역하면 배포 그룹에 대한 인스턴스를 찾을 수 없기 때문에 배포가 실패했다고 합니다.
EC2 인스턴스 (ubuntu)에는 codedeploy-agent가 깔려 있고, 로그를 먼저 찾아보았습니다.
- EC2 인스턴스 접속 후 /var/log/aws/codedeploy-agent로 이동
- cd /var/log/aws/codedeploy-agent
- codedeploy-agent.log 로그 확인
- cat codedeploy-agent.log
- 에러 메시지 확인
ERROR [codedeploy-agent(17613)]: InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller: Missing credentials - please check if this instance was started with an IAM instance profile
EC2에 CodeDeploy 관련 IAM Role이 부여되기 전에 CodeDeploy Agent가 실행되면서 IAM Role이 적용 안되었거나, IAM Role 이 부여가 안된것.
저같은 경우는 배포할 EC2 인스턴스에 IAM Role을 부여 안해서 생긴 문제였습니다.
그래서 EC2 인스턴스에 권한을 부여하고 해당 EC2 내에서 codedeply-agent를 재시작 하였습니다.
- AWS EC2 인스턴스 목록 접속 후 해당 인스턴스 클릭 -> 작업 -> 보안 -> IAM 역할 수정 -> 권한 있는 IAM으로 Update
- codedeploy agent 재시작 (ubuntu)
sudo service codedeploy-agent restart