[AWS Fundamentals] Amazon Aurora

IMKUNYOUNG·2024년 8월 17일
0

AWS-SAA

목록 보기
42/91

Amazon Aurora는 AWS에서 제공하는 고성능, 고가용성의 클라우드 네이티브 관계형 데이터베이스 서비스입니다. 오픈 소스는 아니지면, MySQL 및 PostgreSQL과 호환되도록 설계되어 기존의 다양한 애플리케이션에서 쉽게 사용할 수 있습니다. 이번 포스팅에서는 Aurora의 작동 윈리와 주요 기능들을 살펴보겠습니다.

Aurora의 특징

Aurora는 AWS가 자체 개발한 데이터베이스 엔진으로, 기존 RDS(MySQL, PostgreSQL)보다 월등히 높은 성능을 자랑합니다. AWS에 따르면, RDS MySQL보다 최대 5배, RDS PostgreSQL보다 최대 3배 더 빠른 성능을 제공합니다. 이처럼 뛰어난 성능은 클라우드에 최적화된 다양한 최적화 기법 덕분입니다.

자동 확장 스토리지

Aurora의 스토리지는 자동으로 확장됩니다. 데이터베이스 크기가 증가함에 따라 스토리지가 10GB에서 최대 128TB까지 자동으로 확장됩니다. 즉, 저장 용량 관리에 신경 쓸 필요 없이 시스템이 자동으로 필요한 만큼의 스토리지를 확보해 줍니다. 이는 DB 관리자나 시스템 운영자(SysOps)에게 큰 이점을 제공합니다.

읽기 복제본 및 장애 조치

Aurora는 최대 15개의 읽기 전용 복제본을 지원합니다. 이는 MySQL RDS의 5개 제한보다 훨씬 많은 수치로, 대규모 읽기 작업이 필요한 환경에서 큰 장점을 제공합니다. 또한, Aurora는 읽기 복제 속도가 매우 빠르며, 읽기 작업의 효율성을 크게 향상시킬 수 있습니다.

장애 조치 또한 매우 빠릅니다. 기본적으로 Aurora는 여러 가용 영역(AZ)에 걸쳐 데이터를 복제하고, 문제가 발생할 경우 평균 30초 이내로 장애 조치가 이뤄집니다. 이는 높은 가용성을 보장하는 중요한 요소입니다.

고가용성을 위한 데이터 복제와 자가 복구

Aurora는 데이터를 세 가지 가용 영역(AZ)에 6개의 사본으로 저장합니다. 이를 통해 고가용성과 데이터 보존을 보장합니다. 쓰기 작업은 6개 사본 중 4개만 성공하면 완료되며, 읽기 작업은 6개 사본 중 3개만 있으면 가능합니다. 이는 가용 영역 하나가 중단되더라도 서비스가 중단되지 않음을 의미합니다.

더불어 Aurora는 백엔드에서 자동으로 데이터 자가 복구를 수행합니다. 일부 데이터가 손상되거나 문제가 발생했을 경우, P2P 복제를 통해 데이터를 복구하며 단일 볼륨에 의존하지 않고 여러 볼륨에 데이터를 분산 저장하여 리스크를 최소화합니다.

Aurora 클러스터와 엔드포인트

Aurora 클러스터는 하나의 마스터 인스턴스와 여러 읽기 전용 복제본으로 구성됩니다. 클라이언트가 이 클러스터에 접속할 때, Aurora는 두 가지 주요 엔드포인트를 제공합니다: 라이터(Writer) 엔드포인트와 리더(Reader) 엔드포인트입니다.

  • 라이터 엔드포인트: 클라이언트가 마스터 인스턴스에 쓰기 작업을 할 때 사용하는 엔드포인트입니다. 이 엔드포인트는 항상 마스터 인스턴스를 가리키며, 마스터 인스턴스가 변경되거나 장애 조치가 발생하더라도 클라이언트는 여전히 이 엔드포인트를 통해 마스터에 연결할 수 있습니다.

  • 리더 엔드포인트: 읽기 전용 복제본에 대한 로드 밸런싱을 자동으로 수행합니다. 클라이언트는 리더 엔드포인트를 통해 여러 읽기 전용 복제본 중 하나로 연결되며, 연결 레벨에서 로드 밸런싱이 이루어집니다.

이 두 엔드포인트는 Aurora 클러스터의 효율적인 운영과 장애 조치 시에도 원활한 연결을 보장합니다.

추가 기능

Aurora는 자동 장애 조치 외에도 백업 및 복구, 보안 기능, 자동 스케일링, 그리고 제로 다운타임 패치 적용 등의 다양한 기능을 제공합니다. 또한, 백트랙(Backtrack)이라는 유용한 기능이 있어, 데이터베이스를 과거 특정 시점으로 복원할 수 있습니다. 예를 들어, 어제 오후 4시 상태로 복구했다가, 다시 오후 5시 상태로 돌아가는 것도 가능합니다. 이는 백업을 사용하지 않고 Aurora에서 자체적으로 제공하는 기능입니다.

마치며

Amazon Aurora는 고성능, 고가용성, 자동 확장 기능 등 다양한 이점을 제공하는 AWS의 클라우드 네이티브 데이터베이스입니다. MySQL 및 PostgreSQL과 호환되며, 클라우드 환경에서 최적화된 성능을 제공합니다. 자동 스케일링과 자동 확장 기능 덕분에 Aurora는 대규모 애플리케이션에 이상적인 선택이 될 수 있습니다. 이 모든 기능들은 AWS가 제공하는 강력한 관리형 서비스로서, 데이터베이스 관리의 복잡성을 크게 줄여줍니다.

0개의 댓글