원격PC에서 AWS 배포 프로세스 개선(AWS, gdown 활용)
원격PC에서 AWS 배포 프로세스 개선(AWS, gdown 활용)
유지보수를 담당하는 사이트가 있었는데 배포 방식에 대해서 문제라고 생각되는 부분이 있었습니다.
원격 배포 프로세스가 Google Drive에 .war 파일을 업로드 한 뒤, 원격PC에서 Download 후 원격PC에서 SFTP로 AWS서버에 파일을 Upload하는 방식이였는데요.
아래 프로세스를 보면 원격PC에서 Google Drive에 있는 파일을 Download할 때 시간이 굉장히 오래걸렸습니다.
이미지가 많은 사이트이다 보니 .war파일용량도 2GB가까웠는데요. Download 시간만 약 20~30분정도 걸렸습니다.
개선 전 배포 프로세스
개선전의 배포 프로세스 입니다. Google Drive -> 원격PC 다운로드에서 굉장히 많은 시간이 소요되었습니다.
원격PC에서 속도제한이 걸린 이유는 자세히는 모르겠지만 원격PC에 Download는 시간이 오래걸린다는 사실이였습니다.
개선 후 배포 프로세스
Google Drive에 파일을 Upload하는건 동일하지만 AWS Server에서 직접 Google Drive에 있는 File을 Download 했습니다.
속도는 약 40~70MB/s정도로 빠른 속도였으며 약 1분 이내로 Download가 완료되었습니다.
개선 방법
* gdown library를 이용.
gdown을 이용해서 Google Drive에 있는 File을 AWC EC2에 직접 Download를 하게 되었습니다.
또한 매번 gdown명령어를 치는게 귀찮았기에 Shell Script를 만들어 좀 더 간편하게 Download를 진행했습니다.
# gdown.sh
if [ "$#" -ne 1 ]; then
exit 1
fi
FILE_ID=$1
gdown https://drive.google.com/uc?id=$FILE_ID
개선 후기
재기동까지의 시간이 기존 평균 30분이라는것을 감안하면 지금은 5분 이내로 완료가 가능합니다.
일주일에 최소 1~2번은 배포하는 사이트였기 때문에 배포시간이 매우 절약이 되어 그만큼 다른 일을 할 수 있다는 장점이 되었습니다.