그림으로 전체 보기
Frontend
Route 53 + CloudFront + S3를 선택한 이유
프론트엔드를 어떻게 배포를 할지 여러가지 옵션이 존재했다. 그중 AWS를 이용한 배포를 선택했는데 눈에 띈 것이 이 두가지였다.
S3 + CloudFront
장점
- 세밀한 설정 및 최적화가 가능하다.
- 사용한 만큼만 지불하는 방식으로, 작은 규모의 프로젝트에 적합하다.
- CDN 서비스를 이용하기 때문에 많은 나라에서 안정적인 속도를 보장한다.
- S3를 사용하기 때문에 가용성과 내구성을 보장한다.
- CloudFront를 이용해서 SSL 인증서 연결을 등록해 https를 사용가능하게 한다.
단점
- 초기 설정 및 유지 보수가 복잡할 수 있다.
- CI/CD 파이프라인을 직접 구성해야한다.
amplify
장점
- 내부적으로 이미 S3 + CloudFront가 구성돼있음.
- CI/CD 구축이 굉장히 쉽다.
- 모니터링 기능을 제공하여 서비스를 관리하기 좋다.
- 빌드 시간 + 데이터 트래픽 송수신 비용 + 저장공간 사용량에 대한 비용만 청구한다.
단점
- 상세한 옵션 설정이 불가능하다.
- 트래픽 요금이 기존보다 비싸다.
- 빌드 시간당 요금이 발생하기 때문에 빌드 시간을 줄이려는 노력이 필요하다.
선택
위의 조건들을 쉽게 정리해보면 CloudFront + S3
의 경우에는 하나하나 모두 설정을 해야하지만 비용이 저렴하고, amplify
의 경우 그 설정이 이미 구성돼서 설정이 편하지만 비용이 비싸질 수 있다고 말할 수 있다. 나의 경우에는 어느정도 공부의 목적이 강하기 때문에 CloudFront + S3
을 직접 구성해보는 선택을 하였다.
Backend
EC2를 선택한 이유
일단 현재 백수상태라서 돈이 적게 나오는 방향으로 가려고 했고, 프론트엔드를 AWS에 배포했기 때문에 백엔드 또한 AWS로 배포한다면 양쪽으로 관리하기가 쉬울 것 같다고 생각해 AWS에 배포하기로 정했다.
reference
https://suvera.tistory.com/79