내용으로 건너뛰기

RDS MySQL Read Replica n개 사용시 통합 Endpoint 방안 검토

0

현재 Amazon RDS for MySQL 환경에서 Primary(Multi-AZ) + Read Replica 2대로 구성하여 운영을 계획하고 있습니다. Read Replica 2대 이상 운영에 대해 하나의 Endpoint로 통합하고, 해당 Endpoint를 통해 Read 트래픽을 자동으로 분산(Load Balancing) 되는 구성을 하려고 합니다.

1.Amazon RDS Proxy 활용 => read replica 서버 2대 이상에 대해서 rds proxy 를 두고 read replica 에 대한 end point 를 하나로 운영 가능한가요?

2.DNS 기반 라운드 로빈 => 라운드 로빈 DNS 레코드를 구성시 각 read replica 서버로 트랜잭션 분산처리가 되나요?

질문됨 2달 전28회 조회
2개 답변
0

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

전문가
답변함 2달 전
-1

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

답변함 2달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.