인스타그램 사이드 프로젝트: EC2로 Nestjs + Mysql 실행(02.16)

Joseph·2025년 2월 16일

목표 : EC2로 Nestjs + Mysql 실행

목표 실행 중 마주쳤던 어려움

1. EC2 사이즈 선택

비용 문제로 최대한 작은 EC2에서 NestJS와 MySQL을 실행하려고 했다.
처음에는 t1.micro 사이즈의 EC2를 선택하여 Nestjs + Mysql을 실행하였다. 그러자 예상보다 MySQL과 NestJS가 차지하는 메모리가 많아 SSH로 접근한 터미널이 급속도로 느려져서 아무것도 못하는 현상이 발생하였다.

여러 해결책을 시도할 수도 있었지만, 학습 난이도를 고려하여 간단하게 t1.micro -> t2.small 로 EC2 크기를 변경하였다.

2. EC2 보안그룹 - 인바운드 규칙

NestJS와 MySQL을 실행하는 환경을 구축하면서, EC2의 보안 그룹(인바운드 규칙)을 학습할 필요가 있었다.

목표 환경은 다음과 같았다.

1) EC2에서 NestJS와 MySQL을 실행하고 서로 연결하기
2) 내 로컬 환경에서 NestJS를 개발하면서, EC2의 MySQL에 접근하여 테스트하기
3) DBeaver에서 EC2 MySQL에 직접 연결하여 CRUD 작업을 수행하기

이 환경을 구축하려면, EC2 보안 그룹에서 3306 포트(MySQL)를 아래와 같이 허용해야 했다.

  • 내 컴퓨터의 DBeaver에서 MySQL에 접근할 수 있도록 내 IP를 허용
  • EC2 내부에서 실행 중인 NestJS가 MySQL에 접근할 수 있도록 EC2의 퍼블릭 IP를 허용

이러한 설정을 적용함으로써, NestJS는 내 로컬 환경에서 테스트 후 Git으로 배포하고, MySQL은 DBeaver를 통해 편리하게 관리할 수 있게 되었다.

profile
안녕하세요 프론트와 백 둘다 관심있는 웹개발자 이창무입니다.

0개의 댓글