AWS-EC2(Elastic Compute Cloud)
2026. 2. 9. 09:09

EC2란? (Amazon EC2: Elastic Compute Cloud)

EC2는 AWS에서 제공하는 가상 서버(=클라우드 VM) 서비스야.
필요할 때 몇 분 안에 서버를 만들고, 필요 없으면 끌 수 있고, 트래픽이 늘면 서버 수를 늘려 **수평 확장(scale-out)**도 가능해.

1) EC2가 해결하는 문제 (왜 쓰나)

온프레미스에서 서버 한 대 운영하려면 보통 이런 일이 필요해:

  • 물리 서버 구매/납품/랙 장착
  • OS 설치, 네트워크 구성, 방화벽 설정
  • 장애 시 부품 교체, 백업/복구, 용량 증설
  • 트래픽 증가 시 서버 추가 구매(시간/비용 큼)

EC2는 이걸 “클릭 몇 번(또는 IaC)”으로 서버를 생성/확장/폐기할 수 있게 만들어서,

  • 빠른 배포
  • 유연한 확장
  • 비용 효율(사용한 만큼)
    을 가능하게 해.

2) EC2의 핵심 개념 (구성 요소)

(1) AMI (Amazon Machine Image)

  • EC2 인스턴스를 만들 때 사용하는 서버 이미지
  • OS(예: Amazon Linux, Ubuntu, Windows) + 초기 설정 템플릿
  • 기업에서는 “표준 AMI”를 만들어서 보안 설정/에이전트 등을 포함시키기도 함

(2) 인스턴스 타입(Instance Type)

  • CPU/메모리/네트워크 성능 스펙
  • 예) t3/t4g(범용), c계열(CPU), r계열(메모리), m계열(밸런스)

블로그 포인트: “워크로드에 따라 타입 선택 기준”을 적으면 실무감 올라감
예: WAS는 m/c계열, 캐시는 r계열, 빌드는 c계열 등

(3) EBS (Elastic Block Store)

  • EC2에 붙는 디스크(블록 스토리지)
  • 루트 디스크(부팅 디스크)도 EBS인 경우가 많음
  • 스냅샷으로 백업 가능

(4) 네트워크: VPC / Subnet

  • EC2는 반드시 VPC(가상 네트워크) 안에서 만들어짐
  • Public Subnet / Private Subnet에 따라 외부 접근 여부가 달라짐

(5) Security Group

  • EC2 앞단에서 동작하는 가상 방화벽
  • 인바운드/아웃바운드 규칙으로 포트 오픈 관리 (예: 22, 80, 443)

실무 포인트: “SG는 Allow만 있고 Deny는 없다” 같은 특징도 같이 적으면 좋음

(6) Key Pair (SSH 키)

  • 리눅스 EC2에 SSH 접속할 때 쓰는 키(개인키)
  • 기업은 보안상 Bastion/SSM으로 직접 SSH를 막기도 함

3) EC2는 어떻게 동작하나 (흐름)

  1. AMI 선택
  2. 인스턴스 타입 선택
  3. VPC/Subnet 선택
  4. 보안그룹 설정(포트/접근 IP)
  5. 스토리지(EBS) 크기 설정
  6. 생성 후 접속(SSH) → 앱 배포

4) EC2를 실무에서 어떤 용도로 쓰나 (대표 사례)

✅ (1) 웹/WAS 서버

  • Spring Boot, Node.js, Tomcat 등 애플리케이션 서버 운영

✅ (2) 배치/스케줄러 서버

  • 정산, 통계, ETL, 로그 처리

✅ (3) Bastion Host(점프 서버)

  • 외부에서 바로 내부 서버 접근을 막고, 중간 관문 서버로만 접속

✅ (4) 레거시 마이그레이션

  • “온프레미스 VM”을 거의 그대로 옮기고 싶을 때 가장 쉬운 선택

5) 장점 / 단점 (냉정하게)

장점

  • 서버를 직접 다루는 자유도 최고(설치/설정 마음대로)
  • 기존 리눅스 운영 경험 그대로 활용 가능
  • Auto Scaling/ALB 붙이면 탄력적 확장 가능

단점

  • 운영 책임이 크다
    • OS 패치
    • 보안 취약점 조치
    • 로그/모니터링 구성
    • 장애 대응
  • 서버 수가 늘면 “서버 팜”이 되어 운영 복잡도가 급증
    → 그래서 보통 **Auto Scaling + ALB + IaC(Terraform 등)**로 표준화함

6) EC2는 언제 쓰고 언제 안 쓰나 (선택 기준)

EC2가 좋은 경우

  • 커스터마이징이 필요한 서버(특정 라이브러리/에이전트/설정)
  • 레거시 앱 마이그레이션
  • 컨테이너/서버리스 이전 전 단계(중간 단계)

EC2가 덜 좋은 경우

  • “서버 운영 자체를 최소화”하고 싶을 때
    → ECS/Fargate, Lambda, App Runner 같은 관리형이 더 적합

'Infra&Cloud > AWS' 카테고리의 다른 글

AWS-S3(Amazon Simple Storage Service)  (0) 2026.02.08
AWS-IAM(Identity and Access Management)  (0) 2026.02.08
AWS-ALB(Application Load Balancer)  (0) 2026.02.08
AWS-RDS(Relational Database Service)  (0) 2026.02.08
AWS-SG(Security Group)  (0) 2026.02.08