$ yh.log
[AWS 자격증] Amazon RDS, Aurora & ElastiCache 정리

[AWS 자격증] Amazon RDS, Aurora & ElastiCache 정리

AWSRDSAuroraElastiCache자격증

작성자 : 오예환 | 작성일 : 2026-01-06 | 수정일 : 2026-01-06

1. Amazon RDS 개요

RDS란?

Relational Database Service - AWS 관리형 관계형 데이터베이스로, SQL을 쿼리 언어로 사용하는 DB 서비스입니다.

지원 데이터베이스 엔진

  • PostgreSQL, MySQL, MariaDB
  • Oracle, Microsoft SQL Server, IBM DB2
  • Aurora (AWS 자체 개발 DB)

2. RDS vs EC2에 직접 DB 설치

RDS 사용의 장점

기능설명
자동 프로비저닝OS 패치 자동화
지속적 백업특정 시점 복원 (Point in Time Restore)
모니터링 대시보드기본 제공
Read Replicas읽기 성능 향상
Multi-AZ재해 복구(DR) 지원
유지보수 윈도우업그레이드 일정 관리
스케일링수직/수평 확장 가능
스토리지EBS 기반

단점: 인스턴스에 SSH 접속 불가


3. RDS Storage Auto Scaling

동작 방식

  • 스토리지 부족 감지 시 자동으로 용량 증가
  • Maximum Storage Threshold 설정 필수

자동 확장 조건 (모두 충족 시)

  1. 할당된 스토리지의 10% 미만 남음
  2. 저용량 상태가 5분 이상 지속
  3. 마지막 수정 후 6시간 경과

워크로드가 예측 불가능한 애플리케이션에 유용합니다.


4. RDS Read Replicas (읽기 복제본)

핵심 특징

  • 최대 15개 Read Replica 생성 가능
  • 같은 AZ, 다른 AZ, 다른 리전 모두 가능
  • 비동기(ASYNC) 복제 → 최종적 일관성(Eventually Consistent)
  • 독립 DB로 승격 가능
  • SELECT 문만 가능 (INSERT, UPDATE, DELETE 불가)

사용 사례

프로덕션 DB (정상 부하)

   ASYNC 복제

  Read Replica 리포팅/분석 애플리케이션
 프로덕션 DB에 영향 없이 분석 작업 수행

네트워크 비용

구성비용
같은 리전 내 다른 AZ무료
다른 리전유료

5. RDS Multi-AZ (재해 복구)

Read Replica vs Multi-AZ 비교

구분Read ReplicaMulti-AZ
복제 방식비동기 (ASYNC)동기 (SYNC)
용도읽기 성능 향상재해 복구 (DR)
접근별도 연결 문자열단일 DNS (자동 장애조치)
스케일링OX

Multi-AZ 특징

  • 하나의 DNS로 자동 장애조치
  • AZ 손실, 네트워크/인스턴스/스토리지 장애 시 자동 전환
  • 애플리케이션 수정 불필요

Single-AZ → Multi-AZ 전환

  • 다운타임 없음 (Zero downtime)
  • 내부 동작: 스냅샷 생성 → 새 AZ에 복원 → 동기화 설정

6. Amazon Aurora

Aurora란?

AWS 자체 개발 데이터베이스 (비공개 소스)로, PostgreSQL과 MySQL 호환됩니다. 기존 드라이버를 그대로 사용할 수 있습니다.

성능 비교

대상성능 향상
MySQL on RDS5배
PostgreSQL on RDS3배 이상

주요 특징

특징설명
스토리지 자동 확장10GB 단위, 최대 256TB
Read Replica최대 15개, 복제 지연 10ms 미만
장애조치즉시 (30초 이내)
비용RDS 대비 약 20% 높음 (효율성 더 좋음)

고가용성 & 읽기 확장

┌─────────────────────────────────────────┐
       공유 스토리지 볼륨 (3개 AZ)            │
  ┌─────┐   ┌─────┐   ┌─────┐
 AZ1 AZ2 AZ3
  │2카피   │2카피  │2카피 = 6카피
  └─────┘   └─────┘   └─────┘
└─────────────────────────────────────────┘
  • 쓰기: 6개 중 4개 필요
  • 읽기: 6개 중 3개 필요
  • 자가 복구 (Self-healing) + 자동 확장

Aurora 엔드포인트

엔드포인트용도
Writer Endpoint마스터 인스턴스 연결
Reader EndpointRead Replica 로드밸런싱

Aurora 주요 기능

  • 자동 장애조치, 백업/복구
  • 제로 다운타임 패치
  • Backtrack: 백업 없이 특정 시점으로 데이터 복원

