고가용성이란?

고가용성(HA)은 일반적으로 내장된 페일오버 메커니즘을 사용하여 가동 중단 시간이나 장애 없이 지속적으로 작동하는 시스템의 기능을 말합니다. 고가용성 시스템은 예기치 않은 이벤트가 발생하더라도 장애 없이 작동하도록 설계되어 있습니다.

고가용성이 중요한 이유

HA의 주요 목표는 시스템, 서비스, 애플리케이션, 클라우드 서비스 또는 기능을 사용할 수 없거나 제대로 작동하지 않는 기간인 가동 중단 시간을 방지하는 것입니다. 가동 중단 시간은 수익 손실, 생산성 저하, 기업 평판의 손상으로 이어집니다. 따라서 HA가 중요한 이유는 다음과 같습니다.

  • 비즈니스 연속성 - HA는 중요한 시스템 및 기능이 항상 예상대로 실행되도록 보장합니다. HA 시스템은 장애 발생 시 신속하게 복구되므로 조직은 예상대로(가급적이면 눈에 띄는 중단 없이) 고객에게 서비스를 계속 제공할 수 있습니다.
  • 사용자 경험 개선 - 빠르고 안정적인 시스템은 고객 만족도를 유지하고 수익 손실, 데이터 손상, 생산성 저하와 같은 부정적인 영향을 방지하는 데 도움이 됩니다.
  • 경쟁 우위 - 높은 수준의 가용성은 조직이 경쟁사보다 더 빠르고 안정적인 서비스를 제공함으로써 차별화하는 데 도움이 됩니다. 이는 전반적인 품질과 고객 만족을 위한 노력을 보여줍니다.

고가용성 유형

필요한 중복성 수준, 필요한 내결함성 유형 및 보호 대상 시스템의 종류에 따라 분류할 수 있는 몇 가지 유형의 HA가 있습니다. 가장 일반적인 HA 유형은 다음과 같습니다.

  • 액티브-패시브 - 백업 시스템은 패시브 또는 대기 모드로 유지되며 기본 시스템에 장애가 발생한 경우에만 액티브 상태가 됩니다. 이 페일오버 보호 방법은 백업 시스템으로 전환하기 위해 수동 개입이 필요한 경우가 있습니다.
  • 액티브-액티브 - 여러 시스템이 능동적으로 실행되고 워크로드를 공유합니다. 한 시스템에 장애가 발생하면 다른 시스템이 자동으로 워크로드를 처리합니다. 이 유형의 HA는 시스템 간에 더 복잡한 구성과 조정이 필요하지만 수동 옵션보다 향상된 성능과 확장성을 제공합니다.

이 다이어그램은 두 대의 NGINX Plus 서버로 구성된 액티브-패시브 HA 클러스터를 보여줍니다. 또한 NGINX는 액티브-액티브 및 기타 HA 구성도 지원합니다.

 

 

다이어그램

고가용성 구현 방법

중복성 및 페일오버 메커니즘은 단일 장애 지점을 방지하여 구성 요소의 장애가 전체 시스템, 애플리케이션 또는 기능의 작동을 방해하지 않도록 합니다. 일반적인 메커니즘에는 다음이 포함됩니다.

  1. 중복 구성 요소 - 시스템 내에 여러 서버, 네트워크 연결, 스토리지 시스템 및 전원 공급 장치를 배포합니다. 한 구성 요소에 장애가 발생하면 다른 구성 요소가 중단 없이 이를 대신합니다.
  2. 모니터링 및 알림 - 지속적으로 가용성과 성능을 모니터링합니다. 중단 또는 기타 문제가 탐지되면 알림이 생성됩니다. 시스템 관리자는 문제를 신속하게 파악하고 해결하여 가동 중단 시간의 위험을 줄일 수 있습니다.
  3. 로드 밸런싱 - 하나 이상의 특수 서버가 (백엔드) 시스템 그룹에 대한 요청을 가로채서 최적의 성능을 위해 트래픽을 분산합니다. 하나의 백엔드 시스템에 장애가 발생하면 로드 밸런서가 유입되는 요청을 다른 시스템으로 자동으로 리디렉션합니다.
  4. 페일오버 메커니즘 - 액티브-패시브 또는 액티브-액티브 구성이나 페일오버 클러스터링을 배포하여 한 시스템에 장애가 발생해도 다른 시스템이 최소한의 중단으로 이를 대신할 수 있도록 합니다.
  5. 백업 및 복구 시스템 - 장애 발생 시 데이터와 애플리케이션을 신속하게 복구할 수 있도록 합니다. 시스템은 하이브리드이거나, 여러 위치에 있거나, 클라우드 기반이거나, 장애 발생 후 신속하게 온라인 상태로 복구할 수 있습니다.

