인스턴스 문제 해결 - AWS CodeDeploy

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

인스턴스 문제 해결

태그를 올바르게 설정해야 함

list-deployment-instances 명령을 사용하여 배포에 사용되는 인스턴스에 태그가 올바르게 지정되었는지 확인합니다. 출력에서 EC2 인스턴스가 누락된 경우 EC2 콘솔을 사용하여 인스턴스에 대해 태그가 설정되었는지 확인합니다. 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서콘솔의 태그 작업을 참조하세요.

참고

인스턴스에 태그를 지정한 다음 즉시 CodeDeploy를 사용하여 해당 인스턴스에 애플리케이션을 배포하면 이 인스턴스가 배포에 포함되지 않을 수 있습니다. 이는 CodeDeploy가 태그를 읽으려면 몇 분 가량 걸릴 수 있기 때문입니다. 따라서 인스턴스에 태그를 지정하고 5분 이상 기다린 다음 해당 인스턴스에 배포하는 것이 좋습니다.

인스턴스에 AWS CodeDeploy 에이전트가 설치되어 실행 중이어야 합니다.

인스턴스에서 CodeDeploy 에이전트가 설치되어 실행 중인지 확인하려면 CodeDeploy 에이전트가 실행 중인지 확인하십시오. 단원을 참조하세요.

CodeDeploy 에이전트를 설치, 제거 또는 다시 설치하려면 에이전트를 설치합니다. CodeDeploy 단원을 참조하세요.

배포 중 인스턴스가 종료되면 최대 1시간 동안 배포에 실패하지 않음

CodeDeploy는 각 배포 수명 주기 이벤트가 완료될 때까지 실행되도록 1시간의 기간을 제공합니다. 이 기간은 길게 실행되는 스크립트에 충분한 시간입니다.

수명 주기 이벤트 진행 중 스크립트가 완료될 때까지 실행되지 않는 경우(예: 인스턴스 또는 CodeDeploy 에이전트가 종료된 경우)에는 최대 1시간 가량 지난 후 배포 상태가 Failed로 표시될 수 있습니다. 스크립트에 지정된 제한 시간이 1시간보다 짧은 경우에도 마찬가지입니다. 이는 인스턴스가 종료되면 CodeDeploy 에이전트도 종료되어 스크립트를 더 이상 처리하지 못하기 때문입니다.

그러나 인스턴스가 수명 주기 이벤트 사이에 종료되거나 첫 번째 수명 주기 이벤트 단계 시작 전에 종료되면 불과 5분 뒤에 시간 초과가 발생합니다.

인스턴스에 대한 배포 실패를 조사하기 위해 로그 파일 분석

배포의 인스턴스 상태가 Succeeded 이외의 다른 상태이면 배포 로그 파일을 검토해 문제를 식별할 수 있습니다. 배포 로그 데이터에 액세스하는 방법은 CodeDeploy EC2/온프레미스 배포에 대한 로그 데이터 보기 단원을 참조하세요.

실수로 삭제된 경우 새 CodeDeploy 로그 파일 만들기

인스턴스에서 배포 로그 파일을 실수로 삭제한 경우 CodeDeploy는 대체 로그 파일을 만들지 않습니다. 새 로그 파일을 만들려면 인스턴스에 로그인한 후 다음 명령을 실행합니다.

Amazon Linux, Ubuntu Server 또는 RHEL 인스턴스의 경우, 다음 명령을 아래의 순서대로 한 번에 하나씩 실행합니다.

systemctl stop codedeploy-agent
systemctl start codedeploy-agent

Windows Server 인스턴스:

powershell.exe -Command Restart-Service -Name codedeployagent

"InvalidSignatureException - Signature expired: [time] is now earlier than [time]" 배포 오류 문제 해결

CodeDeploy는 작업을 수행하기 위해 정확한 시간 참조가 필요합니다. 인스턴스의 날짜와 시간이 잘못 설정되어 있으면 배포 요청의 서명 날짜와 일치하지 않아 CodeDeploy가 해당 요청을 거부합니다.

잘못된 시간 설정과 관련된 배포 실패를 피하려면 다음 항목을 참조하세요.