VPS, Docker, Coolify 이용해서 서버 배포하기
1. VPS를 고려하게 된 이유
추가적으로 과금이 발생하지 않으면서 저렴한 비용으로 멈춤없이 지속적으로 서버를 유지하고 싶었다. 물론 Render 이용해서 무료 배포 이용하는 방법이 있다. 일정 시간동안 요청이 없으면 서버를 절전모드처럼 유지되는데, 다시 접속하는데 오래걸리지만 cron같은걸 이용해서 5분마다 서버에 접속신호 보내서 유지하는 사람도 있다고 한다. netcup의 VPS의 경우에는 일정 트래픽을 초과하더라도 과금이 아닌 속도 저하 상태로 지속된다.
2. VPS 비교
hetzner, digital ocean, green cloud vps, netcup 등이 있는데 그 중에서도 netcup과 hetzner를 고민했다. 일단 최저 사양으로 서버를 돌리다 필요하면 업그레이드를 진행하기 위해서 2vCPU, memory 4gbi, storage 40gbi 정도로 찾아봤다. hetzner와 netcup은 netcup이 스토리지가 3배 정도 더 크고 가격은 둘 다 월 6유로 정도에 netcup이 0.5유로 정도 더 저렴했다.
초기에는 그렇게 큰 스토리지가 필요하지 않고 나중에 스토리지를 추가로 붙이는 것도 많이 복잡하지 않았고 가격에 큰 차이도 없어서 고민을 많이 하다가 둘 다 일단 가입을 시작했다.
3. 구매
hetzner는 일단 구입을 하려면 가입을 해야하는데 가입도중 카드 등록과 함께 하나카드 보안프로그램을 깔아야했다. 일단 설치는 했는데 설치 인증이 안 되어서 바로 netcup으로 이동했다.
netcup은 처음에 회원가입이 아닌 바로 서버 사양을 고르고 구입하는 창으로 넘어간다. 구입하면서 주소와 이메일을 작성하면 이메일로 청구서와 로그인 방법이 날라온다.
하지만 netcup은 처음에 서버를 구입하면 설치비 5유로를 내야한다. 6유로짜리 서버 구매하면서 5유로라니 조금 부담스럽지만 첫 가입이나 이벤트로 5유로 바우처를 준다. 물론 6유로 짜리 구매할때는 최소금액이 안 차서 사용하지 못했다.
구매를 하면 이메일로 로그인 아이디와 패스워드가 온다. 그 정보를 이용해 로그인 후 원하는 결제방법을 고르면 끝난다.
4. VPS를 산 후에 할 일
- Ubuntu를 설치, 도메인 연결, 백엔드 코드 Docker 세팅, Coolify 세팅
- VPS의 환경변수 관리 방법 알아보기
- PostgreSQL 붙이기
5. 도메인 연결
VPS를 구입하는 과정에서 보면 도메인을 월에 1유로 정도 추가해서 같이 구매할 수 있게 되어있다. 서버에도 도메인이 필요한기 싶어서 찾아보니 https://api.domain.com (opens in a new tab) 이런식으로 기존에 가지고 있던 도메인에 api를 붙여서 사용하기도 한다고 한다. 서버에도 사용한다는건 몰랐지만 프론트 배포를 위해서 구매해둔 도메인을 이용한다.
netcup을 cloudflare에 붙인다.
9. 총비용
도메인 10달러(cloudflare), VPS 월 6유로(netcup) , 프론트 무료 (vercel 사용이 많아지면 유료로 바꿔야하는데 제발 그정도가 될 수 있으면 좋겠다.)
총 11.~~ 유로가 결제되었는데 한국돈으로는 만 구천원이 나갔다. 환율의 중요성을 다시한번 깨닫는다.
12. 기타
몰랐는데 hetzner에는 서버 옥션도 있다. 정말 모르던 세상 이용약관 필요하면 읽어보기 https://www.netcup.com/en/terms-and-conditions (opens in a new tab)
이후에 해야할 일
- 서버 및 DB 백업 방법 알아보기