DB & AWS Knowledge
RDS 및 Aurora Cluster 개요 본문
해당 페이지에서는 AWS 의 RDBMS 서비스인 RDS 와 Aurora Cluster 서비스 특징에 대하여 다룬다.
참고 자료
https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.html
https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Overview.DBInstance.html
RDS (Amazon Relational Database Service)
RDS 는 AWS 에서 관계형 데이터베이스 엔진을 활용하여 AWS 서비스로 제공하기 위하여 만든 데이터베이스 (DB) 서비스다. 상용 (ORACLE, MS-SQL), 오픈소스 (MySQL, PostgreSQL, MariaDB) DB 를 제공하며 이중 ORACLE 은 AWS 에서 라이선스를 구매하지 않고, 기존 온프레미스에서 사용하던 라이선스를 가져와서 쓸 수 있는 특징이 있다. (BYOL - Bring Your Own license)
온프레미스와 비교해 봤을 때의 차이점은 여러가지가 있는데 대표적인 특징은 아래와 같다.
- RDS 도 결국은 AWS 에서 관리하는 서비스이기 때문에 (Managed service), 온프레미스에서 사용 할 수 있었던 일부 DB 조작 영역 (ex 일부 파라미터, my.cnf, postgresql.conf) 이 제한되며 이는 온전히 AWS 에서 내부적으로 관리한다.
또한, 이에 따라 온프레미스에서 DB 에 접근시 DB 가 설치된 Linux 에 접근하여 모든 디렉토리를 관리하는 과정을 거치지 않아도 되며, 이와 관련된 내용은 조회 또한 할 수가 없다.
- 위의 내용과 관련하여 monitoring 등도 AWS 에서 관리하며 이는 AWS 콘솔의 CloudWatch, Enhanced Monitoring, Performance Insight 등을 통하여 확인 할 수 있다.
- 온프레미스 서버와 달리 인스턴스(클라우드 기반 운영 환경 단위) 를 생성 할 때, class 를 지정 해 줘야 한다.
이는 아래의 공식 문서에서 확인 할 수 있다.
https://aws.amazon.com/ko/rds/instance-types/ - class 별 cpu, mem 크기
https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html - class 별 특징
- 위의 class 를 참조해보면 각 인스턴스 class 별 지원하는 DB 버전이 상이 하다는 것을 알 수 있다. 또한 이는 Region 과도 연관이 된다.
- DB 사용량에 따라 스토리지와 관련된 Autoscaling 을 자체적으로 수행한다. 이는 아래의 문서에서 확인 할 수 있다.
- 백업 및 복원 기능도 AWS 의 기능을 사용하기에 독립적인 백업 솔루션 (ex: mysqldump, MySQL xtrabackup) 등을 사용 할 필요가 없다. 단, 고객들마다 운영환경이 매우 다양하므로 이에 맞춰 솔루션을 통하여 백업을 수행 할 수 있도록 지원 해 준다.
- HA 는 Multi-AZ (Available Zone) 을 지정하여 수행 할 수 있다. 이는 기존 인스턴스가 이슈가 발생 했을 시, 다른 AZ 에 구성된 대비 인스턴스로 Failover 되는 과정으로 수행된다. 아래 Aurora Cluster 에도 언급 하겠지만, 이러한 특징 때문에 Master 에 Reader (AWS 는 Read Replica, RR 라 통칭) 가 있는 구조에서는 Reader 가 자동 승격되는 구조가 아니다.
(단, 이는 수동으로 메뉴에 있는 승격기능을 사용하면 Reader 가 Master 가 되도록 만들 수 있다. 또한 위에 언급된 대비 인스턴스는 Master, Reader 의 역할을 수행하는게 아닌 각 Master, Reader 인스턴스들의 대비용 인스턴스라 보면 된다.)
Aurora Cluster
오픈소스 DB 를 활용하여 고가용성 및 운영효율등을 높힌 DB 서비스다. 또한 이를 통하여 백업, 복구 속도를 높힌 특징도 가지고 있다.
RDS 및 기존 온프레미스 서버와 다른 특징이 있는데 바로 위와 같이 Writer, Reader 인스턴스들이 통합된 Cluster Volume 을 쓰며, Write 작업 수행시, 기존에 Writer 스토리지에만 데이터가 써지는 것과 달리 공유되는 Cluster Volume 을 쓰며 이를 Reader 들이 데이터를 읽어들이는 특징을 가지고 있다.
Aurora Cluster 또한 RDS 가 가진 온프레미스와의 차이점을 그대로 가지며 여기에 추가적으로 가지는 차이점은 아래와 같다.
- Multi Master 를 설정 할 수 있다. 그래서 Multi Master 로 설정해서 보면 Oracle RAC 와 흡사한 구조임을 볼 수 있다.
- Aurora 자체 버전을 DB 버전으로 쓴다. 다만, 인스턴스를 생성시에 뒤에 MySQL 5.7 등을 통하여 어떤 major 버전과 호환이 되는지 확인 할 수 있다.
- Cluster Volume 특정상, 기존 RDS 에서 쓰는 스토리지와는 다른 특성을 보이며 이는 서비스 사용료 산출 (Biliing) 와도 연관된다. 이는 아래의 공식 문서에서 확인 할 수 있다.
https://aws.amazon.com/ko/rds/aurora/pricing/
- HA 는 우리가 온프레미스에서 생각하는 대로 Writer 에서 문제가 있을 시, Reader 로의 자동 Failover 를 지원하며, 수동 Failover 또한 가능하다. 단, 다른 게시글에서 더 자세히 다루겠지만 버전 업그레이드시에는 모든 클러스터 내 인스턴스가 동시에 업그레이드 되므로 Failover 를 수행 할 수 없다.
'AWS 및 클라우드 지식 > AWS RDS, Aurora 및 관련 지식' 카테고리의 다른 글
AWS RDS Failover (0) | 2022.05.04 |
---|---|
AWS RDS 지원 버전 확인 및 관리 (0) | 2022.04.26 |
IAM (Identity and Access Management) 예시 - 권한제한 (0) | 2021.11.30 |
IAM (Identity and Access Management) 개념 및 의의 (0) | 2021.11.26 |
AWS 서비스 비용 산출 기준 사항들 (0) | 2021.11.16 |