상세 컨텐츠

본문 제목

II-10-2. Architecture : 고가용성 (High Availability)

클라우드/AWS Cloud Technical Essentials

by datasa 2025. 5. 19. 10:06

본문

 

 

고가용성(High Availability, HA)을 위해 다른 가용 영역(Availability Zone, AZ)에 서브넷을 구성하는 것은 AWS 클라우드 환경의 중요한 아키텍처 패턴입니다. 가용 영역은 특정 AWS 리전 내에서 물리적으로 분리된 데이터 센터이며, 전력, 냉각, 네트워크 등의 독립적인 인프라를 갖추고 있습니다.

 

▶ 고가용성을 위한 다중 AZ 서브넷 구성의 중요성:

 

단일 AZ 내에서만 애플리케이션과 데이터를 운영하는 경우, 해당 AZ에 장애가 발생하면 서비스 전체가 중단될 수 있습니다. 반면, 여러 AZ에 걸쳐 리소스를 분산하면 하나의 AZ에 문제가 발생하더라도 다른 AZ에서 서비스를 계속 운영하여 중단 시간을 최소화하고 사용자 경험을 유지할 수 있습니다.

 

  다중 AZ 서브넷 구성의 핵심 원칙:

  • 각 AZ에 서브넷 생성: 동일한 VPC 내에서, 서로 다른 가용 영역에 각각 서브넷을 생성합니다. 일반적으로 각 AZ마다 퍼블릭 서브넷과 프라이빗 서브넷을 구성합니다.
  • 로드 밸런서 활용: 트래픽을 여러 AZ에 있는 인스턴스로 분산하여 단일 인스턴스 장애에 대한 복원력을 높이고, 전체적인 처리량을 향상시킵니다. AWS Elastic Load Balancing (ELB)은 여러 AZ에 걸쳐 트래픽을 자동으로 분산할 수 있습니다.
  • Auto Scaling 그룹 활용: 여러 AZ에 걸쳐 인스턴스 그룹을 관리하고, 인스턴스 장애 발생 시 자동으로 새로운 인스턴스를 프로비저닝하여 가용성을 유지합니다.
  • 데이터 복제 및 동기화: 데이터베이스와 같은 상태 저장 서비스의 경우, 다중 AZ 배포 옵션(예: Amazon RDS Multi-AZ)을 활용하거나, 자체적으로 데이터 복제 및 동기화 메커니즘을 구성하여 데이터의 일관성과 가용성을 확보합니다.
  • 장애 감지 및 자동 복구: CloudWatch 경보 및 Auto Scaling 수명 주기 후크 등을 사용하여 장애를 감지하고 자동으로 복구 프로세스를 수행하도록 구성합니다.
  • DNS 기반 장애 조치: Route 53과 같은 DNS 서비스를 사용하여 특정 AZ에 장애가 발생했을 때 트래픽을 정상적인 다른 AZ로 자동으로 라우팅하도록 구성할 수 있습니다.

결과적으로, 최소 두 개 이상의 가용 영역에 걸쳐 동일한 구조의 서브넷(퍼블릭/프라이빗)을 구성하게 됩니다. 이렇게 구성된 서브넷에 EC2 인스턴스, 데이터베이스 등을 분산 배치하고, 로드 밸런서와 Auto Scaling 그룹을 활용하면 특정 AZ의 장애가 발생하더라도 다른 AZ에서 서비스가 계속 운영될 수 있도록 고가용성 아키텍처를 구축할 수 있습니다.

 

추가 고려 사항:

  • AZ 간 통신 비용: 서로 다른 AZ에 있는 인스턴스 간의 통신에는 약간의 비용이 발생할 수 있습니다. 하지만 고가용성의 이점을 고려하면 일반적으로 감수할 만한 비용입니다.
  • 데이터 일관성: 다중 AZ 환경에서 데이터 일관성을 유지하기 위한 전략(예: 동기/비동기 복제)을 신중하게 설계해야 합니다.
  • 장애 시나리오 테스트: 실제로 AZ 장애가 발생했을 때 애플리케이션이 예상대로 작동하는지 정기적으로 테스트하는 것이 중요합니다.

고가용성을 위한 다중 AZ 서브넷 구성은 안정적이고 탄력적인 클라우드 서비스를 구축하는 데 필수적인 단계입니다.

관련글 더보기

댓글 영역