[AWS] RDS - Relational Database Service
클라우드에 RDB를 배포할 때 그냥 EC2를 사용해서 RDB 실행시키면 되지만, AWS는 운영편의성 및 자동화를 위해 RDS서비스를 제공한다.
EC2에 RDB를 직접 배포할 때는 DB 설치, 구성 작업을 직접 수행해야 하고, 백업 및 복구 작업을 수동으로 처리해야 한다.
RDS는 초기 설정을 알아서 처리해주고 일정 기간마다 데이터를 백업해 Timestamp 기반 복구를 지원해주고, Multi Availability Zone 배포로 장애 발생 시 자동 복구 기능을 사용하는 등 여러 편의 기능을 제공한다.
읽기 작업을 분산해 트래픽 증가에 대응할 때는 Read Replica를 사용한다.
각 복제본들은 원본 데이터베이스로부터 비동기적으로 데이터를 복제하는데.. 덕분에 성능 저하는 없지만 복제 지연이 발생 시 복제본이 항상 최신 상태임을 보장할 수는 없다.
Primary DB에 영향을 줄 수 있는 무거운 통계 쿼리를 날릴 때 Read Replica를 사용하자.
당연한 소리지만.. Primary DB와 Read Replica가 같은 지역에 있다면 다른 Availability Zone이라도 네트워크 오버헤드가 적지만, Read Replica가 다른 지역으로 복제된 경우 네트워크 오버헤드가 증가하니 조심하자.
Multi Availability Zone은 Primary DB에서 Standby DB로 데이터를 동기적으로 복제한다.
실시간으로 동기화돼 데이터의 일관성이 보장되고, Primary DB에 장애 발생 시 자동으로 Failover가 수행된다.
Standby DB는 Primary DB가 정상적으로 작동할 경우 어떤 요청도 처리하지 않고, 장애 복구를 위해 대기할 뿐이다.
RDS는 기본적으로 오라클, SQL Server, MySQL, PostgreSQL, Aurora 등 여러 RDB를 지원하지만 표준 RDS에서 제공하지 않는 데이터베이스를 사요해야 하는 경우 RDS Custom을 사용한다.
RDS Custom는 RDS를 기반으로 하지만 OS 수준의 접근 권한을 허용해 사용자가 직접 서버를 커스텀해서 사용할 수 있다.
기본적으로 RDS는 SSH 접속을 허용하지 않지만, RDS Custom은 SSH를 허용한다.
AWS는 RDB를 추상화하는 RDS외에도 ElastiCache를 사용해 Redis, Memcached 인메모리 데이터 저장소 추상화한다.
사용자 세션 데이터를 메모리에 저장하거나, 자주 사용되는 쿼리를 캐싱해 DB I/O를 줄일 때 사용한다.
AWS는 Aurora라는 자체 클라우드 데이터베이스를 RDS에서 사용할 수 있도록 제공한다.
MySQL 및 PostgreSQL과 호환되는 데이터베이스로 필요에 따라 스토리지의 크기를 10GB부터 128TB까지 자동으로 확장된다.
각 데이터를 3개의 Availability Zone에 분산 저장해 6개의 Read Replica를 유지한다.
기존 인스턴스에 장애 발생 시 알아서 조치해주고, 데이터를 읽을 때도 로드밸런서가 작동해 여러 Read Replica에 요청을 분산시킨다.
Reader Endpoint를 커스텀 할 경우 기존 Reader Endpoint는 사용되지 않는다.
DB 부하가 큰 통계 쿼리를 실행할 때 몇 가지 Read Replica의 성능을 향상시킨 후 해당 커스텀 Endpoint를 통해 해당 Replica에 접근하도록 설정한다.
Read 트래픽이 증가할 경우 알아서 Replica를 추가해 Auto Scaling을 구현한다.
'DevOps > Amazon Web Service' 카테고리의 다른 글
[AWS] S3 - Simple Storage Service (0) | 2025.01.22 |
---|---|
[AWS] Route53 (0) | 2025.01.18 |
[AWS] Availability and Scalability (0) | 2025.01.14 |
[AWS] EC2 - Elastic Compute Cloud (0) | 2025.01.10 |
[AWS] IAM - Identity and Access Management (0) | 2025.01.06 |
댓글
이 글 공유하기
다른 글
-
[AWS] S3 - Simple Storage Service
[AWS] S3 - Simple Storage Service
2025.01.22 -
[AWS] Route53
[AWS] Route53
2025.01.18 -
[AWS] Availability and Scalability
[AWS] Availability and Scalability
2025.01.14 -
[AWS] EC2 - Elastic Compute Cloud
[AWS] EC2 - Elastic Compute Cloud
2025.01.10