[Project] AWS를 이용해 배포해보기

do_Rang·2025년 6월 19일

Project

목록 보기
4/7

프로젝트가 거의 끝나면서 인생 첫 배포를 할 때가 왔다!!
CRUD만 해왔던 나는 반쪽짜리 백엔드였던 것이다..!!

여러 클라우드 서비스가 있지만 나는 AWS를 이용해보려 한다.
프리 티어가 있기 때문이다... 추후 AWS RDS와 바로 연결해서 사용하면 좋을 것 같다 😉

🚀 AWS를 이용해 배포하기

개발자는 영어랑 친해야한다지만.. 나는 아직 절친이 되지 못했다.

처음 AWS에 가입하고 만들어보려니 설정해야하는 것이 너무 많았고 잘못하다가는 과금으로 이어질 수 있는 문제이기에 다른 블로그의 도움을 많이 받았다..🥲

AWS EC2 인스턴스 생성하기

나는 이 블로그 를 많이 참조해서 작업했다.

프리 티어를 이용할 수 있는 Ubuntu 기반으로 인스턴스를 생성했다.

나중에 내 컴퓨터에서 서버로 접속하기 위해서, 보안을 위해서도 꼭 필요하니 키 페어를 발급받아서 설정해두자.

그 외의 내용은 위에 언급한 블로그 내용대로 진행했다.

인스턴스 보안 설정

같은 저자분이 작성한 블로그 를 참조했다.

배포 전 해당 인스턴스로 접근할 수 있는 ip와 포트를 설정해주어야 한다.

보안그룹 - 인스턴스 선택 후 인바운드 규칙 편집을 진행한다. 여기서 ip를 제한하면 내가 미리 설정한 ip 외 접속을 막을 수도 있다.


ip는 따로 제한하지 않고, 0.0.0.0 으로 설정해 모두가 들어올 수 있도록 했다.

SSH는 내 로컬 컴퓨터에서 접근하기 위한 명령어이고 기본적으로 22번 포트로 접속한다.

그 외에도 HTTP, HTTPS가 기본적으로 설정되어 있고, 나는 DB 연결을 위한 MYSQL과 백엔드, 프론트엔드에서 사용하는 포트 번호를 사용자 지정 TCP로 만들어 주었다.

인스턴스에 접속하기

ssh 명령어로 내 로컬 환경에서 서버 컴퓨터로 접속할 수 있다. 이때 키페어는 필수이다.

키페어 파일이 위치한 곳으로 이동해서 해당 명령어를 입력한다. 나는 윈도우 환경이라 Git Bash에서 입력했다.

$ ssh -i pem파일명 사용자명@인스턴스퍼블릭IP주소

정상 접속을 확인한 뒤 작업하자.

Docker 설치하기

앞서 작성했던 게시물 중 Docker 사용법이 있었다. 배포하기 전엔 겁먹었는데 크게 다르지 않았다.

서버 컴퓨터에 Docker를 설치 후 docker compose up 명령어로 이미지를 띄우고, 그 컴퓨터의 ip주소와 포트번호를 통해 접속하면 된다.

이를 위해 서버 컴퓨터에 docker부터 설치해보자!

# 패키지 목록 업데이트
sudo apt-get update

# 도커 설치에 필요한 패키지 설치
sudo apt-get install ca-certificates curl gnupg lsb-release

# 도커 공식 GPG 키 추가
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 도커 레포지토리 설정
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  
# 다시 패키지 목록 업데이트
sudo apt-get update

# 도커 엔진 설치
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

도커 설치 완료!

내 프로젝트 clone

익숙한 git 명령어를 이용해서 내 프로젝트를 가져오자.
나는 main이 아닌 다른 브랜치를 받아와야 해서 branch 옵션도 넣어줬다.

git clone --branch 브랜치명 저장소URL

결과

로컬에서 docker를 실행할 때와 같이 명령어를 이용해서 docker compose up!

결과물에 누구나 접속할 수 있게 되었다!
언제까지 서버를 열어둘지는 모르겠지만 여기에서 확인 가능하다.

프로젝트에 대해서는 깃허브 리드미를 읽어주시길..

🤗 결론

  • 배포에 엄청 겁먹었었는데 나름 쉽게? 잘 된 것 같아서 뿌듯하다.
  • ip주소와 포트번호를 이용하는 방법 외 직접 url을 지정할 수 있는지 알아봐야겠다.
  • 역시 Docker는 최고 👍
profile
공부하자

0개의 댓글