[AWS] RDS DB 인스턴스 Read Replica 생성하기

반응형

이번 글에서는 RDS DB 인스턴스의 Read Replica를 만들어 DB의 성능을 향상시켜 보겠습니다.

0. Read Replica란?

RDS DB 인스턴스의 읽기전용 인스턴스 입니다.

서비스에서 읽기 위주의 작업이 많은 경우 Read Replica를 여러개 만들어 부하를 분산할 수 있습니다. 즉, 쓰기 작업은 마스터 DB 인스턴스에 하고 읽기 작업은 Read Replica에 할당하면 마스터 DB 인스턴스의 부하를 줄일 수 있습니다.

마스터 DB 인스턴스에 쓰기를 하면 자동으로 Read Replica DB 인스턴스로 데이터가 복제됩니다. 단, 즉시 복제되는 것은 아니며 약간의 시간차가 있습니다.

자세한 내용은 아래의 책을 참고하시길 바랍니다.

 

아마존 웹 서비스를 다루는 기술:실무에서 알아야 할 기술은 따로 있다!

COUPANG

www.coupang.com

1. Read Replica 생성하기

이번 실습에선 미리 생성한 RDS DB 인스턴스가 있다고 가정하겠습니다.

먼저, 'RDS Database' 에서 Read Replica를 생성할 DB 인스턴스를 선택하고 우측 상단의 'Actions' 탭의 'Create Read Replica'을 눌러줍니다.

image.png

아래의 화면에서 각자 원하는 조건을 선택해 Read Replica를 생성합니다.

생성할 Read Replica 인스턴스의 클래스를 선택합니다. Read Replica 인스턴스를 생성할때 Master DB 인스턴스보다 성능이 더 좋은 인스턴스로 생성할 수 있습니다.

image.png

Read Replica 인스턴스가 위치할 리전을 선택합니다. Read Replica는 여러 리전에 생성할 수 있어, 지역별로 읽기 성능을 향상 시킬 수 있습니다.

image.png

Read Replica를 생성할 Master DB 인스턴스를 지정합니다. 저는 'awstutorialminho3' 입니다. 'DB Instance Identifier'에는 새로 생성될 Read Replica 인스터의 이름을 입력합니다.

image.png

Database option & Monitoring 설정을 선택합니다.

image.png

Log & Maintenance 설정을 선택합니다.

image.png

이후 'Crerate Read Replica' 버튼을 눌러 Read Replica를 생성합니다.

image.png

최종적으로, Master DB 인스턴스의 RoleMaster로 변경되었으며, 새로운 Read Replica 인스턴스가 생성되었습니다.

이제 생성된 Read Replica의 엔트포인트 주소로 접속해 Master DB와 동일한 데이터를 읽을 수 있습니다. 단, 읽기전용이므로 SQL 문의 INSERT, UPDATE, DELETE는 사용할 수 없습니다.

image.png

2. 주의점

Read Replica와 비슷한 개념으로 'Multi-AZ 복제' 기능이 있습니다. 하지만, Multi-AZ 복제는 서비스가 항상 가동해야 하는 가용성(Availability)를 위한 것이지 부하 분산을 통한 성능 향상이 목적이 아닙니다. Read Replica와 다른점은 아래와 같습니다.

Multi-AZ 복제 : 쓰기 작업을 실시한 즉시 예비 인스턴스에 복제됩니다. 따라서 데이터가 항상 일치하는것을 보장합니다. 하지만, 복제된 예비 인스턴스에서는 읽기 작업을 할 수 없습니다.

Read Replica : 쓰기 작업을 실시하면 약간의 시간차를 가지고 데이터가 복제됩니다. 따라서 데이터가 일치하지 않을 수 있습니다.

3. 결론

RDS DB 인스턴스의 성능을 높이려면?
-> 읽기 전용 인스턴스인 Read Replica를 생성해 부하를 줄인다.


파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음


반응형

댓글

Designed by JB FACTORY