7. RDS & Aurora 보안

보안 항목설명
저장 시 암호화AWS KMS 사용, 시작 시 설정 필수
전송 중 암호화TLS 기본 지원
IAM 인증사용자명/비밀번호 대신 IAM 역할 사용 가능
보안 그룹네트워크 접근 제어
SSH불가 (RDS Custom 제외)
감사 로그CloudWatch Logs로 전송 가능

암호화되지 않은 DB 암호화 방법: 스냅샷 생성 → 암호화된 상태로 복원


8. Amazon RDS Proxy

RDS Proxy란?

RDS용 완전관리형 데이터베이스 프록시로, DB 연결을 풀링하여 공유합니다.

장점

장점설명
DB 효율성 향상CPU, RAM 부하 감소, 연결/타임아웃 최소화
서버리스자동 스케일링, Multi-AZ 고가용성
장애조치 시간RDS/Aurora 대비 66% 단축
코드 변경대부분 불필요
보안IAM 인증 + Secrets Manager 연동

지원 DB

  • RDS: MySQL, PostgreSQL, MariaDB, MS SQL Server
  • Aurora: MySQL, PostgreSQL

주의: VPC 내부에서만 접근 가능 (퍼블릭 접근 불가)

Lambda + RDS Proxy 아키텍처

Lambda Functions RDS Proxy RDS DB Instance
                (VPC Private Subnet)

9. Amazon ElastiCache

ElastiCache란?

관리형 인메모리 데이터베이스 (Redis / Memcached)로, 초고성능 및 저지연을 제공합니다.

  • DB 읽기 부하 감소
  • 애플리케이션 Stateless 구현

주의: 애플리케이션 코드 변경 필요

아키텍처 패턴 1: DB 캐시

Application

ElastiCache에서 조회 (Cache Hit?)
├─ Hit 바로 반환
└─ Miss RDS에서 조회 ElastiCache에 저장

아키텍처 패턴 2: 세션 스토어

User App Instance 1 세션 저장 ElastiCache

User App Instance 2 세션 조회 (이미 로그인 상태)

10. Redis vs Memcached

구분RedisMemcached
고가용성Multi-AZ + 자동 장애조치없음
Read Replica지원없음
데이터 지속성AOF 영속화비영속적
백업/복원지원Serverless만 지원
데이터 구조Sets, Sorted Sets 지원단순 키-값
아키텍처복제 기반샤딩 (멀티 노드)
멀티스레드단일 스레드멀티스레드

11. 캐싱 전략

Lazy Loading (Cache-Aside)

요청 캐시 확인 Miss DB 조회 캐시 저장 반환
 Hit 바로 반환
장점단점
요청된 데이터만 캐싱Cache Miss 시 3번의 왕복 (지연)
노드 장애 시 치명적이지 않음오래된 데이터 가능성 (Stale Data)

Write-Through

DB 쓰기 캐시에도 동시 저장
장점단점
캐시 데이터 항상 최신쓰기마다 2번 호출 필요
읽기 속도 빠름읽히지 않는 데이터도 캐싱 (Cache Churn)

권장 조합

  • Lazy Loading 기본 적용 (읽기 측)
  • Write-Through 특정 쿼리/워크로드에 선택적 적용
  • TTL 설정 권장 (단, Write-Through 사용 시 제외)

12. Cache Eviction & TTL

캐시 제거 방법

  1. 명시적 삭제: 직접 삭제
  2. LRU (Least Recently Used): 메모리 부족 시 오래된 항목 제거
  3. TTL (Time-to-Live): 설정된 시간 후 자동 만료

TTL 적용 예시

  • 리더보드, 댓글, 활동 스트림
  • 몇 초 ~ 며칠까지 설정 가능

메모리 부족으로 제거가 자주 발생하면 스케일 업/아웃 필요


13. Amazon MemoryDB for Redis

MemoryDB란?

Redis 호환 내구성 있는 인메모리 DB로, 초당 1억 6천만 요청 이상 처리 가능합니다.

주요 특징

특징설명
성능인메모리 (수백 개 노드)
내구성Multi-AZ 트랜잭션 로그
확장성수십 GB ~ 수백 TB

사용 사례

  • 웹/모바일 앱, 온라인 게임
  • 미디어 스트리밍, 금융/뱅킹

핵심 비교 요약

서비스용도특징
RDS관계형 DB관리형, Multi-AZ, Read Replica
Aurora고성능 관계형 DBRDS보다 빠름, 자동 확장, 고가용성
ElastiCache인메모리 캐시Redis/Memcached, 세션/캐시 저장
MemoryDB내구성 있는 인메모리 DBRedis 호환, 초고성능