반응형
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 - 고급 (0) | 2023.08.31 |
---|---|
[SAA-C03] Amazon S3 - 기본 (0) | 2023.08.30 |
[SAA-C03] 고가용성 및 확장성 - ELB, ASG (0) | 2023.08.28 |
[SAA-C03] EC2 인스턴스 스토리지 (0) | 2023.08.25 |
[SAA-C03] EC2 - SAA Level (0) | 2023.08.24 |