Aurora Replicas - Auto Scaling
- 클라이언트과 3개의 Aurora 인스턴스가 주어졌을 때
인스턴스 하나는 Writer Endpoint를 통해 쓰기를 할 것이고 다른 두 개는 Reader Endpoint를 통해 읽기를 함
Reader Endpoint에 많은 요청이 있어 Aurora 데이터베이스에 높은 CPU 사용량이 발생할 경우 Replica 자동 확장 설정 가능
Aurora Replica를 추가하고 그 후에 Reader Endpoint는 자동으로 새로 생긴 Replica까지 확장됨
그리하여 새로운 Replica들은 트랠픽을 받게 되고 읽기는 더 분배된 형태로 행해져 전반적인 CPU 사용량이 감소
Aurora – Custom Endpoints
- 클라이언트과 3개의 Aurora 인스턴스가 주어졌을 때
두 가지 서로 다른 종류의 Replica인 db.r3.larger와 db.r5.xlarge가 주어지면
몇 개의 Read Replica는 다른 Replica에 비해 크게 되어 Aurora 인스턴스의 서브넷을 Custom Endpoint로 정의할 수 있음
두 개의 큰 Aurora 인스턴스에 Custom Endpont를 정의하게 되면 이들은 특정 Replica에 분석적 쿼리를 실행하는데 더 좋음
Custom Endpoint는 정의한 후에는 Reader Endpoint를 사라지지는 않지만 더이상 사용하지는 않게 됨
이처럼 다양한 종류의 워크로드를 위한 Custom Endpoint 를 셋업하여 Aurora Replica의 서브넷만을 쿼리하도록 해야함
Aurora Serverless
- 자동화된 데이터베이스 인스턴스화와 실제 사용에 근거한 자동 확장을 제공
- 드물고 간헐적이거나 예측이 불가능한 워크로드를 가지고 있을 때 유용하며 용량 계획이 필요 없음
- 스핀업되고 있는 각 Aurora 인스턴스 별로 초 단위로 비용을 지불하게 되며 비용적 측면에서 훨씬 효율적
- 클라이언트는 Aurora에 의해 관리되는 Proxy Fleet과 소통하고
백엔드에서 많은 Aurora 인스턴스가 워크로드에 기초하여 serverlsess 형태로 생성됨
Aurora Multi-Master
- Writer 노드를 위한 즉각 장애 조치가 필요할 때나 Writer 노드에 있어서 높은 가용성이 필요할 때 사용
- Aurora 클러스터에 있는 모든 노드가 Read와 Write를 행하거나
하나의 Write만 있는 상황에서 장애가 발생하거나 실패하는 경우 Read Replica를 새로운 Master로 추진해야 함 - 세 개의 Aurora 인스턴스가 있을 때 이들 사이에서는 복제가 행해지고 있으며 공유된 스토리지 볼륨을 가지고 있음
클라이언트는 다수의 데이터베이스 연결을 갖게 되며 모든 Aurora 인스턴스가 Write를 행하며 실패하는 경우
자동으로 다른 인스턴슬 장애 조치하여 Write 노드에 대한 즉각 장애 조치를 제공받을 수 있음
Global Aurora
- Aurora 교차 구역 Read Replica를 갖고 있는 경우 재해 복구를 위해 유용하며 Aurora 글로벌 데이터베이스를 셋업할 수 있음
- 모든 Read와 Write가 행해지는 하나의 주요 구역을 설정하고
복제 지연이 1초 채 되지 않는 다섯 개의 부차적인 Read 전용 구역을 셋업하면
각 부차 구역 당 최대 16개의 Read Replica를 갖게 되어 전 세계의 모든 Read Replica에 대한 지연 시간을 낮춰주어
하나의 구역에서 데이터베이스 중간이 발생하는 경우 재해 복구 목적을 위한 다른 구역 추진은
1분 미만의 RTO (목표 복구 시간)을 갖고 있어 다른 구역으로 복구하기 위해 1분 미만의 시간만 소요됨 - 주요 구역으로 us-east-1이 주어지고 앱은 Read와 Write를 실행
그리고 eu-west-1에 부차적인 구역을 셋업할 것이며 여기에는 Aurora의 글로벌 데이터베이스와 복제가 행해지며 Read 전용
us-east-1이 실패하는 경우 eu-west-1을 Read / Write Aurora 클러스터로 추진하여 장애 조치를 하게 됨
Aurora Machine Learning
- Aurora는 AWS 내의 머신러닝 서비스와 통합을 제공
- Aurora 머신 러닝의 아이디어는 SQL 인터페이스를 통해 머신러닝에 기초한 예측을 애플리케이션에 추가하여
Aurora와 다른 AWS 머신 러닝 서비스 사이의 최적화되고 안전한 통합을 제공 - 두 개의 지원 서비스
1) SageMaker : 백엔드에서 모든 머신 러닝 모델을 사용할 수 있도록 해 줌
2) Amazon Comprehend : 감정 분석을 행할 때 사용 - Aurora를 통해 이상거래탐지, 광고 타켓팅, 감정 분석, 상품 추천이 가능
- Aurora는 AWS 내의 머신러닝 서비스로 연결되고 애플리케이션은 간단한 SQL 쿼리를 실행
예) 추천된 상품은 무엇인가? - 이에 대해 Aurora는 데이터를 머신 러닝 서비스로 보내게 되고
예) 사용자 프로필, 쇼핑 내역 - 머신 러닝 서비스는 Aurora로 직접적으로 예측을 리턴
예) 사용자는 파란 셔츠와 파란 바지를 살 것이다. - 그 후 Aurora는 SQL 쿼리의 결과를 애플리케이션에 리턴
(애플리케이션 > SQL 쿼리 > Aurora > 머신 러닝 서비스 > Aurora > 애플리케이션)
'Cloud > AWS' 카테고리의 다른 글
[SAA] ElastiCache 솔루션 아키텍트 (0) | 2022.03.09 |
---|---|
[SAA] ElastiCache (0) | 2022.03.08 |
[SAA] Aurora 개요 (0) | 2022.03.08 |
[SAA] RDS 암호화 + 보안 (0) | 2022.03.07 |
[SAA] RDS 읽기 전용 복제본과 다중 AZ (0) | 2022.03.07 |