AWS

Amazon Aurora의 엔드포인트 및 리더 엔드포인트 기반 로드밸런싱

heesoohi 2025. 6. 3. 01:41

Amazon Aurora는 AWS에서 제공하는 고성능 관계형 데이터베이스 엔진으로, 뛰어난 확장성과 내결함성을 제공한다. 특히 Aurora는 기본적으로 복제본(Replica) 구조를 포함하고 있어 읽기 요청 분산에 매우 유리하다. 이를 위해 Aurora는 다양한 유형의 엔드포인트(Endpoint) 를 제공한다.

 

Aurora의 엔드포인트 종류

클러스터 엔드포인트 (Cluster Endpoint) 쓰기 요청을 위한 엔드포인트로, 항상 Primary(Writer) 인스턴스로 라우팅된다.
리더 엔드포인트 (Reader Endpoint) 읽기 요청 전용 엔드포인트로, 클러스터에 있는 복제본 인스턴스들 중 하나로 자동 분산되며, 일반적으로 균등하게 로드밸런싱된다. 
인스턴스 엔드포인트 (Instance Endpoint) 특정 DB 인스턴스에 직접 연결할 때 사용하는 엔드포인트. 테스트, 모니터링 등의 목적에 적합하다.

 

리더 엔드포인트의 로드밸런싱 기능

Aurora의 리더 엔드포인트(reader endpoint) 는 읽기 요청을 처리할 수 있는 복제본 인스턴스가 여러 개 있을 경우, 이들 간에 요청을 자동으로 분산(load balancing) 해준다.

  • 내부적으로는 라운드로빈(Round-robin) 방식에 기반한 분산이 이루어진다.
  • 단순한 분산 외에도, 인스턴스의 상태(헬스 체크)나 부하 등을 고려하여 보다 효율적인 라우팅이 가능하다.
  • 애플리케이션은 하나의 고정된 리더 엔드포인트만 사용하면 되므로, 구현이 간단하고 유연하다
  • 예시: reader.cluster-xyz.ap-northeast-2.rds.amazonaws.com

 

기존의 RDS (MySQL, PostgreSQL 등)는 리더 엔드포인트와 같은 자동 로드밸런싱 기능을 제공하지 않기 떄문에 아래와 같은 방법들이 필요하다

  • 애플리케이션에서 수동으로 복제본 리스트를 관리하여 직접 로드밸런싱 구현
  • Route 53을 활용한 가중치 기반 분산
  • ProxySQL, HAProxy 등 프록시 서버 도입

반면 Aurora는 AWS가 직접 설계한 데이터베이스이기 때문에, 이러한 로직이 내장되어 있으며 개발자가 별도로 분산 로직을 구현할 필요가 없다.