- 최신
- 최다 투표
- 가장 많은 댓글
RDS MySQL의 멀티 AZ DB 클러스터 배포는 리더 엔드포인트가 있기 때문에 RDS Proxy를 설정하지 않아도 리더 인스턴스에 접근할 수 있습니다.
이 리더 엔드포인트는 DNS 라운드 로빈을 통해 리더 인스턴스로의 접근을 분산시킵니다.
RDS Proxy의 장점은 연결 풀링을 통해 다수의 동시 접속으로 인해 발생하는 오버헤드를 줄일 수 있다는 것입니다.
따라서 트래픽의 부하 분산이라는 관점에서 도입하더라도 큰 이점은 없습니다.
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts-connection-management.html
RDS for MySQL 환경에서 여러 Read Replica에 대한 통합 엔드포인트 구성 방안에 대해 답변드리겠습니다.
1. Amazon RDS Proxy 활용
네, RDS Proxy를 통해 Read Replica 2대 이상에 대한 통합 엔드포인트 구성이 가능합니다. RDS Proxy를 사용하면 읽기 전용 엔드포인트(reader endpoint)를 생성할 수 있으며, 이를 통해 여러 Read Replica 간에 연결을 자동으로 분산시킬 수 있습니다.
RDS Proxy의 reader endpoint는 다음과 같은 장점을 제공합니다:
- 여러 reader 인스턴스 간에 쿼리를 효율적으로 분산하여 읽기 확장성을 향상시킵니다
- Read Replica가 사용 불가능해질 경우, 애플리케이션이 프록시 엔드포인트에 더 빠르게 재연결할 수 있습니다
- 연결 풀링(multiplexing) 등 프록시의 다른 기능도 활용할 수 있습니다
- 독립적으로 모니터링 및 문제 해결이 가능합니다
2. DNS 기반 라운드 로빈
DNS 기반 라운드 로빈 방식은 RDS for MySQL에서 기본적으로 지원되지 않습니다. RDS for MySQL은 Aurora와 달리 reader endpoint 기능을 제공하지 않기 때문에, 각 Read Replica는 개별 엔드포인트만 가지고 있습니다.
따라서 RDS for MySQL 환경에서 여러 Read Replica에 대한 트래픽 분산을 원하신다면, RDS Proxy를 활용하는 방안(1번)이 AWS에서 권장하는 표준 솔루션입니다.
참고로, Aurora MySQL을 사용하실 경우에는 reader endpoint가 기본 제공되어 DNS 기반의 랜덤 할당 방식으로 자동 분산이 가능하지만, RDS for MySQL에서는 이 기능이 제공되지 않습니다.
Sources
Reader endpoints for Amazon Aurora - Amazon Aurora
Working with Amazon RDS Proxy endpoints - Amazon Aurora
관련 콘텐츠
- 질문됨 9년 전
