728x90
요약 포인트
- Postgres 및 MySQL과 호환
- RDS의 MySQL보다 5배, Postgres보다 3배 높은 성능
- 10GB에서 최대 128TB까지 자동 확장
- 세 개의 AZ에 걸쳐 6개의 데이터 사본 저장
- 쓰기에는 6개의 사본 중 최소 4개 필요
- 읽기에는 6개의 사본 중 최소 3개 필요
- 평균 30초 이내의 빠른 장애 조치
- 최대 15개 복제본 가능, 빠른 복제 속도
- 리더 엔드포인트를 통한 로드 밸런싱
- 데이터 손상 시 자동 자가 복구
- 수백 개의 볼륨에 데이터 분산 저장
- 특정 시점으로 데이터 복원이 가능, 백업에 의존하지 않음
- 라이터 엔드포인트(쓰기 전용)와 리더 엔드포인트(읽기 전용)로 관리
- 다른 RDS 보다 20%이상 비용이 높음
Aurora 개요
- Amazon Aurora는 AWS가 개발한 클라우드에 최적화된 데이터베이스 서비스입니다.
- 오픈 소스는 아니지만 Postgres 및 MySQL과 호환되도록 설계되어, 호환 가능한 드라이버로 기존 데이터베이스와 연결이 가능합니다.
- RDS의 MySQL보다 5배, RDS의 Postgres보다 3배 높은 성능을 제공합니다.
- Aurora의 스토리지는 10GB에서 최대 128TB까지 자동으로 확장됩니다.
Aurora의 주요 기능
- 최대 15개의 읽기 전용 복제본을 둘 수 있으며, 이는 MySQL의 5개보다 많습니다. 복제 속도도 더 빠릅니다.
- Aurora는 다중 AZ 환경에서 즉각적인 장애 조치가 가능하며, 가용성이 매우 높습니다. 평균 30초 이내에 장애 조치가 이루어집니다.
- 자가 복구 및 자동 확장기능이 있는데 데이터가 손상되면 백엔드에서 자가 복구가 진행되며, 수백 개의 볼륨에 데이터를 분산 저장하여 리스크를 줄입니다.
- Aurora는 세 개의 AZ에 걸쳐 데이터를 기록하며, 6개의 사본(AZ 2개,AZ 2개,AZ 2개)을 저장합니다. 쓰기에는 6개 사본 중 4개, 읽기에는 6개 사본 중 3개만 있으면 됩니다. 쿼럼 쓰기 원리로 높은 가용성과 안정성을 제공합니다.
- 쿼럼(Quorum)쓰기 원리: 분산 시스템에서 쿼럼은 작업을 성공적으로 처리하기 위해 필요한 최소한의 동의 수를 의미합니다. Aurora에서는 쿼럼 쓰기를 통해 데이터를 저장할 때 최소한의 일관성을 보장합니다.
Aurora 클러스터와 엔드포인트
- 라이터(Writer) 엔드포인트: 마스터 인스턴스와 연결되는 엔드포인트로, 쓰기 작업을 담당합니다. 장애 조치 후에도 자동으로 올바른 인스턴스로 리다이렉트됩니다.
- 리더(Reader) 엔드포인트: 읽기 전용 복제본과 연결되며, 로드 밸런싱을 통해 읽기 작업을 효율적으로 분산 처리합니다. 자동 스케일링 기능도 지원됩니다.
- 추가 설명: 오토스케일링이 켜져있는 경우 앱 입장에서는 복제본이 어디에 있고, URL은 무엇인지 어떻게 연결해야 하는지 파악하기 힘들 수 있다. 이를 위해서 리더 엔드포인트가 존재한다. 이는 여러 읽기 전용 복제본을 로드밸런싱 하여 많은 읽기 전용 복제본을 하나로 사용할 수 있도록 해준다는 것이다.
추가 기능
- 백트랙: 특정 시점으로 데이터를 복원할 수 있는 기능으로, 백업에 의존하지 않고 원하는 시점으로 되돌릴 수 있습니다.
- 자동 장애 조치, 백업 및 복구: Aurora는 이러한 작업을 자동으로 처리하여 높은 안정성과 가용성을 제공합니다.
⭐️ Aurora 고급 개념
- 복제본 Auto Scaling
- 읽기 요청이 많은 경우, 자동으로 Aurora 복제본을 추가하여 리더 엔드포인트가 확장됩니다. 이는 전체 CPU 사용량을 낮추고 성능을 향상시킵니다.
- 사용자 지정 엔드포인트:
- 특정 복제본의 성능을 최적화하기 위해 Aurora 인스턴스의 부분집합에 대해 사용자 지정 엔드포인트를 정의할 수 있습니다. 이는 주로 더 강력한 인스턴스가 분석 쿼리를 처리하도록 하여 성능을 극대화하는 데 사용됩니다.
- Custom Endpoint가 도입되면, 특정 트래픽은 Reader Endpoint가 아닌 Custom Endpoint를 통해 처리됩니다.
- Reader Endpoint는 여전히 존재하지만, 주로 일반적인 읽기 작업이나 Custom Endpoint로 지정되지 않은 인스턴스들을 사용한 읽기 작업을 처리하게 됩니다.
- 따라서 Reader Endpoint로의 트래픽은 줄어들거나 특정 작업에 사용되지 않을 가능성이 높습니다.
- 서버리스:
- 자동화된 데이터베이스 프로비저닝과 사용량에 따른 Auto Scaling을 제공하여, 간헐적이고 예측 불가능한 업무량에 대해 비용 효율적으로 대응할 수 있습니다.
- 글로벌 Aurora:
- 하나의 기본 리전과 최대 5개의 보조 읽기 전용 리전을 구성할 수 있으며, 리전 간 데이터 복제가 1초 이하의 지연 시간을 가집니다. 재해 복구 시 다른 리전으로의 장애 조치(failover)가 1분 이내에 이루어집니다.
- Aurora 기계 학습 통합:
- Aurora는 Amazon SageMaker와 Amazon Comprehend와 통합되어, SQL 인터페이스를 통해 기계 학습 기반의 예측을 응용프로그램에 추가할 수 있습니다. 이를 통해 이상 탐지, 감정 분석, 상품 추천 등의 작업을 수행할 수 있습니다.
728x90
'Cloud' 카테고리의 다른 글
[AWS] RDS 암호화 및 RDS Proxy 기본 개념 (0) | 2024.08.16 |
---|---|
[AWS] RDS, Aurora 의 백업, 복원, 복제 요약 (0) | 2024.08.14 |
[AWS] RDS와 RDS Custom은 어떤 차이점이 있을까? (0) | 2024.08.13 |
[AWS] RDS 개요 및 읽기 전용 복제본과 다중 AZ와 실습 영상 (0) | 2024.08.09 |
[AWS] ASG(AutoscalingGroup) 조정 정책, 스케일링 정책 (0) | 2024.08.07 |