DB & AWS Knowledge
Aurora Cluster 의 엔드포인트 (endpoint) 유형 및 의의 본문
Aurora Cluster 의 엔드포인트 (endpoint) 유형 및 의의
`O` 2022. 10. 14. 03:32해당 페이지에서는 Aurora Cluster 에서 사용되는 엔드포인트 유형 및 의의에 대하여 다룬다.
해당 내용은 아래의 공식 문서를 참조하여 기재한다.
https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.Endpoints.html
Aurora Cluster 에서의 엔드포인트 유형
Aurora Cluster 의 엔드포인트는 크게 네가지가 있다.
- 클러스터 엔드포인트 (Cluster Endpoint)
일반적으로 Aurora Cluster 의 writer 에서 쓰이는 엔드포인트다.
즉, 데이터 쓰기를 주로 담당하는 엔드포인트이기에 운영중인 서비스에서 데이터 생성, 수정 (DDL, DML 등) 이 빈번히 일어나는 클라이언트는 해당 엔드포인트를 쓰게 해야 한다.
Failover 가 발생해서 기존 reader 가 writer 가 되었을 때는 당연히 해당 엔드포인트도 failover 가 된 인스턴스로 자동 연결되므로 온프레미스와 다르게 failover 이후에 사후 조치등이 필요없다.
- 리더 엔드포인트 (Reader Endpoint)
Aurora Cluster 의 reader 에서 쓰이는 엔드포인트다.
데이터 읽기 작업만 수행하는 클라이언트는 해당 엔드포인트를 사용하게 하면 된다.
또한 리더 엔드포인트는 자체적인 load balancing 기능도 가지므로 읽기 작업을 요청하는 모든 클라이언트에 대하여
사용중인 Aurora Cluster 에 있는 reader 인스턴스들에 부하를 고르게 분배 해 주는 기능도 담당한다.
- 커스텀 엔드포인트 (Custom Endpoint, 사용자 지정 엔드포인트)
이름 그대로 사용자가 만들 수 있는 엔드포인트다. 이에 대하여 사용자가 writer 를 바라볼지, reader 를 바라볼지 선택 할 수 있다.
DB 부하에 대하여 더 세밀하게 부하를 나누거나 각 서비스에 사내 규정등으로 복수개의 나뉘어진 엔드포인트를 분배 할 때 이를 관리할 목적으로 사용하면 용이한 유형의 엔드포인트다.
- 인스턴스 엔드포인트
인스턴스 자체의 고유 엔드포인트를 뜻한다. 이는 인스턴스를 생성시에 자동으로 부여되며 위의 엔드포인트 특성을 사용하지 않고 해당 인스턴스만 바라보게 하기 때문에 이에 따른 장단점이 있다. 위의 커스텀 엔드포인트와 같이 AWS 서비스에 대한 이해도가 높을 때 응용하는 엔드포인트다. 이에 대한 실 사례는 위의 document 에서 확인 할 수 있다.
실제로 실무에서는 클러스터, 리더 엔드포인트를 main 으로 사용하며 커스텀, 인스턴스 엔드포인트는 AWS 서비스의 이해도가 높은 상태에서 더 세밀한 failover 및 DR 구조를 구상할 때 쓴다.
Aurora Cluster 에서의 엔드포인트 사용 의의
위 단락의 엔드포인트 특성과 같이 Aurora Cluster 의 엔드포인트는 단순히 인스턴스를 바라보게 하는 수준에서 그치지 않고 load balancing 등의 여러 기능을 포함하고 있다. 그렇기에 AWS 서비스를 사용한다면 ip 주소나 host 이름을 사용하는 온프레미스와는 다르게 가능한 엔드포인트를 사용하여 RDS 및 Aurora Cluster (혹은 AWS 서비스 전반) 를 사용하도록 권장한다.
'AWS 및 클라우드 지식 > AWS RDS, Aurora 및 관련 지식' 카테고리의 다른 글
AWS RDS 가 사용하는 VPC 내에서 Public subnet 을 Private subnet 으로 바꾸기 (0) | 2023.03.13 |
---|---|
RDS, Aurora Cluster 의 내부 작업 종류 및 주의 사항 (0) | 2023.02.24 |
RDS, Aurora Cluster 의 CloudWatch 와 Enhanced Monitoring 간의 측정 값 차이 (0) | 2022.10.12 |
Aurora Cluster 간 replication 연결 (0) | 2022.06.24 |
RDS, Aurora Cluster 의 DBInstanceClassMemory (0) | 2022.06.15 |