Amazon RDS
Amazon RDS는 AWS의 관리형 Relational Database로, 클라우드 내 관계형 DB의 환경 설정과 운용 및 scaling을 간소화한다. Amazon Aurora, MySQL, PostgreSQL 등의 SQL engine을 지원하며, 하드웨어 권한 설정 및 DB 설정 / 패치 / 백업 등을 자동화하여 사용자로 하여금 application 개발에 집중하도록 돕는다.
Multi-AZ deployment
Amazon RDS의 Multi-AZ 배포 전략은 DB instance에 대한 고가용성과 시스템 대체 작동(= failover)를 지원한다.
주요 특징
- Automatic Failover : 다른 가용 영역에 동기화된 standby replica를 생성/운영하여 main DB가 다운되면 이를 사용하여 대체한다.
- Improved Durability & Increased Availability : 데이터 복제 및 동기화를 통해 DB의 내구성과 가용성을 향상시킨다.
- 다양한 SQL engine 지원 : Amazon Aurora, MySQL, MariaDB, PostgreSQL, Oracle 등 SQL server
Read Replicas
Amazon RDS의 읽기 전용 복제본은 RDS DB instance의 성능과 내구성을 개선한다. 이를 사용하면 읽기 위주 DB의 workload의 규모를 탄력적으로 확장할 수 있다.
주요 특징
- Read Scaling : 읽기 전용 복제본 사용 시 read traffic을 여러 DB instance에 걸쳐 분배할 수 있어 읽기 성능이 향상되고 주 DB instance의 부담을 낮춘다.
- Asynchronous Replication : main DB의 데이터를 비동기 방식으로 복제하기 때문에, main과 sub DB 간의 gap이 존재
- High Availability : main DB가 다운될 시 이를 대체하여 고가용성 및 재해 복구 옵션을 제공한다.
- Replication Across Regions : main DB와 동일한 region 혹은 다른 region에 생성되어 global 단위의 읽기 규모 확장
- 지원하는 DB engine : Amazon Aurora, MySQL, PostgreSQL, MariaDB
Multi-AZ vs. Read Replicas
특징 | Multi-AZ | Read Replicas |
목적 | 고가용성 및 (자동)시스템 대체 | read scaling과 그를 통한 성능 향상 |
동기화 여부 | 동기 | 비동기 |
데이터 일관성 | 엄격히 준수 without lag | 약간의 lag 존재 |
Automatic Failover | O | X |
Write Capability | 주 instance에서만 write 발생 | 읽기 전용 |
Cross-Region Support |
X | O |
Promotion | automatic failover to standby instance | manual promotion to standby instance |
Supported Engines |
Amazon Aurora, MySQL, PostgreSQL, Oracle, SQL Server |
Amazon Aurora, MySQL, PostgreSQL, MariaDB |
정리하면, Amazon RDS는 Multi-AZ 배포 전략을 통해 가용성을 향상시키고, Read Replicas를 통해 읽기 성능을 향상시킨다. 이를 활용하면 application의 요구에 맞게 회복력 있고 탄력적인 DB 구조 설계가 가능해진다.
Amazon Aurora
Amazon Aurora는 관리형 Relational DB로, MySQL과 PostgreSQL과 호환된다. Aurora는 일부 비용으로 상용 DB의 성능과 가용성을 제공한다.
DB cluster
Aurora DB cluster는 하나 이상의 instance와 여러 가용 영역에 걸친 공유 스토리지 볼륨으로 구성된다. 주 instance는 모든 읽기/쓰기 동작을 수행하는 반면, Aurora replicas는 읽기 동작을 수행한다.
주요 기능
- DB cluster auto promotion : main instance와 replica instance가 존재하며, main instance 문제 발생 시 이를 replica instance로 대체한다. 이는 고가용성과 failover mechanism을 가능하게 만든다.
- Auto-backup : Aurora DB cluster는 자동 백업을 기본으로 사용하며 '사용 안함' 전환이 불가능하다.
- DB cloning : copy-on-write, 즉 새로운 변경 사항이 생길 때마다 추적하여 복제 DB에 반영되는 기능
- Backtracking : DB cluster를 특정 시간대(버전)로 되감는 기능으로 Aurora MySQL만 지원됨. in-place replacement
- Read Replicas : 동일 region과 cross-region에서 최대 15개까지 replica 생성을 지원하며, 각 RR에는 0~15 까지의 우선순위 부여가 가능하다.
- 이는 failover 우선순위에 반영되며, 우선순위 값이 높을 수록 우선순위가 높다.
- 우선순위가 같다면, 취급하는 data의 크기가 큰 쪽을 먼저 처리한다.
Amazon OpenSearch (ex Amazon ElasticSearch)
Amazon OpenSearch는 Redis, MemCached 같은 in-memory DB를 지원하는 관리형 서비스로, AWS 클라우드 내에서 OpenSearch 클러스터를 배포, 운용, 확장을 지원한다. 대규모 데이터를 빠르게 조작하고, 실시간에 가까운 검색을 가능하게 만드는 분산형 검색/분석 engine이다.
OpenSearch for Redis vs. OpenSearch for Memcached
Redis | MemCached | |
목적 | 고가용성을 위한 Multi-AZ | Multi-node (= sharding) |
Read Replicas 지원 여부 | O | X |
Back-up 지원 여부 | O | X |
'자격증 공부 > AWS SysOps Administrator - Associate' 카테고리의 다른 글
AWS SysOps Administrator - Monitoring and Auditing (1) | 2024.08.08 |
---|---|
AWS SysOps 1 회차 실전 문제 풀이 (0) | 2024.08.07 |
AWS SOA(02) - CloudFront (1) | 2024.07.30 |
AWS SOA(02) - Advanced Storage (1) | 2024.07.30 |
AWS SOA(02) - S3 options (1) | 2024.07.23 |