728x90
AWS RDS(관계형 데이터베이스 서비스)는 SQL을 사용하는 관계형 데이터베이스에 대한 관리형 서비스입니다.
RDS는 다양한 데이터베이스 엔진(PostgreSQL, MySQL, MariaDB, Oracle, Microsoft SQL Server, IBM DB2, 그리고 AWS의 Aurora)을 지원하며, 클라우드에서 데이터베이스를 쉽게 생성하고 관리할 수 있도록 도와줍니다.
RDS 기초 설명
주요 특징 및 혜택
- 자동화된 관리: 데이터베이스 프로비저닝과 운영 체제 패치가 자동화되어 있으며, 지속적인 백업과 특정 시점 복원이 가능합니다.
- 모니터링 및 성능 관리: 대시보드를 통해 데이터베이스 성능을 모니터링하고, 읽기 성능 향상을 위해 읽기 복제본을 사용할 수 있으며, 재해 복구를 위한 다중 가용 영역(Multi-AZ)을 설정할 수 있습니다.
- 확장성: 유지보수 창을 통해 업그레이드가 가능하며, 수직적 확장(인스턴스 유형 변경)과 수평적 확장(읽기 복제본 추가)이 가능합니다.
- 스토리지 관리: RDS는 EBS 스토리지를 사용하며, GP2 또는 Io1 볼륨을 지원합니다. 또한, RDS 스토리지 오토스케일링 기능을 통해 데이터베이스가 사용량에 따라 자동으로 스토리지를 확장할 수 있습니다.
스토리지 오토스케일링
- 사용자가 지정한 스토리지 용량이 부족할 경우, RDS는 자동으로 스토리지를 확장합니다. 이를 통해 데이터베이스를 중단하지 않고도 스토리지를 늘릴 수 있습니다.
- 최대 저장 임계값을 설정하여 무한한 확장을 방지할 수 있으며, 특정 조건(할당된 저장 공간의 10% 미만이 남고, 5분 이상 지속될 때, 마지막 수정 이후 6시간 경과)이 충족되면 스토리지가 자동으로 확장됩니다.
요약 포인트
- RDS는 다양한 데이터베이스 엔진(PostgreSQL, MySQL, MariaDB, Oracle, Microsoft SQL Server, IBM DB2, 그리고 AWS의 Aurora)을 지원합니다.
- 데이터베이스 용량이 부족할 경우 수직적 확장과 수평적 확장을 중단 없이 증설 가능합니다.
- RDS는 이 모든 기능을 통해 관리의 복잡성을 줄이고, 데이터베이스 관리에 대한 부담을 덜어줍니다.
RDS 읽기 전용 복제본과 다중 AZ의 개요 및 사용 사례
읽기 전용 복제본 (Read Replica)
- 목적: 읽기 성능을 확장하기 위해 사용됩니다.
- 기능:
- 최대 15개의 읽기 전용 복제본을 생성할 수 있으며, 동일한 가용 영역(AZ) 또는 다른 AZ나 리전에 걸쳐 생성할 수 있습니다.
- 비동기식 복제가 이루어지며, 이는 읽기 작업이 일관적으로 유지된다는 것을 의미합니다.
- 읽기 전용 복제본은 데이터베이스로 승격하여 사용할 수 있습니다.
- 프로덕션 데이터베이스에 부하를 줄이고, 분석 또는 보고와 같은 추가 워크로드를 처리할 수 있습니다.
- 읽기 전용 복제본은 SELECT 문과 같은 읽기 작업만 수행 가능하며, INSERT, UPDATE, DELETE 등의 쓰기 작업은 불가능합니다.
- 사용사례:
- 새로운 팀이 와서 보고 애플리케이션을 메인 RDS 데이터베이스 인스턴스에 연결하면 오버로드가 발생하고 생산 애플리케이션의 속도가 느려질텐데 이런 현상을 피하고자 새로운 워크로드에 대한 읽이 전용 복제본을 생성하는 것입니다.
읽기 전용 복제본을 생성하면 메인 RDS DB 데이터베이스 인스턴스와 읽기 전용 복제본 간 비동기식 복제가 발생하고, 보고 애플리케이션에서 사용하는 RDS는 읽기 전용 복제본 RDS를 사용하게되는 것이지요.
물론 SELECT 명령문만 가능하다는 점은 잊지마시길 바랍니다.
즉, 보고 애플리케이션이 프로덕션 데이터베이스의 성능에 영향을 미치지 않도록 하기 위해 읽기 전용 복제본을 생성하고, 보고와 분석 작업을 복제본에서 수행하도록 설정합니다.
- 새로운 팀이 와서 보고 애플리케이션을 메인 RDS 데이터베이스 인스턴스에 연결하면 오버로드가 발생하고 생산 애플리케이션의 속도가 느려질텐데 이런 현상을 피하고자 새로운 워크로드에 대한 읽이 전용 복제본을 생성하는 것입니다.
- RDS 읽기 전용 복제본과 관련된 네트워크 비용:
- 읽기 전용 복제본은 관리형 서비스입니다.
- 읽기 전용 복제본이 다른 AZ 상이지만 동일한 리전 내 다른 AZ에 있는 읽기 전용 복제본 간에는 네트워킹 비용 즉, 트래픽 비용이 발생하지 않습니다.
- 다른 리전 간에는 비용이 발생합니다.
다중 AZ (Multi-AZ)
- 목적: 재해 복구를 위해 사용됩니다.
- 기능:
- 다중 AZ 설정 시, 마스터 데이터베이스 인스턴스와 동기식으로 복제되는 스탠바이 인스턴스가 생성됩니다.
- 데이터베이스의 모든 변경 사항이 동기적으로 복제되어, 장애 발생 시 자동으로 스탠바이 인스턴스로 장애 조치(Failover)가 이루어집니다.
- 애플리케이션은 하나의 DNS 이름을 사용하여 마스터 데이터베이스와 통신하며, 장애 발생 시 스탠바이 데이터베이스로 자동 연결됩니다.
- 스탠바이 데이터베이스는 읽기나 쓰기에 사용되지 않고, 오직 대기 상태로 존재합니다.
- 사용 사례:
- 데이터베이스 인스턴스 또는 전체 AZ에서 문제가 발생할 경우, 다중 AZ 설정을 통해 자동으로 장애 조치가 수행되어 애플리케이션의 가용성이 보장됩니다.
요약 포인트
- 읽기 전용 복제본은 주로 읽기 성능을 확장하기 위해 사용되며, 비동기식 복제가 이루어집니다.
- 다중 AZ는 재해 복구를 위한 것으로, 동기식 복제가 이루어지며, 장애 발생 시 자동으로 스탠바이 인스턴스로 장애 조치가 수행됩니다.
- 재해 복구를 대비해 읽기 전용 복제본을 다중 AZ로 설정도 가능합니다.
- 단일 AZ에서 다중 AZ로의 전환이 가능하며, 이 작업에는 다운타임이 없다는 점을 기억해야 합니다.
실습 영상
아래 QUERY로 테스트 가능합니다.
# 테이블을 생성, 컬럼은 name, first_name
CREATE TABLE mytable (name VARCHAR(20), first_name VARCHAR(29));
# mytable 이라는 테이블 안에 name과 first_name 컬럼에 woni, jung을 삽입
INSERT INFO `mytable` (`name`, `first_name`) VALUES('woni', 'jung');
# 삽입한 데이터 1000개 확인
SELECT * FROM `mytable` LIMIT 1000
728x90
'Cloud' 카테고리의 다른 글
[AWS] Aurora 개념 (0) | 2024.08.13 |
---|---|
[AWS] RDS와 RDS Custom은 어떤 차이점이 있을까? (0) | 2024.08.13 |
[AWS] ASG(AutoscalingGroup) 조정 정책, 스케일링 정책 (0) | 2024.08.07 |
[AWS] ASG(AutoscalingGroup) 간단 설명 및 실습 영상 (0) | 2024.08.05 |
[AWS] 등록 해제 지연(Deregistration Delay, Connection Draining) (0) | 2024.08.05 |