프로그래밍

[토막팁] rds 엔드포인트, 어느 쪽을 써야 좋을까

2kindsofcs 2020. 11. 9. 19:58

대략 아래의 구조로 rds에 db가 있다고 가정하자.

 

example-db

ㄴ example-write

ㄴ example-read-only

 

콘솔에서 rds > 데이터베이스 > example-db 화면에서,

example-db를(클러스터를) 눌러도 연결&보안 탭에 엔드포인트가 나오고,

example-write, example-read-only 각각을 눌러도 역시 연결&보안 탭에 엔드포인트가 나온다. 

 

mysql 워크벤치 등으로 db와 연결을 맺고 중간중간 db를 확인하고자 하는데, 이때 어떤 엔드포인트를 쓰면 좋을까?

클러스터를 눌렀을 때 나오는 엔드포인트를 쓰는 것이 안전하다.

 

예를 들어, example-read-only를 눌렀을 때 나오는 엔드포인트, 즉 해당 인스턴스의 엔드포인트를 사용한다면 인스턴스에 변동이 있을 때

의도치 않은 결과를 낼 수도 있다. 예를 들어 모종의 이유로 해당 read-only 인스턴스가 마스터로 승격이 되어버린다면, 사용자 입장에서는 read-only라고 생각하고 작업을 했는데 실제로는 쓰기 db를 건드리게 되는 끔찍한 상황이 발생할 수 있다. 

 

example-db(클러스터)를 눌렀을 때 나오는 엔드포인트는 대표 엔드포인트이다. 

이 엔드포인트를 쓰면 쓰기면 쓰기, 읽기면 읽기, 해당 유형의 인스턴스를 가리키므로 위에서 든 예시와 같은 상황을 신경쓰지 않고

보다 안전하게 db를 사용할 수 있다. 

반응형