[AWS SAA] ELB & 확장성과 고가용성

시훈·2025년 3월 25일

AWS SAA

목록 보기
8/43

클라우드 환경에서 ‘확장성(Scalability)’과 ‘고가용성(High Availability)’은 가장 기본이자 중요한 개념이다. 특히 AWS에서는 이 둘을 손쉽게 구성할 수 있는 다양한 기능들을 제공하고 있어서, 구조를 잘 잡아두면 장애 상황에서도 탄탄한 서비스를 유지할 수 있다.

📌 Scalability (확장성)

스케일링은 시스템이 늘어나는 부하를 어떻게 감당하느냐에 대한 이야기다. 크게 두 가지로 나뉜다.

🔹 수직 스케일링 (Vertical Scaling)

  • 말 그대로 인스턴스의 성능을 ‘업그레이드’하는 방식

  • ex) t2.micro → t2.large

  • 간단하지만, 하드웨어 사양에 물리적인 한계가 있다

  • 주로 RDS, ElastiCache 같은 DB에 사용

🔹 수평 스케일링 (Horizontal Scaling)

  • 인스턴스 개수를 늘리는 방식

  • Auto Scaling Group + Load Balancer 조합으로 구현

  • 무중단으로 탄력적인 확장이 가능하고, 클라우드 환경에서 표준처럼 사용됨

  • ex) 웹 애플리케이션, 마이크로서비스 구조

💡 고가용성 (High Availability)

‘고장 나도 살아있는 시스템’을 만드는 개념. 특정 장애에도 서비스가 계속 유지되도록 구성하는 것이 핵심이다.

🔸 Passive 방식

  • 대기 인스턴스를 둬서 장애 발생 시 전환

  • ex) RDS Multi-AZ (평상시엔 하나만 사용, 장애 나면 자동 전환)

🔸 Active 방식

  • 여러 인스턴스가 동시에 서비스 제공

  • 인스턴스 중 하나가 죽어도 나머지가 커버

  • Auto Scaling Group + Multi-AZ 로 구성

🚀 EC2에서의 적용 방법

⚖️ Load Balancer (로드 밸런서)

로드밸런서는 여러 서버에 트래픽을 분산시켜주는 역할을 한다. 사용자에게는 하나의 엔드포인트만 보이고, 내부적으로는 다수의 서버로 분산되는 구조다.

로드밸런서를 사용하는 이유

  • 트래픽 분산으로 성능 안정화

  • 서버 장애 시에도 트래픽 자동 우회

  • 단일 진입점 제공

  • 정기적인 헬스 체크 수행

  • SSL 종료 및 세션 유지 지원

  • AZ 간 트래픽 분산 가능

✅ AWS의 ELB 종류 한눈에 보기

🍪 Sticky Session (고정 세션)

  • 동일 사용자가 항상 동일한 인스턴스로 연결되도록 유지하는 기능

  • ALB, CLB, NLB에서 지원

  • 로드밸런서에서 쿠키를 생성하여 세션 유지를 보장

  • 단점: 부하 불균형 발생 가능

🌐 Cross-Zone Load Balancing

  • 각 AZ에 있는 인스턴스들을 균등하게 분산할지 설정하는 기능

  • ALB: 기본 활성화, 비용 없음

  • NLB/GLB: 기본 비활성화, AZ 간 데이터 전송 시 비용 발생

🔐 SSL/TLS 인증서

  • HTTPS 트래픽을 암호화하여 보안 유지

  • ACM에서 손쉽게 SSL 인증서 관리 가능

  • ALB/NLB에서는 SNI(Server Name Indication)를 통해 여러 인증서 동시 지원

🧹 Connection Draining (Deregistration Delay)

  • 로드밸런서에서 인스턴스를 제거할 때, 현재 진행 중인 요청은 끝까지 처리하도록 대기

  • ex) 결제 중인 사용자가 있을 때, 완료 후 인스턴스 제거

  • 기본값 300초 (설정 가능)

마무리 ✍️

AWS에서는 확장성과 고가용성을 아주 쉽게 구성할 수 있는 도구들이 준비되어 있다. Auto Scaling, Multi-AZ, Load Balancer, Health Check, Sticky Session, SSL 등 다양한 요소들을 적절히 조합하면 안정적인 서비스를 운영할 수 있다.

profile
Backend Developer / Cloud Engineer

0개의 댓글