- 최신
- 최다 투표
- 가장 많은 댓글
Amazon RDS for MySQL의 경우, 안타깝게도 여러 Read Replica를 하나의 통합 Endpoint로 자동 분산하는 기본 제공 기능은 없습니다. 이는 Amazon Aurora와 다른 점으로, Aurora는 Reader Endpoint를 통해 자동으로 Read Replica 간 연결을 분산하는 기능을 제공합니다.
RDS for MySQL 환경에서 Read Replica 트래픽을 분산하기 위한 AWS 권장 대체 방안은 다음과 같습니다:
1. Amazon RDS Proxy 활용 RDS Proxy를 사용하여 추가 읽기 전용 엔드포인트를 생성할 수 있습니다. RDS Proxy는 연결 풀링과 multiplexing 기능을 제공하며, Read Replica가 사용 불가능해질 경우 애플리케이션이 더 빠르게 재연결할 수 있도록 지원합니다.
2. 애플리케이션 레벨 로드 밸런싱 애플리케이션 코드에서 각 Read Replica의 개별 엔드포인트를 관리하고, 애플리케이션 로직을 통해 읽기 쿼리를 분산하는 방식입니다. 각 쿼리마다 다른 Read Replica 엔드포인트로 새로운 연결을 생성하여 트래픽을 분산할 수 있습니다.
3. DNS 기반 라운드 로빈 Route 53과 같은 DNS 서비스를 활용하여 여러 Read Replica 엔드포인트에 대한 라운드 로빈 DNS 레코드를 구성할 수 있습니다. 다만, DNS 캐싱을 피하고 각 연결마다 DNS를 재해석해야 효과적인 분산이 가능합니다.
참고로, RDS for MySQL은 최대 15개의 Read Replica를 지원하며, Read Replica는 Primary 인스턴스와 다른 스토리지 타입을 선택하여 성능이나 비용을 최적화할 수 있습니다.
Sources
Load balancing with the reader endpoint - Amazon Aurora MySQL Database Administrator’s Handbook
Amazon RDS Read Replicas | Cloud Relational Database | Amazon Web Services
Reader endpoints for Amazon Aurora - Amazon Aurora
관련 콘텐츠
- 질문됨 9년 전

Amazon RDS Proxy 활용 => read replica 서버 2대에 대해서 rds proxy 를 두는걸 의미하나요?
DNS 기반 라운드 로빈 => 라운드 로빈 DNS 레코드를 구성시 각 read replica 서버로 트랜잭션 분산처리가 되나요?