새발블로그

[AWS SAA] 데이터베이스 본문

자격증/SAA

[AWS SAA] 데이터베이스

EUG 2026. 6. 21. 18:52

RDS

핵심 개념

  • RDS는 AWS에서 제공하는 관리형 관계형 데이터베이스 서비스
  • 전통적인 관계형 데이터, 트랜잭션 처리, SQL 기반 애플리케이션에 적합
  • MySQL, PostgreSQL, MariaDB, Oracle, SQL Server, Db2 등을 지원
  • Aurora는 RDS 계열에서 사용할 수 있는 AWS 클라우드 최적화 관계형 데이터베이스 엔진
  • 운영체제 패치, DB 백업, 장애 조치, 모니터링 등 관리 작업을 AWS가 일부 자동화
  • 사용자는 스키마 설계, 쿼리 튜닝, 파라미터 설정, 애플리케이션 연결 관리에 집중 가능
  • EC2에 직접 DB를 설치하는 방식보다 운영 부담을 줄일 수 있음

RDS 자동 백업과 복구

  • RDS 자동 백업은 1~35일 보관 가능
  • 자동 백업은 S3에 저장되지만, 사용자가 직접 S3 버킷의 객체처럼 관리하는 구조는 아님
  • RDS는 자동 백업과 트랜잭션 로그를 사용하여 특정 시점 복구, 즉 PITR을 지원
  • 트랜잭션 로그는 일반적으로 5분마다 S3로 업로드됨
  • 특정 시점 복구가 필요하면 백업 보관 기간 내 원하는 시점으로 복원 가능
  • 수동 스냅샷은 사용자가 직접 생성하고 삭제 전까지 유지 가능
  • 자동 백업은 삭제 시 함께 제거될 수 있으므로 장기 보관이 필요하면 수동 스냅샷을 고려

RDS Multi-AZ vs Read Replica

항목 Multi-AZ DB Instance Read Replica
목적 고가용성 / 장애 조치 읽기 성능 확장
복제 방식 동기식 복제 비동기식 복제
Standby 읽기 불가 가능
장애 조치 자동 페일오버 기본 목적은 읽기 확장, 필요 시 승격 가능
리전 간 구성 일반적으로 같은 리전 내 고가용성 구성 리전 간 Read Replica 구성 가능
주요 용도 장애 대비, 가용성 향상 읽기 트래픽 분산, 보고서, 분석성 조회
  • 일반적인 RDS Multi-AZ DB Instance의 Standby는 읽기 트래픽을 처리하지 않음
  • Standby를 보고서 트래픽에 연결하는 용도로 사용할 수 없음
  • 읽기 트래픽 분산이 필요하면 Read Replica를 사용
  • 단, RDS Multi-AZ DB Cluster는 일반 Multi-AZ DB Instance와 다르게 읽기 가능한 DB 인스턴스를 포함할 수 있음
  • 반복 조회가 많고 매우 낮은 지연 시간이 필요하면 RDS Read Replica보다 ElastiCache가 더 적합한 경우가 있음
  • Read Replica는 비동기 복제이므로 원본과 복제본 사이에 지연이 발생할 수 있음
  • 읽기 복제본 지연은 Replica Lag 지표로 확인 가능

RDS 주요 기능

기능 설명
RDS Proxy DB 연결 수 제어와 연결 풀링을 지원. Lambda처럼 연결이 많이 생기는 환경에서 유용
RDS Custom OS와 DB 환경에 대한 더 많은 제어가 필요한 워크로드에 사용
RDS Custom for Oracle OS 접근이나 특정 DB 설정이 필요한 Oracle 워크로드에 적합
스토리지 자동 확장 스토리지 용량 부족이 예상될 때 자동으로 스토리지 확장
Performance Insights DB 성능 병목 분석에 사용
Enhanced Monitoring OS 수준의 세부 모니터링 제공
  • RDS Proxy는 스토리지 확장 서비스가 아니라 DB 연결 관리 서비스
  • RDS 스토리지 자동 확장은 스토리지 용량 부족이 예상될 때 활성화
  • RDS 인스턴스를 중지해도 스토리지 비용은 계속 발생
  • 더 이상 필요 없는 RDS 인스턴스라면 스냅샷 보관 여부를 결정한 뒤 삭제 고려
  • Oracle 워크로드에서 OS 접근이 필요하면 RDS Custom for Oracle 고려

RDS 암호화

  • RDS 저장 데이터 암호화에는 KMS를 사용
  • RDS 인스턴스 생성 시 암호화를 활성화할 수 있음
  • 이미 생성된 비암호화 RDS 인스턴스를 직접 암호화 상태로 변경할 수는 없음
  • 기존 비암호화 RDS를 암호화하려면 스냅샷 생성 → 암호화된 스냅샷으로 복사 → 복사본에서 새 RDS 인스턴스 복원 순서로 처리
  • 전송 중 암호화가 필요하면 SSL/TLS 연결 사용
  • 암호화된 스냅샷을 다른 계정과 공유하려면 스냅샷 공유뿐 아니라 KMS 키 권한도 대상 계정에 허용해야 함

