프로젝트가 거의 끝나면서 인생 첫 배포를 할 때가 왔다!!
CRUD만 해왔던 나는 반쪽짜리 백엔드였던 것이다..!!
여러 클라우드 서비스가 있지만 나는 AWS를 이용해보려 한다.
프리 티어가 있기 때문이다... 추후 AWS RDS와 바로 연결해서 사용하면 좋을 것 같다 😉
개발자는 영어랑 친해야한다지만.. 나는 아직 절친이 되지 못했다.
처음 AWS에 가입하고 만들어보려니 설정해야하는 것이 너무 많았고 잘못하다가는 과금으로 이어질 수 있는 문제이기에 다른 블로그의 도움을 많이 받았다..🥲
나는 이 블로그 를 많이 참조해서 작업했다.
프리 티어를 이용할 수 있는 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 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
도커 설치 완료!
익숙한 git 명령어를 이용해서 내 프로젝트를 가져오자.
나는 main이 아닌 다른 브랜치를 받아와야 해서 branch 옵션도 넣어줬다.
git clone --branch 브랜치명 저장소URL
로컬에서 docker를 실행할 때와 같이 명령어를 이용해서 docker compose up!

결과물에 누구나 접속할 수 있게 되었다!
언제까지 서버를 열어둘지는 모르겠지만 여기에서 확인 가능하다.
프로젝트에 대해서는 깃허브 리드미를 읽어주시길..