본문 바로가기
AWS

[AWS] Databases

by hxxyeoniii 2025. 12. 16.

올바른 DB 고르기

  • AWS에는 선택할 수 있는 다양한 관리형 데이터베이스가 있다.
  • 무엇을 선택지는 어떤 아키텍처를 요구하는지에 따라 다르다.
    • 읽기 중심인지, 쓰기 중심인지, 혹은 균형이 맞는 워크로드인지, 처리량은 얼마나 되는지, 그 처리량이 하루에 얼마나 달라지는지, 확장이 필요한지, 하루에 얼마나 달라지는지?
    • 저장해야 할 데이터의 양은 얼마나 되고 얼마 동안 보관하애 하는지, 데이터는 계속 증가하는지, 평균 객체의 크기는 어떻게 되는지, 데이터 액세스 빈도와 액세스 방법은 무엇인지?
    • 데이터 내구성은 어떤지, 데이터의 공급원은 무엇인지?
    • 지연 시간 요구 사항은 어떻게 되는지, 동시 사용자는 얼마나 되는지?
    • 데이터 모델은 어떻게 되는지, 데이터를 어떻게 쿼리할 것인지, 조인이 필요한지, 정형인지, 반정형인지?
    • 강력한 스키마가 필요한지, 유연성이 필요한지, 데이터베이스 관련 보고가 필요한지, 검색 기능이 필요한지, 관계형 데이터베이스와 NoSQL 중 무엇이 필요한지?
    • 라이센스 비용이 드는지, Aurora와 같은 클라우드 네이티브 데이터베이스로 전환할 계획이 있는지?

RDS

  • 관리형 PostgreSQL / MySQL / Oracle / SQL Server / MariaDB / 사용자 지정 RDS
  • RDS 인스턴스 크기, EBS 볼륨 유형, 크기를 프로비저닝해야 함
  • Read Replicas(읽기 성능 향상) : 읽기 트래픽 분산으로 성능 향상 → 최대 15개까지 생성, 같은 AZ나 Cross AZ나 Cross Region 모두 가능, 비동기 복제, 읽기 전용으로 일반 DB로 승격 가능
  • Read Replica는 같은 Region 내 복제는 무료, Cross-Region은 데이터 전송 비용 발생
  • Multi AZ : 동기 복제, 장애 대응 목적, 같은 DNS 이름 사용, 다운타임 없음
  • 스토리지 오토스케일링 기능(ex, 여유 공간 10% 미만일때)
  • IAM 인증 - RDS 데이터베이스 보안(비밀번호 대신 IAM Role로그인) / 보안 그룹 - 네트워크 보안 / KMS - 저장 데이터 암호화(생성 시에만 암호화 설정 가능, 나중에 변경 불가) / SSL & TLS - 전송 데이터 암호화
  • 자동 백업 옵션(최대 35일까지), 지정 시간 복구 기능
  • 장기 보존 백업을 위한 수동 DB 스냅샷
  • 유지 관리 기능을 예약할 수 있음 (다운타임 발생 - 프로비저닝하거나 AWS가 데이터베이스 엔진을 주기적으로 업데이트하고 기본 EC2 인스턴스에 보안 패치를 실행할 때 발생)
  • RDS Proxy로 중간에서 Connection Pooling과 보안 강화 가능 → "Too many connections" 문제 해결

Aurora

  • AWS가 개발한 클라우드 최적화 관계형 DB
  • MySQL 대비 5배, PostgreSQL 대비 3배 빠름
  • 자동 확장 기능 : 시작은 10GB, 자동 증가도 10GB 단위, 최대 128TB
  • 고가용성 : 3개 AZ에 걸쳐 총 6개의 복사본
  • 1개의 Master(쓰기 담당) + 최대 15개의 Read Replica(읽기 담당) → 모든 인스턴스가 같은 스토리지 공유
  • Master 장애 시, Read Replica 중 하나가 자동으로 Master로 승격(평균 30초 이내로 RDS Multi AZ보다 빠름)
  • 여러 엔드포인트 제공 → 쓰기 엔드포인트는 항상 마스터를 가리킴, 읽기 엔드포인트는 모든 Read Replica에 자동 로드 밸런싱
  • RDS와 동일한 보안 / 모니터링 / 유지 관리 기능
  • Aurora의 백업 및 복구 옵션
    • Aurora Serverless : 예측할 수 없는 / 간헐적인 워크로드에 적합, 용량 계획을 하지 않아도 됨
    • Aurora Multi-Master : 마스터 여러개로, 쓰기 고가용성을 위해 쓰기 장애 조치가 지속해서 필요할 때 사용 → DB 인스턴스 여러 개가 스토리지에 쓰기를 할 수 있도록 설정 가능
    • Aurora Global : 1개의 Primary Region(읽기/쓰기) + 최대 5개 Secondary Region(읽기 전용) → 글로벌 애플리케이션, 재해 복구
    • Aurora Machine Learning : Aurora에서 SageMaker 및 Comprehend(자연어 처리)를 사용하여 머신 러닝 수행
    • Aurora Database Cloning : “Copy-on-Write” 사용 → 원본과 clone이 같은 스토리지를 가리키고 있고 포인터만 복사하는 개념으로 스냅샷을 복원하는 것보다 속도가 빠름
  • 사용 사례: RDS와 동일하지만 더 적은 유지 보수 + 더 큰 유연성 + 더 높은 성능 + 더 많은 기능