Aurora

핵심 개념

  • Aurora는 AWS에서 제공하는 클라우드 최적화 관계형 데이터베이스
  • MySQL 및 PostgreSQL과 호환
  • 일반 RDS MySQL/PostgreSQL보다 높은 성능과 가용성을 목표로 설계됨
  • Aurora 스토리지는 여러 AZ에 걸쳐 자동 복제됨
  • Aurora는 최대 15개의 Aurora Replica를 구성할 수 있음
  • 읽기 확장, 고가용성, 빠른 장애 조치가 필요한 관계형 DB 워크로드에 적합
  • PostgreSQL 호환 관계형 DB를 AWS 관리형으로 이전하려면 Aurora PostgreSQL을 고려
  • MySQL 호환 고성능 관계형 DB가 필요하면 Aurora MySQL을 고려

Aurora 주요 기능

항목 내용
Aurora Replica 읽기 성능 확장 및 장애 조치 대상
Aurora Global Database 보조 리전으로 복제하여 글로벌 읽기 및 재해 복구 구성
Aurora Serverless v2 사용량에 따라 ACU 단위로 세밀하게 자동 확장
Babelfish Aurora PostgreSQL에서 SQL Server 호환 쿼리 일부 지원
Aurora I/O-Optimized I/O 사용량이 많은 워크로드에서 I/O 비용 구조 최적화
Aurora 클로닝 운영 클러스터에 큰 영향 없이 테스트/스테이징 환경 생성
사용자 지정 엔드포인트 특정 Aurora Replica 그룹으로 트래픽 라우팅
Aurora 병렬 쿼리 분석성 쿼리 성능 개선에 사용

Aurora Global Database

  • Aurora Global Database는 하나의 기본 리전과 여러 보조 리전으로 구성
  • 쓰기는 기본 리전에서 수행
  • 보조 리전은 읽기 전용으로 사용 가능
  • 매우 낮은 RPO와 다중 리전 읽기 복제가 필요한 경우 적합
  • 리전 장애 시 보조 리전의 클러스터를 승격하여 복구 가능
  • 글로벌 서비스의 읽기 지연 시간을 줄이거나 재해 복구 구성을 강화할 때 사용

Aurora Serverless

  • Aurora Serverless는 트래픽이 불규칙하거나 예측이 어려운 워크로드에 적합
  • Aurora Serverless v2는 최소/최대 ACU 범위 내에서 용량을 자동 조정
  • 사용량이 들쑥날쑥한 워크로드에 적합
  • 개발/테스트 환경, 간헐적으로 사용하는 애플리케이션, 예측하기 어려운 트래픽에 고려 가능
  • Aurora Serverless v2는 기존 Provisioned 인스턴스와 같은 클러스터 내에서 함께 사용할 수 있음

DynamoDB

핵심 개념

  • DynamoDB는 AWS에서 제공하는 서버리스 NoSQL 데이터베이스 서비스
  • 키-값 및 문서 데이터 모델을 지원
  • 초당 수백만 요청과 밀리초 단위 응답이 필요한 워크로드에 적합
  • 대규모 확장성, 빠른 응답, 서버 관리 없는 운영이 핵심
  • 세션 저장소, 장바구니, 사용자 프로필, 게임 데이터, IoT 이벤트 저장 등에 사용
  • 관계형 조인이나 복잡한 SQL 분석보다는 키 기반 조회와 대규모 트래픽 처리에 적합
  • DynamoDB는 RDS 안에서 사용하는 서비스가 아니라 별도의 NoSQL 데이터베이스 서비스

DynamoDB 주요 기능

 

항목 내용
TTL 만료 시간이 지난 데이터를 자동 삭제하여 비용 절감
PITR 특정 시점으로 테이블 복구
GSI 기본 키 외 다른 속성으로 쿼리하기 위한 글로벌 보조 인덱스
LSI 같은 파티션 키 내에서 다른 정렬 키로 조회하기 위한 로컬 보조 인덱스
DAX DynamoDB 앞단의 인메모리 캐시
Streams 테이블 변경 이벤트 기반 후속 처리
온디맨드 백업 사용자가 특정 시점에 직접 생성하는 백업
Global Tables 다중 리전 복제 및 글로벌 애플리케이션 구성
  • TTL은 만료 데이터 자동 삭제에 사용
  • PITR은 짧은 RPO가 필요한 복구 시나리오에 유용
  • 온디맨드 백업은 특정 시점 복구, 즉 PITR과 구분
  • GSI를 사용하면 기본 키 외 다양한 쿼리 패턴을 지원할 수 있음
  • DAX는 읽기 지연 시간을 마이크로초 수준으로 낮추고 싶을 때 고려
  • DAX는 쓰기 성능 개선보다는 읽기 캐시에 가까움
  • Streams는 데이터 변경 이벤트를 Lambda 등과 연동하여 후속 처리할 때 사용
  • 큰 객체는 DynamoDB에 직접 저장하기보다 S3에 저장하고 DynamoDB에는 S3 URL 또는 메타데이터를 저장하는 방식이 적합

