1. 확장성과 고가용성 (Scalability & High Availability)
1) 수직적 확장 (Vertical Scaling / Scale Up)
- 인스턴스의 크기(사양)를 키워 성능을 높이는 방식입니다. (예:
t2.micro ➡️ t2.large)
- 주로 분산 처리가 까다로운 데이터베이스 등에서 사용됩니다.
2) 수평적 확장 (Horizontal Scaling / Scale Out)
- 인스턴스의 개수를 늘려 시스템의 전체 용량을 키우는 방식입니다.
- 클라우드 환경 및 웹 애플리케이션에서 트래픽을 분산시키기 위해 주력으로 사용하는 현대적인 아키텍처입니다. (주로 ASG와 ELB를 함께 활용)
3) 고가용성 (High Availability)
- 시스템이 오랜 시간 동안 지속적으로 정상 운영되는 성질을 의미합니다.
- 여러 가용 영역(Multi-AZ)에 인스턴스를 분산 배치하여, 데이터 센터 한 곳에 물리적인 장애가 발생하더라도 서비스가 멈추지 않도록 설계합니다.
2. ELB (Elastic Load Balancing)

1) ELB 개요 및 역할
-
사용자(Client)로부터 들어오는 네트워크 트래픽을 여러 대의 EC2 인스턴스(서버)로 균형 있게 분산시켜 주는 서비스입니다.
-
단일 진입점(Single Point of Access)을 제공하며, SSL 인증서 해독(SSL Termination) 및 인스턴스 상태 확인(Health Check)을 수행합니다.

2) Application Load Balancer (ALB)
- Layer 7 (HTTP/HTTPS) 트래픽 전용 로드 밸런서입니다.
- URL 경로(Path), 호스트 이름, HTTP 헤더 등을 기반으로 트래픽 라우팅을 세밀하게 제어할 수 있습니다.
- 마이크로서비스 아키텍처나 컨테이너 기반 애플리케이션에 가장 적합합니다.
3) Network Load Balancer (NLB)