자료 출처: https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/EC2_GetStarted.html
☁️ Amazon EC2 개념 정리
🖥 1. Amazon EC2 (Elastic Compute Cloud)
✅ EC2란?
- AWS가 제공하는 가상 서버(Virtual Machine) 서비스
- 리눅스, 윈도우, macOS 등 다양한 OS 선택 가능
- 내가 원하는 사양(메모리, CPU 등)에 따라 서버 인스턴스를 생성할 수 있음
💡 주요 특징
- 다양한 아키텍처: x86, ARM (Graviton 프로세서)
- 구동 환경: 가상화, 베어메탈, SSD 스토리지 등
- EC2는 전 세계의 AWS 물리 서버 위에서 동작
🧩 2. EC2 인스턴스 유형

🗂 인스턴스 카테고리
- 범용 (T, M 시리즈) – 소규모 웹서버 등
- 컴퓨팅 최적화 (C 시리즈) – CPU 집약적 작업
- 메모리 최적화 (R 시리즈 등) – DB, 인메모리 작업
- 가속 컴퓨팅 (G, P 시리즈) – GPU, 머신러닝
- 스토리지 최적화 (I, H 시리즈 등) – 대용량 로컬 디스크
예: c7gn.xlarge → 컴퓨팅 최적화, 최신 세대, xlarge 사이즈
📏 3. 인스턴스 크기

-
인스턴스는 xlarge, 2xlarge, 4xlarge 등으로 세분화됨
-
CPU, 메모리 스펙에 따라 비용과 성능이 결정됨
-
예시:
t2.small → 1 vCPU, 2 GiB RAM
t2.large → 2 vCPU, 8 GiB RAM

👉 작은 인스턴스를 여러 개 쓰는 것과, 큰 인스턴스를 하나 쓰는 것의 비용 vs 성능 비교 필요

이런식으로 리소스를 관리하며 절약할 수 있다.
🛠 4. EC2 Auto Scaling
그래서 실제로 정의된 조건에 따라 어플리케이션의 부하를 처리하기 위해 EC2 인스턴스를 자동으로 추가하거나 제거하며 어플리케이션의 가용성을 유지하는 완전 관리형 서비스도 존재한다.
📌 개념
- EC2 인스턴스 수를 자동으로 늘리거나 줄이는 기능
- 서버 부하가 많아지면 자동으로 인스턴스를 추가
- 부하가 줄면 자동으로 줄여서 비용을 아낌
🔧 구성 요소
- Launch Template / Configuration: 인스턴스를 생성할 템플릿
- Auto Scaling Group: 관리 단위
- Scaling Policy: 언제, 어떻게 늘릴지/줄일지 조건
예: CPU 사용률 70% 이상 → 인스턴스 1대 추가
![업로드중..]()
또한, 비정상 인스턴스 교체도 가능하며 수요에 맞게 확장도 가능하다.
⚖️ 5. Elastic Load Balancing (ELB)
이는 네트워크 트래픽 분산을 통한 어플리케이션 확장성을 개선하는 서비스이다. 여러 가용 영역을 기반으로 고가용성을 제공하고, 트래픽에 따라 자동 조정이 가능하다.
✅ ELB란?
- 트래픽을 여러 EC2 인스턴스에 분산시켜주는 서비스
- 고가용성 및 확장성을 위한 핵심 컴포넌트
🔧 주요 종류
| 종류 | 설명 |
|---|
| ALB (Application Load Balancer) | HTTP/HTTPS 기반, 경로 기반 라우팅 가능 |
| NLB (Network Load Balancer) | TCP, 초고속 처리용 |
| GWLB (Gateway Load Balancer) | 네트워크 보안 어플라이언스에 적합 |
💡 작동 원리
- 사용자가 웹사이트 접속 → ELB가 가장 적절한 EC2 인스턴스로 라우팅
- 멀티 AZ 기반으로 작동 → 하나의 AZ에 문제가 생겨도 서비스 지속 가능
🧠 전체 흐름 정리
[사용자 요청]
↓
[Elastic Load Balancer]
↓
[Auto Scaling Group]
↓
[EC2 인스턴스 여러 대]
↓
[데이터베이스 등 백엔드 서비스]
- ELB: 트래픽 분산
* Auto Scaling: 서버 수 조절
- EC2: 실제 서버 역할