AWS RDS
2024. 8. 13. 18:13ㆍAWS Cloud Base
목차
- 정의
- 특징
- 인증 방법
- 가격 모델
- 제공 DB 엔진
- 암호화
- 백업
- RDS Multi - AZ
- RDS Read Replica(읽기 전용 복제본)
- RDS Multi Region
- 차이
정의
- Amazon Relational Database Service(Amazon RDS)
- 클라우드에서 관계형 데이터베이스를 간편하게 설계, 운영, 확장할 수 있도록 AWS에서 제공해주는 관계형 데이터베이스임.
- 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같은 시간이 소모되는 관리 작업을 자동화시키며, 비용 효율적이고, 크기 조정이 가능한 용량도 제공해줌.
- 빠른 성능, 고가용성, 보안, 호환성도 제공해줌.
특징
- 기본적으로 가상머신 위에서 동작을 하는 ec2 인스턴스에다 EBS 볼륨을 결합한 형태임.
- 그래서 이전에 배운 security group, vpc, subnet 등 ec2와 관련된 서비스가 RDS에도 적용된다고 보면됨.
- 일반적으로 VPC안 서브넷 안에서 동작함
- 기본적으로 Public IP를 부여하지 않아 외부에서 접근은 불가능함.
- 설정에 따라 Public으로 오픈 가능(DNS로 접근)
- 서브넷과 보안그룹 지정이 필요
- EC2 타입의 지정 필요
- 스토리지는 EBS 활용
- EBS 타입의 선택 핑요
- 생성시 EBS의 용량을 지정해서 생성(Aurora는 용량 지정 안함. 알아서 조정)
- 다만, 기존 EC2처럼 putty 이용해서 시스템에 직접 로그인은 불가능함. 이는 OS 패치, 관리등은 AWS의 역할이라는 것을 시사함.
- 그렇다고해서 또 Serverless 서비스는 또 아님.(단, Aurora Serverless 라는 게 따로 있음)
- 그래서 이전에 배운 security group, vpc, subnet 등 ec2와 관련된 서비스가 RDS에도 적용된다고 보면됨.
- 관계형 데이터베이스
- <-> NoSQL(DynamoDB, DocumentDB, ElasticCache)
- 나아가 CloudWatch 와 같은 기타 AWS 서비스와도 연동시킬 수 있음
- DB 인스턴의 모니터링(EC2와 동일)
- DB에서 발생하는 여러 로그(Error Log, General Log등)을 CloudWatch 와 연동하여 확인 가능
- Prameter Group: Root 유저만 설정 가능한 DB의 설정값들을 모아 그룹화한 개념
- DB 클러스터에 파라메터 그룹을 적용시켜 설정값을 적용
- 업데이트
- 마이너 버전 엔진 업데이트는 자동으로 업데이트 설정 가능
- 기타 업데이트 경우 점검 시간을 설정하여 특정 시간에 업데이트가 이루어질 수 있도록 설정 가능
인증 방법
- 전통적인 유저/패스워드 방식
- AWS Secret Manager와 연동하여 자동 로테이션 가능
- IAM DB 인증
- 데이터베이스를 IAM 유저 크레덴셜/Role을 통해 관리 가능
- Kerberos 인증
가격 모델
- 컴퓨팅 파워 + 스토리지 용량 + 백업 용량 + 네트워크 비용
- Reserved Instance 구매가능
- EC2와 마찬가지로 일정 기간을 계약하여 저렴한 가격에 서비스를 이용
제공 DB 엔진
- MS SQL Server
- Oracle
- Oracle OLAP
- PostgreSQL
- MariaDB
- Amazon Aurora
RDS 암호화
- SQL 서버 혹은 Oracle에서는 TDE(transparent Data Encyption) 지원
- 모든 엔진에서 EBS 볼륨 암호화 지원
- Default Master Key 혹은 생성한 Master Key 선택 가능
- Default Master Key: KMS에서 지원해주는 서비스라 로테이션 조정 불가능
- Master Key: 사용자 본인이 관리하기에 로테이션 조정 가능 -> KMS 설명시 자세히
- Default Master Key 혹은 생성한 Master Key 선택 가능
- 자동 백업, 스냅샷, Read Replica 등에 적용됨
RDS 백업
- 자동 백업
- 매일마다 스냅샷을 만들고 트랜잭션 로그를 저장(S3에 저장되며, 데이터베이스의 크기 만큼의 공간을 점유)
- 저장된 트랜잭션 로그를 바탕으로 일정 기간 내의 특정 시간으로 롤백이 가능함
- 롤백시, 새로 생성된 다른 DB 클러스터에다 백업 시도를 하는 것이지, 기존 DB를 복구 시키는 것이 아님.(Aurora에서는 가능)
- 1~35일 까지 보관 가능
- Backup을 시행할 때는 약간의 딜레이 발생 가능성은 있지만, 더 오래 보관 가능함
- 기본적으로 사용 상태로설정되어 있음
- 매일마다 스냅샷을 만들고 트랜잭션 로그를 저장(S3에 저장되며, 데이터베이스의 크기 만큼의 공간을 점유)
- 수동 백업
- 유저, 혹은 다른 프로세스로부터 요청에 따라 만들어지는 스냅샷
- 데이터베이스가 삭제된 이후에도 계속 보관(35일 이상 지나도)
- 스냅샷의 복구는 항상 새로운 DB Instance를 생성하여 수행
- 새로 생성된 DB Instance에 연결하는 작업이 따로 필요
RDS Multi AZ
- 두 개 이상의 AZ에 걸쳐 데이터베이스를 구축하고 우너본과 다른 DB(Standby)를 자동으로 동기화(Snyc)
- 주소는 그대로 쓰고, 서로간 동기화가 지속적으로 이루어지기에 접속하는 입장에서는 장애를 거의 못 느낌
- 퍼포먼스의 상승효과가 아닌 안정성을 위한 서비스임
- StandBy DB는 접근 불가능
- 원본 DB의 장애 발생시 자동으로 다른 DB가 원본으로 승격됨(DNS가 Standby DB로)
- SQL Server, Oracle, Mysql, PostgreSQL, MariaDB에서 지원
- Aurora의 경우 다중 AZ를 설계 단계에서 지원
RDS Read Replica(읽기 전용 복제본)
- Primary 데이터베이스의 읽기 전용 복제본을 생성(Asyns)
- 쓰기는 Primary 데이터베이스에, 읽기는 복제본에서 처리하여 작업로드를 분산화 시킴
- 안정성이 아닌 퍼포먼스를 위한 서비스
- 각각의 복제본은 고유 DNS가 할당됨 => 접근 가능
- 원본 DB의 장애 발생 시 수동으로 DNS 주소를 복제본 DNS 주소로 변경이 필요
- 복제본 자체에 Multi - AZ 설정 가능(MySQL, MariaDB, PostgreSQL and Oracle)
- 기존 Multi - AZ DB에 Read Replica 설정 가능
- 자동 백업이 활성화되어 있어야 읽기 전용 복제본 생성가능
- MySQL, PostgreSQL, MariaDB, Oracle, Aurora에서 지원
- 총 5개까지 생성 가능
- 각 DB 엔진 버전이 다를 수도 있음
RDS Multi Region
- 다른 리전에 지속적으로 동기화시키는 DB 클러스터를 생성
- Async 복제
- 주로 로컬 퍼포먼스(세계 여러나라 지원 가능) 혹은 DR시나리오로 활용
- 각 리전별로 자동백업가능
- 리전별로 Multi-AZ 가능
차이
Multi-AZ | Multi-Region | Read Replica | |
목적 | 고가용성 | DR / 로컬 퍼포먼스 | 확장성 / 성능 |
복제방식 | 동기 | 비동기 | 비동기 |
액티브 | Primary DB만 읽기/ 쓰기 가능 | Read만 가능 | Read만 가능 |
백업 | 자동 백업(standby 기준) | 자동 백업 가능 | 기본적으로 백업x(Primary만 해도 충분하기에) |
엔진 업데이트 | Primary만 업데이트 | 각 리전별로 다른 업데이트 | DB별로 다른 업데이트 |
FileOver | 자동으로 Standby로 Failover | 수동으로 Failover | 수동으로 Failover |
'AWS Cloud Base' 카테고리의 다른 글
S3 정적 호스팅 (0) | 2024.04.22 |
---|---|
S3의 객체 암호화 (0) | 2024.04.22 |
S3 버전 관리 및 객체 잠금 (0) | 2024.04.20 |
S3 Bucket Policy (0) | 2024.04.20 |
S3 Class (0) | 2024.04.20 |