내용으로 건너뛰기

RDS MySQL Read Replica n개 사용시 통합 Endpoint 방안 ( Load Balancing 등 )

0

현재 Amazon RDS for MySQL 환경에서 Primary(Multi-AZ) + Read Replica 2대로 구성하여 운영을 계획하고 있습니다.

이 경우, 여러 Read Replica를 하나의 Endpoint로 통합하여 Load Balancer와 같이 Read 트래픽을 자동 분산할 수 있는 AWS 기본 제공 기능이 있는지 확인 요청드립니다.

또한 해당 기능이 없다면, AWS에서 권장하는 아키텍처나 대체 방안이 있는지도 함께 안내 부탁드립니다. (상황 상 Aurora 사용은 불가함)

감사합니다.

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

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

답변함 2달 전
    1. Amazon RDS Proxy 활용 => read replica 서버 2대에 대해서 rds proxy 를 두는걸 의미하나요?

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

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

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