본문 바로가기

Project/트러블 슈팅

[Error] AWS CodeDeploy 이전 배포 파일 사라지는 현상 & 로그 위치

개요

현재 AWS 프리티어 계정의 한 대의 EC2에서 Client와 WAS 를 함께 배포하고 있다. 하지만 어째서인지 클라이언트를 배포하면 WAS 파일이 삭제되고 WAS를 배포하면 클라이언트가 삭제되는 현상이 발생했다. 결론적으로 그 원인은 바로 CodeDeploy의 동작 방식에 있었다.

 

AWS CodeDeploy 공식 문서

 

EC2/온프레미스 배포 문제 해결 - AWS CodeDeploy

Amazon Linux, RHEL 및 Ubuntu Server 인스턴스에서 정리 파일은 /opt/codedeploy-agent/deployment-root/deployment-instructions/에 있습니다. Windows Server 인스턴스에서의 위치는 C:\ProgramData\Amazon\CodeDeploy\deployment-instructions

docs.aws.amazon.com

AWS 공식문서를 살펴보면 "각 배포 중 CodeDeploy가 먼저 정리 로그 파일에 나열된 파일을 이전 배포에서 모두 삭제하기 때문입니다." 라는 문장을 확인할 수 있다. cleanup 파일은 /opt/codedeploy-agent/deployment-root/deployment-instructions 경로에서 확인할 수 있다.

 

cleanup 파일에 등록된 파일들이 CodeDeploy가 다음 번의 배포를 실행할 때 우선적으로 제거할 목록들이다. 따라서 클라이언트를 배포한 후 서버를 배포하거나, 서버를 배포한 후 클라이언트를 배포하게 되면 기존 서로의 파일을 삭제하던 것이었다.