Amazon RDS Read Replica를 NLB에서 로드 밸런싱하기
RDS Read Replica의 로드 밸런싱
여러 Read Replica를 로드 밸런싱하는 방법에는 여러 가지가 있습니다.
Reader Endpoint
Reader Endpoint는 AWS RDS의 기능으로 제공되며 특별한 설정 없이 사용할 수 있습니다.
클러스터의 모든 Read Replica에 균일하게 분산되며 특정 Read Replica를 대상에서 제거할 수 없습니다.
짧은 시간(1초마다)으로 CNAME을 전환하여 라운드 로빈하는 구현이 되어 실제로는 로드 밸런서가 아닙니다.
HAProxy 및 Nginx
AWS에서 수행하는 경우 전용 EC2 인스턴스를 준비하고 직접 설치, 설정 및 관리해야 합니다.
NLB 사용
2017년 9월경, ELB의 일종으로 출시된 Network Load Balancer는 EC2 인스턴스뿐만 아니라 모든 IP 주소를 대상으로 TCP 로드 밸런서를 구축할 수 있습니다.
이를 사용하면 특정 Read Replica만 대상으로 하는 로드 밸런싱 환경을 쉽게 구현할 수 있습니다.
NLB에서 Read Replica의로드 밸런싱
NLB 구축
EC2 Load Balancers 설정 화면에서 "Create Load Balancer"를 클릭
Network Load Balancer 선택
NLB의 기본 설정
Name에는 임의의 이름을 설정.
Scheme은 VPC 내에서만 사용한다면 internal을 선택.
Listener는 Aurora(MySQL)를 대상으로 하기 때문에 3306/TCP
Availability Zone에서는 사용할 VPC를 선택하고 엔드포인트를 배치할 서브넷을 선택합니다.
라우팅 설정
ALB와 마찬가지로 대상 그룹을 만듭니다.
Aurora의 Replica를 타겟으로 하는 경우에는 3306/TCP, Target type은 ip로 한다.
타겟 등록
타겟으로서, 로드 밸런싱의 대상으로 하고 싶은 Replica 인스턴스의 IP 어드레스를 등록한다.
IP 주소는 Replica 인스턴스의 DNS 이름을 nslookup이나 dig로 끌어 조사한다.
Security Group 설정
NLB에는 Security Group을 설정할 수 없다.
그래서 NLB의 Availability Zone에 설정한 서브넷의 네트워크 주소를 허가하도록 RDS의 Security Group에 설정을 한다.
소통 확인
응용 프로그램 서버에서 연결할 수 있는지 확인합니다.
마지막으로
현재, 당사에서는 개발 환경에만 도입을 하고, 시험 운용을 실시하고 있습니다.
특히 동작에 문제없이 유용하다면, 프로덕션 환경에 도입을 진행하고 싶습니다.
Reference
이 문제에 관하여(Amazon RDS Read Replica를 NLB에서 로드 밸런싱하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/oh-sky/items/722b0458a56cd7955588텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)