ElastiCache

  • AWS 관리형 인메모리 캐시 서비스 -> Redis / Memcached
  • 자주 읽는 데이터를 메모리(RAM)에 저장
  • DB 부하 감소 + 응답 속도 향상
  • IAM, 보안 그룹, KMS, Redis 인증을 통한 보안
  • 애플리케이션 코드가 ElastiCache를 활용하도록 코드 수정이 필수

 

Redis

  • 복잡한 데이터 구조
  • Multi AZ, Replication, Backup 지원
  • Read Replica 지원
  • 고가용성, 리더보드, 세션 등

 

Memcached

  • 단순 Key - Value
  • 수평 확장 쉬움
  • 멀티스레드
  • 백업, 복제 없음
  • 단순 캐싱, 분산 캐시

DynamoDB

  • AWS의 독점 기술, 관리형 서버리스 NoSQL 데이터베이스, 밀리초 수준의 지연 시간 제공, SQL 쿼리 사용 불가
  • 용량 모드
    • 선택형 오토 스케일링이 탑재된 프로비저닝된 용량 모드 - 점진적으로 늘어나거나 점진적으로 줄어드는 이중 워크로드가 있을 때 유용
    • 온디맨드 용량 모드 - 용량 프로비저닝 필요 없음. 오토 스케일링이 실행되므로 워크로드를 예측하기 어려울 때나 데이터베이스의 수요가 급증할 때 유용
  • ElastiCache 대신 DynamoDB에 키-값을 저장할 수 있음 (ex. 웹사이트 세션 데이터 저장, TTL 기능 사용)
  • 고가용성, 기본적으로 다중 가용 영역에 걸쳐있기 때문, 읽기와 쓰기가 완전히 분리되어 있고 트랜잭션 기능 제공
  • 읽기 캐시용 DAX 클러스터, 마이크로초 읽기 지연 시간
  • 보안, 인증, 권한 부여는 IAM을 통해 처리
  • 이벤트 처리: AWS Lambda 또는 Kinesis Data Streams와 통합하기 위한 DynamoDB Streams
  • GlobalTable 기능: 어느 리전에서든 읽고 쓸 수 있음
  • 백업 옵션
    • PITR을 사용한 최대 35일까지의 자동 백업 : 새 테이블로 복원
    • 온디맨드 백업
  • 스키마를 빠르게 전개할 때 유용
  • 사용 사례: 400KB 미만의 문서를 다루는 작은 서버리스 애플리케이션 개발, 서버리스 캐시 분산

Document DB

  • AWS의 MongoDB 호환 관리형 NoSQL 데이터베이스
  • 자동 3개 AZ 복제
  • 최대 15개 Read Replica

Redshift

  • 데이터 웨어하우스 서비스
  • OLAP(Online Analytical Processing) -> 분석용
  • 페타바이트 규모의 데이터 분석
  • PostgreSQL 기반

Athena

  • 서버리스 SQL 쿼리 엔진
  • S3 데이터를 SQL로 쿼리
  • S3에 저장된 데이터: s3://logs/2024/12/16/app.log (CSV, JSON, Parquet 등)
    -> Athena 쿼리: SELECT status, COUNT(*) FROM logs WHERE date = '2024-12-16' GROUP BY status;

Neptune

  • 완전 관리형 그래프 데이터베이스
  • 관계 중심 데이터 저장
  • 소셜 네트워크, 자식 그래프(ex, 위키피디아), 사기 탐지(복잡한 관계 패턴 분석) 등

QLDB(Quantum Ledger Database)

  • 불변 원장 DB
  • 모든 변경 이력 영구 보존
  • 암호화 검증 가능

Timestream

  • AWS의 시계열 데이터베이스 -> 시간 순서대로 수집되는 데이터
  • IoT, 모니터링 데이터에 최적화

 

 

 

 

 

출처 : https://velog.io/@gagaeun/AWS-Databases

'AWS' 카테고리의 다른 글

[AWS] 모니터링 : CloudWatch & CloudTrail & Config  (0) 2025.12.22
[AWS] Data & Analytics  (0) 2025.12.19
[AWS] Serverless Architectures  (0) 2025.12.15
[AWS] Serverless  (0) 2025.12.10
[AWS] Integration & Messaging  (0) 2025.12.02