EC2 1대로 서비스 운영하기 - 바이브 코딩 배포의 시작
바이브 코딩 서비스를 EC2 1대에 배포를 시작하는 경우 VPC 네트워크, EC2의 구성을 이해 해봅니다

바이브 코딩으로 Next.js, PostgreSQL 만든 서비스를 1대의 EC2 서버에 구성한 아키텍처 입니다. 처음 AWS 배포를 한다면 EC2 1대에 배포를 해서 사용하면서 1-Tier 아키텍처를 이해해보면 좋습니다. 설명은 간략하게 하고, 마지막에 장단점을 이야기 해봅니다.
1. VPC
- Virtual Private Cloud 이며, AWS 내 가상 네트워크 공간
- 이 공간에 인터넷 연결을 위한 Internet Gateway 사용
- VPC 영역을 나눈 Public Subnet 사용
- AZ 가용 영역이라고 불리며, 물리 적으로 분리된 데이터 센터로 2a 영역을 사용
2. EC2
- Elastic Compute 이며 CPU, RAM, DISK. 네트워크로 구성
- 운영체제로 Amazon Linux 2023 사용
- 데이터를 저장할 DISK, 기본 EBS 1개 사용
- 웹 서버로 Nginx 사용하여 트래픽을 받아서 애플리케이션에 전달
- 애플리케이션 Next.js 실행
- 데이터베이스 PostgreSQL 애플리케이션 연결해서 데이터를 저장
■ 배포 과정
EC2 생성된 후에 작업해야 될 과정을 간략하게 살펴 봅니다.
1. SSH 연결
- 터미널 프로그램 Putty, MobaX 등을 통해서 EC2에 연결
2. Nginx 설치
- 가상호스트 만들고, 리버스 프록시 설정하여 애플리케이션 포트에 연결
3. Node 설치
- Node LTS 버전 설치
4. PostgreSQL 설치
- PostgreSQL 18 버전 설치
- DB와 사용자 생성
5. Next.js 애플리케이션 배포
- 리눅스 사용자 생성, 프로젝트 디렉토리 생성 및 권한 할당
- 애플리케이션 소스 복사, 인스톨, 빌드
- NPM 명령어로 애플리케이션 실행
6. 도메인 연결
- EC2 의 아이피를 도메인 A 레코드에 등록
7. 테스트
- 브라우저에서 도메인으로 서비스 연결하여 기능 확인
■ 서비스 운영
실제 서비스를 운영하기 위해서 준비를 해야 될 것
- Nginx 에 SSL 사용
- 애플리케이션 상태 관리를 위해서 PM2 실행
- CPU / 디스크 / 트래픽 모니터링
- Nginx, 애플리케이션 로그 모니터링
- 사용자 데이터 파일 및 DB 백업 관리
- 보안을 위해서 SSH, DB 사용자 IP 지정
■ 서버 비용
낮은 사양으로 해서 24시간 매일 사용한다고 했을 때, 월 요금은 약 2만원
트래픽은 100 GiB 까지 무료이며 부가세는 별도이고, 환율에 따라 요금 차이가 있습니다.
- EC2 (t3.micro) 15,000원
- EBS (10 GiB) 1,500원
- 공인 아이피 1개 5,000원
■ 마무리 및 다음 단계
이 구성은 AWS 서비스 배포 과정을 학습하거나 소규모 서비스를 시작하는 데 적합합니다. 하나의 서버에 모두 구성되어 있어 관리가 수월 합니다.
하지만, 하나의 서버에 웹 서버, 애플리케이션, 데이터베이스가 있어서 자원을 공유해서 사용하다 보니, 자원의 모두 소모 되면 서버가 정지 될 수 있습니다.
이럴 때는 서버 최적화를 하거나 조금 더 높은 사양이 서버를 사용하거나 서버를 분리 하여 사용해보는 것도 좋습니다.
다음은 2-Tier 아키텍처를 구성해서 분리해서 다루어보겠습니다.
