나의 공부기록

[AWS-개념] 01. 가용성(Availability) & 내결함성(Fault Tolerance) 본문

CS/AWS

[AWS-개념] 01. 가용성(Availability) & 내결함성(Fault Tolerance)

나의 개발자 2025. 1. 30. 14:10

가용성(Availability)

  • 시스템이 정상적으로 운영될 수 있는 비율로, 서비스가 사용자에게 지속적으로 제공될 수 있도록 보장하는 것이 목표

 

✅가용성을 높이는 방법

  1. 다중 데이터센터 활용
    • 서비스가 한 리전(Region)이나 존(zone)에서 장애가 발생해도 다른 리전에서 동작하도록 구성
  2. 로드 밸런싱(Load Balancing)
    • 여러 서버에 트래픽을 분산하여 한 서버의 장애로 인한 영향 최소화 
  3. 자동 복구(Auto Healing)
    • 장애 발생 시, 자동으로 새로운 인스턴스를 생성하여 서비스 지속 
  4. 무중단 배포(Zero Downtime Deployment)
    • 서비스 업데이트 시에도 가용성을 유지하는 전략

 

내결함성(Fault Tolerance)

  • 시스템이 장애가 발생해도 정상적으로 운영될 수 있도록 하는 능력

 

✅내결함성을 높이는 방법

  1. 이중화(Redundancy)
    • 여러 개의 서버나 네트워크 장비를 중복 배치하여 하나가 장애가 나더라도 다른 장비가 역할을 수행
  2. 자동 페일오버(Failover)
    • 주 서버가 장애가 발생하면 대기 중인 백업 서버로 자동 전환
  3. 데이터 복제(Replication)
    • 여러 위치에 데이터를 실시간으로 복제하여 손실 방지 
  4. 장애 격리(Fault Isolation)
    • 장애가 전체 시스템에 영향을 주지 않도록 독립적인 영역으로 격리 

 

💡가용성(Availability)과 내결함성(Fault Tolerance) 차이점

  • 클라우드 서비스를 설계할 때, 가용성과 내결함성을 함께 고려해야 함 
구분 가용성(Availability) 내결함성(Fault Tolerance)
목표 서비스 중단 최소화 = 중단 🅾️ 장애에도 불구하고 시스템 정상 동작=중단 ❌
접근 방식 장애 이후 빠른 복구에 초점 장애 발생 시, 연속적인 동작 보장
사용자 영향 복구 시간이 짧아 사용자에 최소한의 영향 장애가 사용자에게 전혀 노출되지 않음
구현 예시 로드 밸런싱, 핫 스탠바이, 클러스터링 이중화, 분산 처리, 데이터 복제