DynamoDB 용량 모드

모드 특징 적합한 경우
온디맨드 요청량에 따라 자동으로 처리량 조정 트래픽 예측이 어렵거나 급격히 변하는 경우
프로비저닝 읽기/쓰기 처리량을 미리 지정 트래픽이 예측 가능하고 일정한 경우
  • 트래픽이 일정하고 예측 가능하면 프로비저닝 모드가 온디맨드보다 비용 효율적일 수 있음
  • 장기적으로 예측 가능한 처리량이 있으면 프로비저닝 모드 + 예약 용량을 고려
  • 프로비저닝 모드에서는 DynamoDB Auto Scaling으로 읽기/쓰기 용량을 트래픽 변화에 맞춰 자동 조정 가능

DynamoDB VPC Endpoint

  • 프라이빗 서브넷의 EC2에서 DynamoDB로 프라이빗하게 접근해야 하면 DynamoDB용 Gateway VPC Endpoint 사용
  • 인터넷 게이트웨이나 NAT 게이트웨이를 거치지 않고 AWS 네트워크 내부에서 DynamoDB에 접근 가능
  • Endpoint 정책을 통해 접근 가능한 테이블이나 작업 범위를 제한할 수 있음
  • 참고로 SQS는 Gateway Endpoint가 아니라 Interface VPC Endpoint를 사용

DynamoDB Global Tables

  • DynamoDB Global Tables는 DynamoDB 테이블을 여러 리전에 복제하는 기능
  • 다중 리전 읽기/쓰기 애플리케이션에 적합
  • 글로벌 사용자에게 낮은 지연 시간 제공 가능
  • 리전 장애에 대한 복원성을 높일 수 있음
  • Global Tables를 사용하면 99.999% 수준의 가용성 요구사항에 대응할 수 있음

ElastiCache

핵심 개념

  • ElastiCache는 AWS의 관리형 인메모리 캐싱/데이터 저장소 서비스
  • Redis OSS 또는 Memcached 기반 엔진을 지원
  • 밀리초 이하 응답, 세션 저장소, 캐시, 실시간 랭킹, 빠른 데이터 조회에 적합
  • 반복 조회 데이터를 캐싱해 DB 읽기 부하를 줄여야 하면 ElastiCache 우선 고려
  • RDS 읽기 부하가 높으면 Read Replica를 고려할 수 있음
  • 같은 데이터를 반복 조회하고 지연 시간을 더 줄여야 한다면 ElastiCache를 함께 고려
  • 변경이 적은 데이터를 캐싱해 DB 읽기 부하를 줄이는 데 적합

Redis vs Memcached

항목 Redis OSS Memcached
구조 다양한 자료구조 지원 단순 키-값 캐시
스냅샷 지원 미지원
데이터 지속성 지원 미지원
복제/고가용성 지원 제한적
자동 장애 조치 지원 미지원
Pub/Sub 지원 미지원
멀티스레드 단순 캐시 제한적 적합
주요 용도 세션, 랭킹, 큐, 복잡한 캐싱 단순 캐싱
  • 고가용성 캐시 요구사항이 있으면 ElastiCache for Redis OSS의 복제와 자동 장애 조치 구성 고려
  • 단순 캐시이고 데이터 지속성이 필요 없다면 Memcached도 적합
  • 세션 상태 유지, 랭킹, 다양한 자료구조가 필요하면 Redis OSS가 더 적합

Redshift

핵심 개념

  • Redshift는 AWS의 관리형 데이터 웨어하우스 서비스
  • 대규모 분석 쿼리, BI, 리포팅 용도에 적합
  • OLTP 트랜잭션 처리보다는 OLAP 분석 처리에 적합
  • 컬럼 기반 저장과 MPP 구조를 사용하여 대규모 분석 쿼리를 처리
  • 클릭스트림 데이터를 S3 데이터 레이크에 적재한 뒤 Redshift로 로드하여 분석 가능
  • Kinesis Data Firehose를 통해 Redshift 또는 S3로 거의 실시간 적재 가능
  • Redshift Spectrum을 사용하면 S3에 있는 데이터를 Redshift에서 외부 테이블처럼 조회 가능
  • Redshift Serverless를 사용하면 클러스터 용량 관리를 줄이고 분석 워크로드를 실행할 수 있음

