TIL - 20251006

juni·2025년 10월 6일

TIL

목록 보기
145/316

1006 AWS 복습 : 고가용성 아키텍처 (ELB & Auto Scaling)


✅ 1. 고가용성 및 확장성의 기본 개념

  • 고가용성 (High Availability): 시스템의 일부에 장애가 발생해도, 전체 서비스는 중단 없이 계속 운영되는 능력. (장애 극복)
  • 확장성 (Scalability): 트래픽 변화에 유연하게 대응하는 능력.
    • 수직 확장 (Scale-up): 서버의 사양(CPU, RAM)을 높이는 것.
    • 수평 확장 (Scale-out): 서버의 개수를 늘리는 것. (클라우드의 핵심)

✅ 2. ELB (Elastic Load Balancing): 트래픽 분산기

  • ELB는 들어오는 애플리케이션 트래픽을 여러 대상(EC2 인스턴스)에 자동으로 분산시켜주는 서비스입니다.

➕ ELB의 핵심 역할

  1. 부하 분산: 여러 인스턴스에 트래픽을 고르게 분산하여 단일 서버의 과부하를 방지합니다.
  2. 고가용성: 헬스 체크(Health Check)를 통해 특정 인스턴스에 장애가 발생했는지 주기적으로 확인합니다. 장애가 감지되면, 해당 인스턴스를 트래픽 분산 대상에서 자동으로 제외하고 정상 인스턴스로만 트래픽을 보냅니다.
  3. 단일 진입점 (Single Point of Entry): 사용자에게는 복잡한 서버 목록 대신, ELB의 고유한 DNS 주소 하나만 노출하여 아키텍처를 단순화합니다.
  4. SSL Offloading: HTTPS 통신에 필요한 SSL 암호화/복호화 작업을 ELB가 대신 처리하여, EC2 인스턴스가 비즈니스 로직에만 집중할 수 있도록 부하를 줄여줍니다.

✅ 3. EC2 Auto Scaling: 탄력적인 서버 관리

  • Auto Scaling은 우리가 정의한 조건에 따라 EC2 인스턴스의 수를 자동으로 늘리거나 줄이는 서비스입니다.

➕ Auto Scaling의 주요 구성 요소

  1. 시작 템플릿 (Launch Template): 새로 생성될 EC2 인스턴스의 구성(AMI, 인스턴스 유형, 보안 그룹 등)을 정의한 설계도입니다.
  2. Auto Scaling 그룹 (ASG): 인스턴스들의 논리적인 그룹. 최소(Min), 최대(Max), 원하는(Desired) 용량을 설정합니다.
  3. 조정 정책 (Scaling Policy): 언제 인스턴스를 늘리거나 줄일지를 결정하는 규칙입니다.
    • 예시: "모든 인스턴스의 평균 CPU 사용률이 5분 동안 70%를 초과하면, 인스턴스를 1개 추가한다 (Scale-out)."
    • 예시: "모든 인스턴스의 평균 CPU 사용률이 5분 동안 30% 미만이면, 인스턴스를 1개 제거한다 (Scale-in)."

✅ 4. ELB와 Auto Scaling의 시너지

  • ELB와 Auto Scaling을 함께 사용하는 것은 현대적인 클라우드 애플리케이션의 고가용성과 확장성을 확보하기 위한 표준 아키텍처입니다.

  • 동작 흐름:

    1. 트래픽이 증가하여 인스턴스들의 CPU 사용률이 높아집니다.
    2. Auto Scaling이 조정 정책에 따라 새로운 EC2 인스턴스를 자동으로 생성합니다.
    3. ELB는 새로 생성된 인스턴스가 정상 상태인지 헬스 체크를 통해 확인합니다.
    4. 정상으로 확인되면, ELB는 이 새 인스턴스를 트래픽 분산 대상에 자동으로 추가하여 늘어난 트래픽을 함께 처리하도록 합니다.
    • 이러한 조합을 통해, 사람의 개입 없이도 트래픽 변화에 자동으로 대응하는 탄력적이고(Elastic) 자가 치유(Self-healing)가 가능한 시스템을 구축할 수 있습니다.

📌 요약

  • ELB는 트래픽을 여러 인스턴스에 분산하여 부하를 분산하고 가용성을 높이는 역할을 합니다.
  • Auto Scaling은 정의된 정책에 따라 인스턴스 수를 자동으로 조절하여 탄력성을 제공합니다.
  • ELB와 Auto Scaling을 함께 사용하면, 장애와 트래픽 변동에 자동으로 대응하는 안정적이고 효율적인 아키텍처를 구축할 수 있습니다.

0개의 댓글