원격PC에서 AWS 배포 프로세스 개선(AWS, gdown 활용)

2024. 10. 27. 16:06실무이야기

원격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를 이용.

 

GitHub - wkentaro/gdown: Google Drive Public File Downloader when Curl/Wget Fails

Google Drive Public File Downloader when Curl/Wget Fails - wkentaro/gdown

github.com

 

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번은 배포하는 사이트였기 때문에 배포시간이 매우 절약이 되어 그만큼 다른 일을 할 수 있다는 장점이 되었습니다.