나의 공부기록

[AWS] 37. RDS(Relational Database Service) & Read Replica & RDS Multi-AZ 본문

자격증/AWS

[AWS] 37. RDS(Relational Database Service) & Read Replica & RDS Multi-AZ

나의 개발자 2025. 4. 14. 17:22

Amazon RDS(Relational Database Service)

RDS

  • AWS가 제공하는 Managed Relational Database Service(관계형 DB 서비스)
  • SQL을 사용하는 DB를 클라우드에서 쉽게 생성, 관리 가능

✅ 지원하는 데이터베이스

  • PostgreSQL
  • MySQL
  • MariaDB
  • Oracle
  • Microsoft SQL Server
  • IBM DB2
  • Aurora(AWS 독자 개발 고성능 DB)

✅ RDS의 장점(↔️ EC2에 직접 DB 설치)

RDS EC2 직접 설치
완전 관리형 서비스 직접 OS, DB 설치/관리 필요
자동 프로비저닝, OS  패치 수동으로 패치 및 관리
Point-in-Time 복원 가능 수동 백업 필요
모니터링 대시보드 제공 CloudWatch 직접 설정
Read Replica로 읽기 성능 향상 직접 복제 설정 필요
멀티 AZ 배포로 DR(Disaster Recovery, 재해복구) 보장 직접 스크립트 구성 필요
스케일링  기능 제공(수직/수평) 인스턴스, 볼륨 수동 확장
EBS 기반 안정적인 스토리지 별도 EBS 설정 필요
SSH 접속 불가 EC2라면 SSH 가능

 

🌟 RDS - Storage Auto Scaling - 시험 출제 가능 ⬆️

  • DB 스토리지가 부족해질 경우, 자동으로 스토리지 용량 확장
  • 설정 조건
    • 사용 가능한 여유 스토리지가 10% 이하일 때
    • 5분 이상 부족 상태 유지
    • 최근 스토리지 변경 이후 6시간 경과
  • 사전에 최대 스토리지 한계값(Maximum Storage Threshold)을 설정
  • 예측 불가능한 워크로드를 가진 앱에 매우 유용
  • 모든 RDS 데이터베이스 엔진에서 지원

RDS Read Replica - 읽기 성능 확장용

특징 설명
목적 읽기(SELECT) 부하 분산을 위해 사용
구성 최대 15개 Read Replica  생성 가능
복제 방식 비동기(Async) 복제 - Eventually Consistent
연결 애플리케이션이 직접 Connection String 수정 필요
위치 Same AZ / Cross AZ / Cross Region 가능
승격 가능 필요 시, Replica를 독립적인 DB 인스턴스로 승격 가능

 

Read Replica - 사용 사례

  • 보고서, 분석용 애플리케이션에서 DB 부하를 분산
  • 읽기 전용(SELECT) 쿼리 실행용
  • 쓰기 작업(INSERT, UPDATE, DELETE)은 원본 DB에서만 처리
    ➡️ 원본 DB의 데이터가 변경되는 작업은  하지 않음

Read Replica - 네트워크 비용

구성 비용
Same Region, Same AZ 무료
Same Region, Cross AZ 무료
Cross-Region 유료(전송 데이터 비용 발생)

 

🌟RDS Multi-AZ - 장애 복구용(DR)

특징 설명
목적 고가용성(HA)와 장애 복구
복제 방식 동기(Sync) 복제
➡️ 강력한 데이터 일관성 보장
구성 1개의 DNS - 자동 Failover
특징 장애 발생시, 자동으로 스탠바이 인스턴스로 전환
주의 성능 확장용 아님, 읽기 부하 분산 불가

 

Multi-AZ 전환 방법

  • 운영 중에도 Zero Downtime 전환 가능

RDS 실습

1. 데이터베이스 생성

1-1. 데이터베이스 엔진 선택

 

1-2. 템플릿 선택

  • 무료로 사용하기 위해 프로덕션 > "단일 인스턴스" 선택

 

1-3. DB 인스턴스 설정 - 자격증명(비밀번호)

 

1-4. 인스턴스 구성

  • 무료로 사용하기 위해 '버스터블 클래스 > db.t3.micro 선택

 

1-5. RDS 연결 설정

  • 외부(Sqlectron)에서 접속하기 위해서 퍼블릭 액세스 ➡️ '예'로 체크 

 

1-6. 네트워크 및 포트 설정

 

1-7. 데이터베이스 인증 & 추가 설정

  • 백업 보존 기간을 0으로 설정하면 비활성화됨

  • 인스턴스 구성에서 db.t2.micro를 선택하면 월별 추정 요금이 무료로 제공됨

2. sql electron 설치

  • RDS 접속 툴

 

 

3. RDS의 보안그룹 인바운드 규칙 수정

  • RDS에 접속하기 위해 인바운드 규칙 수정
    👉 Sqlelectron ➡️ RDS 접속

 

4. RDS 다루는 방법 - 해당 부분은 시험에 나오지 않음

4-1. RDS 접속 설정

 

 

 

4-2. 데이터베이스 생성

 

4-3. 테이블에 값 입력 & 조회

 

 RDS(Relational Database Service) & Read Replica & RDS Multi-AZ