**EC2(Elastic Compute Cloud)**는 AWS에서 제공하는 **가상 서버(가상 컴퓨터)**를 빌려 쓰는 서비스다.
한 문장으로는 이게 제일 정확했다.
“인터넷에 연결된 내 컴퓨터 한 대를 원격으로 빌린다.”
AWS 콘솔에서 EC2를 생성하면, “서버 1대”가 생기는데 AWS에서는 그걸 **인스턴스(Instance)**라고 부른다.
그리고 그 인스턴스 안에서 내가 원하는 걸 설치하고 실행한다.
- Java / Node
- Spring Boot / Express
- Nginx
- Redis / DB 등
즉, EC2는 “앱”이 아니라 앱을 올려놓을 ‘컴퓨터’를 제공하는 서비스다.
“인스턴스”란?
인스턴스 = EC2로 만든 서버 1대다.
(= AWS 데이터센터에 있는 가상 컴퓨터 1대)
인스턴스를 만들 때는 “어떤 컴퓨터를 빌릴지”를 고르게 된다. 주로 3가지를 결정한다.
(1) 서버 스펙(컴퓨팅 자원)
- CPU 코어 수
- 메모리(RAM)
- 네트워크 성능
- 성능 등급(인스턴스 타입)
즉, 어느 급의 컴퓨터를 빌릴지 선택하는 과정이다.
(2) 운영체제(OS)
- Ubuntu 같은 Linux
- Windows 등
즉, 어떤 OS가 깔린 컴퓨터를 빌릴지 고르는 것이다.
(3) 저장장치(디스크)
- 용량(몇 GB)
- 타입(gp3 같은 EBS 종류)
즉, 그 서버에 붙는 하드디스크(스토리지) 설정이다.
EC2를 왜 쓸까?
결론부터 말하면 내 PC로도 서버를 띄울 수는 있다.
근데 “서비스 운영/배포” 관점으로 가면 현실적인 문제가 한꺼번에 터진다.
내 PC로 서버 운영하면 생기는 현실 문제들
- 내 컴퓨터를 24시간 켜둬야 함
- 집 인터넷/공유기/방화벽/포트포워딩 때문에 외부 공개가 번거롭고 불안정
- 컴퓨터 꺼지거나 잠자기 모드 들어가면 서비스도 같이 죽음
- 트래픽/성능/안정성을 “내 PC 상태”에 의존하게 됨
EC2를 쓰면 달라지는 점
- AWS 데이터센터에 있는 서버를 빌리니 상시 가동이 기본
- 보안그룹/네트워크 설정이 “배포용 표준”으로 갖춰져 있음
- 서비스가 “내 집”이 아니라 클라우드에서 돌아감
그래서 이 표현이 꽤 정확했다.
AWS는 “내 컴퓨터 대신 24시간 켜둘 서버를 클라우드에서 빌리는 것”에 가깝다.
“배포”는 정확히 뭘 의미하는가
많이 헷갈리는 포인트인데, 배포 = EC2 인스턴스 생성이 아니다.
배포는 보통 여기까지 포함한다.
- 서버(EC2 등)에 내 앱을 올리고 실행한다
- 다른 사람이 접속할 수 있게 네트워크/포트/보안 설정을 한다
- 필요하면 도메인을 연결한다
- 필요하면 HTTPS까지 적용한다
즉,
“내 프로젝트를 인터넷에서 접근 가능한 형태로 ‘운영 상태’로 만들어두는 과정”
이게 배포다.
프론트엔드는 EC2 안 쓰나?
EC2로 프론트도 배포할 수는 있다.
다만 실무/프로젝트에서는 보통 정적 호스팅을 더 많이 쓴다.
- S3 + CloudFront
- Netlify / Vercel
반면 EC2는 주로 이런 용도에 더 자주 쓰인다.
- Spring Boot 같은 백엔드 API 서버
- WebSocket 서버
- 장기 실행되는 프로세스, 배치, 워커 등
'Infra > AWS' 카테고리의 다른 글
| 맥에서 EC2 접속하기 (0) | 2026.01.28 |
|---|---|
| EC2 세팅 - 스토리지 (0) | 2026.01.28 |
| EC2 세팅 - 보안 그룹 (0) | 2026.01.28 |
| EC2 세팅 - 헷갈렸던 것들 정리 (0) | 2026.01.28 |
| 배포란? - localhost에서 끝나면 서비스가 아니다 (0) | 2026.01.28 |