
[SAA-C03] AWS 기초 - RDS, Aurora, ElastiCache
AWS RDS RDS Relational Database Service, 관계형 데이터베이스 서비스 Postgres, MySQL, MariaDB, Oracle, Microsoft SQL Server, Aurora 관리형 서비스 데이터베이스 프로비저닝, 기본 운영체제 패치 자동화 지속적인 백업
jwlish.tistory.com
더보기



AWS RDS
RDS
- Relational Database Service, 관계형 데이터베이스 서비스
- Postgres, MySQL, MariaDB, Oracle, Microsoft SQL Server, Aurora
- 관리형 서비스
- 데이터베이스 프로비저닝, 기본 운영체제 패치 자동화
- 지속적인 백업으로 특정 시점으로 복원 가능
- 대시보드에서 모니터링 가능
- 읽기 전용 복제본을 활용해 읽기 성능 개선
- 다중 AZ 설정 가능
- Storage Auto Scaling 가능
- 스토리지는 EBS로 구성 (gp2, io1)
- SSH를 통해 접속할 수 없음
Read Replica
- 읽기 전용 복제본으로 최대 5개까지 생성 가능
- 동일 AZ, 타 AZ나 타 리전에 걸쳐서 생성 가능
- 권한을 획득하여 데이터베이스로 승격 가능
Multi AZ
- 다중 AZ는 주로 재해 복구에 사용
- AZ A의 마스터 데이터베이스 인스턴스를 AZ B에 대기 인스턴스로 동기적 복제
- 하나의 DNS 이름을 갖고 마스터에 변경 사항이 생기면 대기 인스턴스에도 변경 사항 적용
- 읽기 전용 복제본도 다중 AZ 설정 가능
- 단일 AZ에서 다중 AZ로 전환할 때 다운 타임이 없음
RDS Custom
- RDS Custom은 Oracle, Microsoft SQL Server에서만 사용 가능
- 기저 운영 체제와 데이터베이스에 대한 관리자 권한 전체를 가짐

Amazon Aurora
Aurora
- 오픈 소스가 아닌 AWS 고유의 기술로 Postgres와 MySQL과 호환
- Aurora의 스토리지는 자동으로 확장, 10GB부터 최대 128TB까지
- 읽기 전용 복제본 (Read Replica) 의 경우 최대 15개의 복제본 생성 가능하고 복제 속도도 훨씬 빠름
- Aurora는 높은 가용성을 가지고 장애 발생 시 30초 이내에 즉각적인 장애 조치
- Writer / Reader Endpoint 를 제공하여 Writer 에서는 마스터로 접근하고 Reader 에서는 읽기 전용 복제본으로 접근
- Aurora 특징
- 자동 장애 조치
- 백업 및 복구
- 격리 및 보안
- 산업 규정 준수
- 자동 스케일링
- 제로 다운 타임 자동 패치
- 고급 모니터링
- 통상 유지 관리
- 백트랙 - 과거의 어떤 시점의 데이터로 복원하는 기능
Aurora 고급 개념
- 복제본 자동 스케일링을 통해 읽기 요청을 분산하고 전반적인 CPU 사용량 감소 가능
- 사용자 지정 엔드포인트를 통해 특정 복제본에서 작업 가능
- Serverless 기능으로 실제 사용량에 기반한 자동 데이터베이스 인스턴스화와 자동 스케일링을 가능하게 함
- 비정기적, 간헐적 또는 예측 불허한 워크로드에 유용
- 멀티 마스터 기능으로 Wirter Node 에 높은 가용성 부여 가능 (모든 인스턴스에서 읽기 / 쓰기가 가능)
- Global Aurora로 리전 간 복제 가능하고 리전에 걸쳐 데이터를 복제하는 데 걸리는 시간은 평균 1초 미만
- Aurora는 AWS 내의 머신 러닝 서비스와의 통합을 지원

