Skip to main content

EC2 vs S3 비교 & 아키텍처


1. EC2 vs S3 차이

항목

EC2 (Elastic Compute Cloud)

S3 (Simple Storage Service)

주 목적

가상 서버 (컴퓨팅 파워 제공)

객체 스토리지 (파일 저장용)

역할

웹서버, 앱서버, DB서버 실행

이미지, 백업, 정적 파일 저장

데이터 저장 방식

내부 디스크 (EBS)

객체 단위 저장 (key-value 구조)

접근 방식

SSH 접속, 서버 실행

HTTP/HTTPS 업로드/다운로드

운영체제

Linux/Windows 등 설치 가능

운영체제 없음

요금 기준

사용 시간, 인스턴스 스펙

저장 용량, 요청 수, 전송량

예시

웹 앱, API 서버 구동

이미지, 백업, 정적 웹 호스팅 등


2. 차이점

  • EC2 = 서버
    • 내가 쓰는 컴퓨터와 유사
    • 프로그램 설치 및 실행 가능
    • 디스크(EBS)는 보조 저장소
  • S3 = 클라우드 드라이브
    • 구글 드라이브처럼 파일 저장에 최적
    • 서버 없어도 이미지 업로드/공유 가능
    • 대용량 정적 콘텐츠 배포에 적합

3. 둘 다 저장소 기능 포함하지만

항목

설명

EC2

주로 코드 실행 및 처리 에 사용, 저장은 부가 기능

S3

저장 자체가 주 기능, 실행 기능 없음


4. 비유

항목

비유

EC2

내가 직접 사용하는 컴퓨터 (앱 설치 후 실행)

S3

구글 드라이브 (파일 저장 및 다운로드 전용)


5. EC2 + S3 사용 예시

시나리오: 이미지 업로드 웹 애플리케이션
[사용자 브라우저]
     ↓ 요청
[EC2 웹서버]
     ↓ 업로드 처리 (Java, Node, Python 등)
[S3 버킷]
     ↑ 이미지 저장

구성 요소

구성 요소

역할

EC2 인스턴스

웹서버/API 서버 실행 (예: Spring, Express 등)

S3 버킷

업로드된 파일 저장소

IAM 역할

EC2가 S3에 접근할 수 있는 권한 부여

보안 그룹

EC2에 외부에서 접속 허용 (80/443포트)

(선택) CloudFront

전 세계로 빠르게 이미지 전송 (CDN 기능)

  1. 블로그에서 이미지 업로드 기능
  2. EC2에서 백업 스크립트로 정기적으로 S3에 로그 저장
  3. 웹 앱의 프론트엔드 정적 파일을 S3에 배포하고 CloudFront로 캐싱
  4. EC2 ↔ S3 연결 시 IAM Role 사용이 권장된다. (보안)
  5. 또한 보안 관련하여 S3 버킷은 퍼블릭 액세스 차단이 기본이라고 한다.
  6. 업로드 URL을 클라이언트에 줄 경우 Presigned URL 사용

6. 정리

  • EC2는 실행, 처리 중심
  • S3는 저장, 보관 중심

  • 둘을 함께 사용하면 서버는 가볍고, 저장은 안전하게 가능