카테고리 없음

S3를 이용한 배포 파일 전달 방식

kinim329 2026. 5. 14. 23:51

S3란?

S3는 AWS에서 제공하는 파일 저장소이다.
이미지, 로그 파일, 빌드 파일 같은 데이터를 저장할 수 있다.

배포 과정에서는 보통 빌드된 jar 파일을 임시로 보관하는 저장소 역할을 한다.

배포 흐름

Spring Boot 프로젝트를 빌드하면 실행 가능한 .jar 파일이 생성된다.

GitHub Actions
→ 프로젝트 빌드
→ jar 파일 생성
→ S3에 업로드
→ EC2에서 S3 파일 다운로드
→ Docker 컨테이너 실행

즉, S3는 서버를 실행하는 곳이 아니라
EC2가 가져갈 배포 파일을 보관하는 중간 저장소이다.

왜 S3를 사용할까?

GitHub Actions에서 바로 EC2로 파일을 보내는 방식도 가능하다.
하지만 S3를 사용하면 빌드 파일을 한 곳에 저장해두고, 여러 EC2 서버가 같은 파일을 받아갈 수 있다.

또한 배포 파일을 버전별로 관리하기도 편하다.