RDS & Aurora
RDS Backup
- 자동 백업
- 자동으로 매일 데이터베이스 유지 관리 시간에 데이터베이스 전체를 백업
- 5분마다 트랜잭션 로그 백업
- 자동 백업 보유 기간은 1일에서 최대 35일까지 설정 가능, 0으로 설정해서 자동 백업 비활성화도 가능
- 수동 DB 스냅샷 생성
- 수동으로 진행해야 하지만 원하는 만큼 장기간 보관 가능
- 스냅샷을 만들고 원본 데이터베이스는 삭제하는 방법으로 비용 절감 가능
Aurora Backup
- 자동 백업
- 자동 백업 보유 기간은 1일에서 최대 35일까지 설정 가능, 비활성화는 불가능
- 지정 시간 복구 기능으로 정해진 시간 범위 내의 어느 시점으로도 복구 가능
- 수동 DB 스냅샷 생성 - RDS Backup 과 유사
Restore
- 스냅샷으로 복원
- S3로부터 MySQL RDS 데이터베이스 복원
- 기본적인 개념은 온프레미스 데이터베이스의 백업 파일을 객체 스토리지인 S3에 업로드하고 해당 파일로 복원
- S3로부터 MySQL Aurora 클러스터로 복원
- Percona XtraBackup 이라는 소프트웨어를 사용하여 백업한 후 S3에 업로드하고 해당 파일로 복원
Aurora 데이터베이스 복제
- 기존의 데이터베이스로부터 새로운 Aurora DB 클러스터를 복제하는 기능
- 기존 데이터베이스에 영향을 주지 않고 복제하여 개발 또는 테스트를 수행
- 스냅샷을 만들고 복원하는 것보다 복제한 Aurora를 사용하는 편이 더 빠름
Security
- 데이터베이스 생성 시 정의하며 KMS를 사용해 마스터와 모든 복제본의 암호화가 이루어짐
- 마스터 데이터베이스에서 암호화를 하지 않으면 읽기 전용 복제본 암호화 불가능
- 암호화되지 않은 기존 데이터베이스를 스냅샷 생성하여 암호화 활성화 후 생성하는 방법으로 암호화 가능
- IAM 역할을 사용해서 데이터베이스에 접속하거나 username / PW 조합으로 접속 가능
- 보안 그룹을 통해 네트워크 액세스 통제
- RDS와 Aurora는 SSH로 액세스가 불가능 (단, RDS Custom 서비스는 예외)
RDS Proxy
- RDS 데이터베이스 인스턴스의 연결을 최소화
- Serverless로 Auto Scaling이 가능해 용량 관리가 필요 없고 다중 AZ로 가뇽성이 높음
- 장애 조치 시간을 최대 66% 감소
- 데이터베이스에 IAM 인증을 강제하는 데 사용되고 자격 증명은 AWS Secret Manager 서비스에 저장
- RDS Proxy는 MySQL, PostgreSQL, MariaDB 용 RDS를 지원하고 MySQL, PostgreSQL 용 Aurora를 지원
Amazon ElastiCache
ElastiCache
- RDS와 동일한 방식으로 관계형 데이터베이스를 관리
- 캐시 - 높은 성능과 낮은 지연 시간을 가진 인 메모리 데이터베이스
- Redis, Memcached와 같은 캐시 기술을 관리
- ElastiCache를 사용하여 읽기 집약적인 워크로드의 부하를 낮춤
- Redis는 다중 AZ와 읽기 전용 복제본 기능으로 가용성이 높고 백업 및 복원이 가능, RDS와 유사
- Memcached는 단순한 분산 캐시로 가용성이 높지 않고 백업과 복원 기능 없음

'자격증 > SAA-C03' 카테고리의 다른 글
| [SAA-C03] Amazon S3 - 기본 (1) | 2023.02.01 |
|---|---|
| [SAA-C03] Route 53 (0) | 2023.01.30 |
| [SAA-C03] 고가용성 및 확장성 - ELB, ASG (0) | 2023.01.27 |
| [SAA-C03] EC2 인스턴스 스토리지 (0) | 2023.01.26 |
| [SAA-C03] EC2 - SAA Level (0) | 2023.01.10 |