고가용성 지원 방법

HA를 제공하기 위해 배포해야 하는 서비스 및 리소스는 시스템 유형, HA 유형 및 조직의 특정 요구 사항에 따라 달라집니다. 지원 요소에는 다음이 포함됩니다.

  • 기술 지원 - HA 시스템에 대한 도움이 필요한 조직을 위한 1차 방어선입니다. 전담 지원 담당자가 문제 분석, 진단 및 해결을 지원할 수 있습니다. 또한 높은 수준의 가용성을 유지하기 위한 모범 사례에 대한 지침을 제공할 수도 있습니다.
  • 유지 관리 및 업그레이드 - 운영 및 보안을 유지하려면 HA 시스템을 정기적으로 유지 관리하고 사용 가능한 최신 버전의 소프트웨어를 실행해야 합니다.
  • 재해 복구 계획 - 시스템을 신속하게 복구해야 하는 조직에 매우 중요합니다. 절차가 미리 결정되고 문서화되어 있으므로 시스템 관리자가 긴급 상황에서 솔루션을 기억하거나 제시할 필요가 없습니다.
  • 문서 및 교육 - 시스템 관리자가 HA 시스템을 관리하는 방법을 이해하는 데 도움이 됩니다. 문서에는 모범 사례, 자습서 및 교육 세션이 포함될 수 있습니다.

모범 사례: 고가용성

모범 사례를 따르면 운영 성과를 개선하고 비용이 많이 드는 가동 중단 시간을 최소화할 수 있습니다. 이러한 일반적인 모범 사례는 조직의 시스템, 위치 및 원하는 결과에 맞게 조정할 수 있습니다.

  • 중복성 통합 - 하드웨어 구성 요소부터 네트워크 연결에 이르기까지 시스템의 모든 수준이 강화되어 한 구성 요소에 장애가 발생해도 시스템이 계속 정상적으로 작동합니다.
  • 트래픽 로드 밸런싱 - 들어오는 요청을 여러 시스템에 분산하여 한 시스템에 장애가 발생해도 정상적으로 작동 중인 시스템이 이를 대신할 수 있도록 합니다.
  • 성능 및 가용성 모니터링 - 지속적인 모니터링과 알림을 통해 문제를 식별하고 해결하는 데 걸리는 시간을 단축합니다.
  • 페일오버 메커니즘을 자주 테스트하고 검증 - 페일오버 메커니즘이 장애 발생 시 기능을 여전히 안정적으로 인계 받을 수 있는지 확인하기 위한 일상적인 테스트를 수행합니다.
  • 백업 및 복구 절차 - 장애 발생 시 데이터와 애플리케이션을 신속하게 복구할 수 있도록 합니다.
  • 정기적인 시스템 업그레이드 및 유지 관리 - 애플리케이션과 시스템의 운영 및 보안을 유지합니다.
  • 직원 교육 - 특히 HA를 담당하는 개인과 팀에게는 정기적인 테스트 및 절차 강화가 표준 운영 절차가 되어야 합니다.
  • 클라우드 솔루션 고려 - 클라우드 스토리지와 재해 복구는 장애가 발생한 위치에 관계없이 시스템을 계속 운영할 수 있음을 의미합니다.
  • 보안 모니터링 - 악의적인 행위자 또는 권한이 없는 사용자의 데이터 유출 또는 시스템 액세스를 방지하는 조치를 구현합니다.