RDS (Relational Database Service)
- SQL 쿼리 언어로 사용하는 RDBMS
- 클라우드에서 RDS 서비스인 DB를 만들 수 있으며, AWS에서 관리된다.
- MySQL, MariaDB, Oracle, Microsoft SQL Server 와 IMB DB2 및 AWS 독점 DB인 Aurora가 있다.
- 우리가 EC2 인스턴스 위에 자체 데이터베이스 서버를 구축하는 대신 RDS 를 사용하는 이유는 무엇일까?
--> RDS 는 관리형 서비스이기 때문에, AWS 는 단순히 DB를 제공하는 것 외에도 많은 서비스를 제공한다.
1. DB 에 대한 프로비저닝이 완전히 자동화 되어 있다.
2. 기본 운영 체제 패치도 마찬가지.
3. 지속적인 백업이 이루어지고 있으며, 특정 타임스탬프로 복원할 수 있다. (특정 시점 복원)
4. 모니터링 대쉬보드를 사용하여 DB 성능을 볼 수도 있다.
5. 읽기 복제본을 가질 수 있다. ( 읽기 전용 복제본을 추가하여 수평적 확장 기능)
6. 읽기 성능을 향상 시키기 위해 다중 가용 영역 (Multi-AZ) 을 설정할 수 있다.
7. 업그레이드를 위한 유지보수 창이 있고, 인스턴스 유형을 늘려 수직적으로 확장
8. 스토리지는 EBS의 지원을 받는다. -->> GP2 볼륨 또는 IO1 이 무엇인지 이미 알고 있는 것이다. - 유일하게 할 수 없는 것은 RDS 인스턴스에 SSH 를 적용할 수 없다는 것이다.
-> 이는 관리형 서비스이기 떄문에 AWS는 우리에게 서비스를 제공하지만, 기저 EC2 인스턴스에 액세스할 수 없다.
그러나 EC2 자체 DB 엔진을 배포하려는 경우 자체적으로 설정해야 하는 모든 항목을 갖기 때문에 그리 나쁘지만도 않다. - 만약, RDS DB를 생성할 때 원하는 스토리지 용량을 지정하였을때, 여유 공간이 부족하다면, RDS 스토리지 오토스케일링을 통해, RDS 는 이를 감지하고, 스토리지를 자동으로 스케일업한다.
-> 따라서 스토리지를 늘리기 위해 DB를 중단하는 등의 작업을 할 필요가 없다.
-> 즉, 이는 애플리케이션이 RDS DB 에 대해 많은 I/O를 수행한 다음 일부 임계값을 사용하여 자동으로 확인한다.
-> 그러면 스토리지가 자동으로 스케일링될 수 있다.
--> 이를 위해서는 최대 저장 임계값을 설정하여, 스토리지 확장을 원하는 최대 한도를 지정하는 것이다.
RDS 읽기 전용 복제본과 다중 AZ 의 차이와 사례
- 읽기 전용 복제본 = 읽기를 스케일링한다.
ex) 애플리케이션과 RDS DB 인스턴스가 있다고 하면, 애플리케이션은 DB 인스턴스에 대해 I/O 를 수행한다. 하지만 주된 DB 인스턴스가 너무 많은 요청을 받아서 충분히 스케일링할 수 가 없기에, 읽기를 스케일링한다고 해보자
-> 이때 읽기 전용 복제본을 최대 15개까지 생성할 수 있으며, 이들은 동일한 가용 영역 또는 가용영역이나 리전을 걸쳐서 생성될 수 있다
1. 첫번째 옵션 : 주된 RDS , 읽기전용복제본 사이에 비동기식(읽기가 일관적으로 유지되는 것) 복제가 발생한다 -> 가령 애플리케이션에서 데이터를 복제하기 전 읽기 전용 복제본을 읽어 들이면 모든 데이터를 얻을 수 있다는 것.
->> 이와 같은 비동기식 복제는 복제본이 읽기 스케일링에 적합할 수 있으나, 이를 DB로 승격시켜 이용할 수 있다. 즉, 이들 복제본 중 하나를 DB로 사용하고자 한다면 그에 대한 권한을 획득하면 이를 DB로 승켝시킬 수 있다.
다중 AZ
- 다중 AZ 는 주로 재해 복구에 사용
- 읽기 쓰기를 수행하는 마스터 DB 인스턴스에 동기식으로 다른 AZ 에 스탠바이 인스턴스로 복제한다.
- 즉, 마스터 DB의 모든 변화를 동기적으로 복제하여 마스터의 변경사항이 스탠바이 인스턴스에도 그대로 복제된다는 것을 의미.
-> 하나의 DNS 를 갖고 애플리케이션 또한 하나의 DNS로 통신하며, 마스터가 문제가 생길때에도 스탠바이 DB 가 자동으로 장애조치를 해준다. -> 하나의 DNS 를 갖기 때문 ->> 이를 통해 가용성을 높일 수 있기 때문에 다중 AZ라고 한다.
- 단일 AZ 에서 다중 AZ로 RDS DB 전환할때 이 작업은 다운타임이 전혀 없다. 즉, DB를 중지할 필요가 없다. -> DB 수정을 클릭하고 다중 AZ 기능을 활성화시키기만 하면 된다.
--> 이를 통해 RDS DB 인스턴스는 동기식 복제본인 스탠바이 DB를 확보한다. - 내부적으로 RDS 가 자동으로 스냅샷을 생성한다. 이 스냅샷은 새로운 DB에 복원된다. 스탠바이 DB가 복원되면 두 DB간 동기화가 설정되므로 스탠바이 DB가 메인 RDS DB 내용을 모두 수용하여 다중 AZ 설정 상태가 된다.
'AWS' 카테고리의 다른 글
RDS 와 Aurora 의 보안, RDS Proxy, ElastiCache (0) | 2024.10.17 |
---|---|
Aurora 의 기능, 장애 조치, 스토리지, 가용영역, 인스턴스 접속, 작동 (0) | 2024.10.15 |
Cross-zone Load Balancing, SSL, Connection Draing (1) | 2024.10.14 |
AWS 에서 Load Balancer 의 종류(ALB, NLB, GWLB) (0) | 2024.10.13 |
EFS 의 개념과 EBS Volume 과의 차이점, Elastic Load Balancer (3) | 2024.10.11 |