✅ 동기
예에에에에에전에 만들었던 허접한 게시판을 뒤로하고 별다른 프로젝트를 진행하지 않았는데
이번에야말로 다른 프로젝트를 만들어보자 다짐하고 프론트를 담당해 주실 분을 모시고 프로젝트를 시작하였다.
평소였으면 우선 기능들을 전부 구현한 뒤 배포하겠지만 같이 작업해주시는 프론트 분이 있기 때문에
배포 서버를 먼저 만들고 기능 구현에 들어가려고 한다.
✅ 클라우드 서버
배포에 앞서 어떤 클라우드 서버가 좋을지 고민을 이틀은 했던 것 같다.
내가 생각하는 서버는 docker container를 이용해 WAS, DB, Redis를 한 번에 올려서 동작시켜야 했고,
다만 토이 프로젝트이다 보니 접속자는 없을 것을 감안하였기 때문에 아무리 클라우드 서버라고 하더라도
돈이 나가는 것을 원치 않았다.
그래서 공짜로 사용할 수 있는 클라우드 서버를 열심히 찾아보았다.
※ 각 클라우드에 관한 자세한 내용은 기재하지 않습니다.
1️⃣ AWS 프리티어
제일 이상적이었던 것 같다 방대한 레퍼런스와 국내 50% 이상의 점유율을 자랑하는 최고의 클라우드 플랫폼이다.
그런데 한가지 문제점이 생겼다가 aws 계정을 하도 오래전에 생성해서 그런지 프리티어를 적용할 수 없었다.
한 달에 어느 정도 금액을 내야 했는데 나는 그 돈조차도 아까워서 한발 물러났다.
2️⃣ GCP
AWS를 대신하기에 정말 괜찮은 서비스인 것 같다. AWS의 프리티어는 기간제임에 반해 GCP는 특정 조건을 만족하는
인스턴스를 생성한다면 평생 공짜로 쓸 수 있었고, 국내 점유율 20%에 육박한다.
그래서 나는 GCP를 이용하기로 마음을 먹고 진행을 하였으나
자꾸 암호화폐 채굴이니 뭐시기 하면서 인스턴스를 강제로 중지시켜 버렸다.
처음에는 혹시 메모리 사용량이 많다거나 혹은 외부에서 들어와서 헛짓거리를 했다거나 했을 가능성이 있어서
재검토 요청을 하고 이번에는 어떤 포트도 열지 않고 진행하고 있었는데 또 리소스가 중지되었다.
너무 화가 난 나머지 나는 다시는 GCP를 쓰지 않겠다고 다짐하고 과감하게 버렸다.
3️⃣ 오라클 클라우드
여기가 마지막 희망이었다. 국내 점유율 10%에 육박하면서 GCP와 마찬가지로 특정 조건을 만족하는 인스턴스는
평생 무료로 사용할 수 있다고 하였다.
이놈들은 더 미친놈들이다, 회원가입 과정에서 신용카드 정보를 입력하는데 분명 정상적으로 인증이 되었음에도 불구하고
마지막 회원가입 과정에서 트랜잭션 오류가 발생했다며 회원가입을 거부하였다.
그래서 문의메일을 보냈더니 돌아오는 답장은.... "우리도 몰?루", 그 뒤로 오라클은 바로 손절하였다.
그래서 미니PC를 이용한 홈서버를 구축할지 말지 이것저것 생각하다 결국 AWS 계정을 새로 생성하여 프리티어 서버를 이용하기로 마음먹었다...
✅ 인스턴스 생성
처음 AWS에 가입하고 나면 UI/UX가 그다지 친절한 것 같지는 않다. 우리는 프리티어 서버를 이용할 것이기 때문에
모든 서비스 -> EC2에 접근한다.
그리고 우측 상단에 리전을 설정하는 곳이 있는데 나는 한국 사람이기 때문에 서울을 선택했다.
이제 인스턴스 시작을 살포시 눌러준다.
나는 우분투가 편해서 서버를 우분투로 설정하였다. 프리티어가 적용되는 것은 오른쪽 상단에 프리티어 사용 가능이라고 나타나기 때문에 걱정할 것 없다.
인스턴스 유형이 상당히 많지만 우리는 무료로 이용할 것이기 때문에 프리티어가 가능한 항목을 선택해 준다.
키 페어는 ssh로 접근할 때 매우 중요하기 때문에 새로 가입한 사람은 키 페어를 생성해야 한다.
생성한 키페어로 인스턴스를 제어할 수 있으며 외부에서 ssh를 통해 접근할 때 필수적인 파일이니
다운로드하고 안전한 곳에 잘 보관해야 한다.
그리고 네트워크의 경우 WAS도 이용할 것이기 때문에 HTTP에 대한 접근을 허용해 주었다.
참고로 보안을 높이려면 SSH 트래픽 허용에 위치를 특정 IP로 잡아주는 것이 좋다.
마지막으로 스토리지 용량만 조정하면 마무리다.
프리티어의 경우 스토리지를 최대 30GB까지 사용할 수 있다.
그렇다면 당연히 30GB를 구성해 줘야
이러고 인스턴스 생성을 마무리하면 된다. 이후 인스턴스의 방화벽 인바운드, 아웃바운드 규칙 등은
본인 상황에 맞게 검색해서 잘 처리하면 될 것 같다.
✅ 마무리
이제 AWS 프리티어 서버를 정상적으로 생성했기 때문에 다음 포스팅에서는 해당 서버에 docker-compose를 이용해
WAS, DB, Redis를 설치하여 기동 하는 내용을 다뤄보려고 한다.
'Java > 쇼핑몰' 카테고리의 다른 글
쇼핑몰 - 6 [Spring Security + JWT + OAuth2 + Redis] (2) | 2024.12.02 |
---|---|
쇼핑몰 - 5 [spring security + JWT + Redis 로그인] (0) | 2024.11.19 |
쇼핑몰 - 4 [회원 가입 구현] (0) | 2024.11.12 |
쇼핑몰 - 3 [GitHub Actions를 통한 CI/CD] (3) | 2024.11.06 |
쇼핑몰 - 2 [Docker-compose 사용하기] (0) | 2024.11.03 |