AWS RDS(Relational Database Service)
Amazon Relational Database Service
는 클라우드에서 관계형 데이터베이스를 쉽게 설치, 운영 및 확장 할 수 있는 관리형 서비스입니다.
RDS의 특징
- RDS는 필요에 따라
CPU, 메모리, 스토리지, IOPS를 각각 독립적으로 확장할 수 있습니다.
- RDS는 백업, 소프트웨어 패치, 자동 장애 감지 및 복구를 관리합니다.
- Amazon Aurora, MySQL, MariaDB, PostgreSQL, Oracle, Microsoft SQL Server를 지원합니다.
- DB 인스턴스에 대한 shell을 제공하지 않고, OS 제어가 불가능합니다.
- RDS DB 인스턴스에 대해
Storage Auto Scaling을 활성화 할 수 있습니다.
AWS Database Migration Service
를 이용하면 기존에 사용하던 데이터베이스를 AWS로 마이그레이션 가능합니다.
Multi-AZ Deployments(다중 AZ 배포)
RDS는 다중 AZ 배포(Multi-AZ deployments)를 통해
high availability(고가용성)과 failover(장애극복)를 제공
합니다.다중 AZ 배포를 활성화 하면 RDS는 자동으로
서로 다른 AZ에 동기식 예비 복제본(standby)을 프로비저닝하고 유지
합니다.예비 복제본은
같은 리전에 다른 AZ에 프로비저닝
됩니다.다중 AZ(Multi-AZ) 배포가 활성 된 경우 동기식 복제를 수행하기 때문에
단일 AZ(Single-AZ)에 비해 쓰기(write)와 커밋(commit)의 레이턴시(latency)가 증가 할 수 있습니다.
예비 복제본(standby)는 읽기 요청을 처리할 수 없습니다.
다중 AZ 배포는 가용성과 내구성을 제공하도록 설계되어 있고 기본(primary)와 예비 복제본(standby)가 지속적으로 동기화하는 것도 이러한 이유 때문입니다.Single-AZ에서 Multi-AZ로 DB 인스턴스가 수정되는 경우, RDS는 DB 인스턴스의 스냅샷을 캡쳐하여 다른 AZ로 복원한 뒤
기본(primary) 인스턴스와 새로운 인스턴스는 동기식 복제를 설정합니다.
다중 AZ배포를 사용하면 primary인스턴스에서 I/O가 중단되지 않도록 자동 백업 및 DB 스냅샷이 예비 복제본에서 수행됩니다.
DB 인스턴스나 AZ에 장애가 발생할 경우 RDS가 자동으로 예비 복제본(standby)으로 failover됩니다.
이때 예비 복제본이 promoted(승격)되자 마자 데이터베이스에 읽기쓰기가 재개됩니다.
Read Replicas(읽기 전용 복제본)
애플리케이션의 읽기 트래픽을 분산하기 위한 용도
Read Replicas를 지원하는 DB 엔진 : MariaDB, Microsoft SQL Server, MySQL, Oracle, PostgreSQ
Read Replicas가 생성되면 먼저 기존 DB 인스턴스를 source DB로 지정합니다.
이후 RDS가 source 인스턴스의 스냅샷을 생성하여 해당 스냅샷에서 Read Replicas를 생성합니다.
스냅샷에서 Read Replicas 생성이 완료되면, RDS가 기존 DB 인스턴스가 변경할 때 마다 DB 엔진이 비동기적으로 Read Replicas를 업데이트합니다.
어플리케이션은 DB인스턴스와 동일하게 Read Replicas에 연결됩니다.
DB 인스턴스 백업 및 복원
- RDS는 DB 백업을 위해
자동백업(automated backups)
과DB 스냅샷(DB snapshots)
을 제공합니다. - 기본적으로 RDS는 DB 인스턴스를 자동으로 백업합니다. 이때 보존 기간은 7일입니다.
- 자동 백업(automated backups)은 DB 인스턴스 전체를 백업(완전한 스냅샷을 만드는것)하는것 입니다.
- 스냅샷(snapshots)은 DB 인스턴스의 특정시점을 스냅샷으로 생성하는것 입니다.
- DB 스냅샷과 자동 백업은 S3에 저장됩니다.
'Cloud > AWS' 카테고리의 다른 글
[AWS/CLI] authorize-security-group-ingress (0) | 2021.10.20 |
---|---|
[AWS] Backup (0) | 2021.10.20 |
[AWS] IAM (0) | 2021.10.13 |
[AWS/CLI] describe-route-tables (0) | 2021.10.07 |
[AWS] Cloud Front (0) | 2021.10.05 |