Redshift 노드 타입

노드  타입 특징
RA3 컴퓨팅과 스토리지를 분리하여 확장 가능. 최신 Redshift 워크로드에서 우선 고려
DC2 로컬 SSD 기반 고성능 컴퓨팅 노드. 데이터 크기가 비교적 작고 고성능이 필요한 경우
DS2 이전 세대 대용량 스토리지 노드. 신규 워크로드에서는 일반적으로 RA3 우선 고려
  • 기존 Dense Compute, Dense Storage만으로 외우기보다 RA3 중심으로 이해하는 것이 좋음
  • 대규모 분석과 스토리지 확장성이 중요하면 RA3 고려
  • 클러스터 관리 부담을 줄이고 싶다면 Redshift Serverless 고려

기타 데이터베이스

서비스 설명 사용 용도
DocumentDB MongoDB 호환 관리형 문서 데이터베이스 MongoDB 호환 애플리케이션 이전
Neptune 그래프 데이터베이스 복잡한 관계 표현, 추천, 지식 그래프, IT 인프라맵
Timestream 시계열 데이터베이스 IoT, 모니터링, 시계열 데이터
QLDB 변경 불가능하고 암호화 검증 가능한 원장 데이터베이스 금융 거래 기록, 감사 로그
Keyspaces Apache Cassandra 호환 관리형 데이터베이스 Cassandra 워크로드 이전
MemoryDB for Redis Redis OSS 호환 내구성 있는 인메모리 데이터베이스 초고속 읽기/쓰기와 데이터 내구성이 모두 필요한 경우

DMS / SCT

DMS

  • DMS는 Database Migration Service의 약자
  • 데이터베이스 마이그레이션에 사용하는 서비스
  • 동종 DB 간 이전과 이기종 DB 간 이전 모두 지원
  • CDC, 즉 Change Data Capture 기반 지속적 복제 가능
  • 마이그레이션 중 소스 DB의 변경 사항을 대상 DB에 지속적으로 반영할 수 있음
  • 다운타임을 줄여야 하는 DB 이전에 적합
  • DMS Serverless는 복제 워크로드 수요에 따라 컴퓨팅과 메모리 리소스를 자동 할당

SCT

  • SCT는 Schema Conversion Tool의 약자
  • 이기종 DB 간 스키마 변환에 사용
  • 예를 들어 Oracle에서 Aurora PostgreSQL로 이전할 때 SCT로 스키마를 변환하고, DMS로 데이터를 이전할 수 있음
  • 테이블, 뷰, 저장 프로시저, 함수 등 DB 객체 변환을 지원
  • 자동 변환이 어려운 객체는 수동 수정이 필요할 수 있음

DMS / SCT 사용 예시

이전 시나리오 사용 서비스
MySQL → RDS MySQL DMS
Oracle → Aurora PostgreSQL SCT + DMS
SQL Server → Aurora PostgreSQL SCT + DMS
온프레미스 DB → AWS로 지속 복제 DMS
마이그레이션 중 변경 데이터 동기화 DMS CDC

데이터베이스 서비스 선택 기준 요약

요구사항 적합한 서비스
일반적인 관계형 DB, SQL, 트랜잭션 처리 RDS
MySQL/PostgreSQL 호환 고성능 관계형 DB Aurora
다중 리전 관계형 DB 읽기 복제 및 DR Aurora Global Database
예측하기 어려운 Aurora 워크로드 자동 확장 Aurora Serverless v2
키-값 기반 대규모 NoSQL DynamoDB
다중 리전 NoSQL 읽기/쓰기 DynamoDB Global Tables
DynamoDB 읽기 지연 시간 최소화 DAX
반복 조회 캐싱, 세션 저장소 ElastiCache
단순 캐싱 ElastiCache for Memcached
고가용성 캐시, 랭킹, 세션, 다양한 자료구조 ElastiCache for Redis OSS
대규모 분석, BI, 데이터 웨어하우스 Redshift
MongoDB 호환 문서 DB DocumentDB
그래프 관계 데이터 Neptune
시계열 데이터 Timestream
변경 불가 원장 데이터 QLDB
Cassandra 호환 DB Keyspaces
DB 마이그레이션 DMS
이기종 DB 스키마 변환 SCT

'자격증 > SAA' 카테고리의 다른 글

[AWS SAA] 보안 / IAM  (0) 2026.06.22
[AWS SAA] 네트워크  (0) 2026.06.21
[AWS SAA] 스토리지  (0) 2026.06.21
[AWS SAA] 컴퓨팅  (0) 2026.06.21
AWS SAA-C03 합격  (0) 2026.06.21