AWS - RDS

김재근·2025년 4월 17일

AWS

목록 보기
6/6
post-thumbnail

Amazon Relational Database Service(RDS)는 AWS 클라우드 상에서 관계형 데이터베이스를 쉽게 설정하고 운영하며 확장할 수 있도록 지원하는 관리형 서비스이다.


RDS 개요

1.1 RDS의 핵심 개념

  • DB 인스턴스: RDS의 기본 구성 단위로, 클라우드 상에서 실행되는 격리된 데이터베이스 환경이다.

  • DB 인스턴스 클래스: CPU, 메모리, 네트워크 성능 및 스토리지 유형을 결정한다.

  • 스토리지: 범용 SSD(GP2/GP3), 고성능 SSD(IO1/IO2), 마그네틱 등 다양한 유형이 제공된다.

  • Multi-AZ 배포: 고가용성을 위해 데이터베이스 복제본을 유지한다.

  • 읽기 전용 복제본: 읽기 부하 분산을 위한 읽기 전용 인스턴스이다.

1.2 RDS의 특장점

  • 관리 자동화: 하드웨어 구성, 데이터베이스 설정, 패치 적용, 백업 등 반복적인 작업을 자동으로 처리할 수 있다.

  • 높은 가용성: Multi-AZ 배포를 통해 자동 장애 조치 기능을 제공한다.

  • 확장성: 수직적(인스턴스 업 또는 다운스케일링) 및 수평적(읽기 복제본 추가) 확장이 가능하다.

  • 성능 최적화: 최적화된 하드웨어 및 SSD 스토리지를 통해 안정적인 성능을 제공한다.

  • 보안: VPC 격리, 암호화, IAM 통합 등을 통해 강력한 보안 구성이 가능하다.

  • 비용 효율성: 온프레미스 대비 경쟁력 있는 비용 구조를 제공한다.


데이터베이스 엔진

RDS는 다양한 관계형 데이터베이스 엔진을 지원하여 어플리케이션 특성에 맞는 선택이 가능하다.

2.1 MySQL

  • 가장 널리 사용되는 오픈 소스 관계형 데이터베이스이다.

  • 트랜잭션, 저장 프로시저, 트리거, 외래 키 등 기능을 지원한다.

  • CMS, 전자상거래, 웹 백엔드 등에 적합하다.

2.2 PostgreSQL

  • 객체-관계형 구조를 갖춘 고급 오픈 소스 DB이다.

  • JSON, 공간 데이터 처리, 사용자 정의 타입 등을 지원한다.

  • GIS, 복잡한 분석 애플리케이션에 적합하다.

2.3 MariaDB

  • MySQL 호환 DB로 성능과 안정성이 향상되었다.

  • 엔터프라이즈 웹 애플리케이션, CMS에 적합하다.

2.4 Oracle

  • 엔터프라이즈급 트랜잭션 처리와 보안을 제공한다.

  • ERP, 대규모 기업 애플리케이션에 적합하다.

2.5 Microsoft SQL Server

  • Windows 환경에 최적화된 관계형 데이터베이스이다.

  • .NET 기반 시스템 및 비즈니스 인텔리전스에 적합하다.

2.6 Amazon Aurora

  • AWS가 자체 개발한 고성능 DB로, MySQL 및 PostgreSQL과 호환된다.

  • 기존 엔진 대비 최대 5배 성능을 제공하며, Serverless 및 글로벌 DB 기능을 지원한다.


인스턴스 유형과 스토리지

3.1 DB 인스턴스 클래스

  • M 클래스: 균형 잡힌 리소스 제공

  • R 클래스: 메모리 집약적 워크로드에 최적화

  • T 클래스: 테스트 환경 및 저부하 서비스에 적합한 버스트형 인스턴스

3.2 스토리지 유형

  • gp2 / gp3: 범용 SSD로 대부분의 일반적인 워크로드에 적합

  • io1 / io2: 고성능 SSD로 일관된 IOPS가 필요한 경우 사용

  • 마그네틱: 구형 워크로드 지원용. 신규 구성에서는 권장되지 않음

3.3 스토리지 자동 확장

  • 최대 64TB까지 자동 확장이 가능하며, 5GB 단위로 증가한다. (스토리지 확장은 비용이 꽤 발생함)

  • CloudWatch를 통해 스토리지 사용량을 실시간 모니터링할 수 있다.


고가용성 및 내구성

4.1 Multi-AZ 배포

  • AZ 간 동기식 복제를 통해 가용성을 확보하며, 자동 장애 조치 기능을 제공한다.

  • 대기 인스턴스를 활용해 백업 수행 시 기본 인스턴스 부하를 줄일 수 있다.

4.2 읽기 전용 복제본

  • 비동기 복제를 통해 읽기 트래픽을 분산하고 확장성을 높일 수 있다.

  • 필요 시 독립적인 DB 인스턴스로 승격이 가능하다.

4.3 Aurora 고가용성

  • 6개의 스토리지 복사본을 3개 AZ에 분산 저장한다.

  • 자가 복구, 글로벌 DB 구성, Serverless 환경 등을 기본 지원한다.


백업 및 복원

5.1 자동 백업

  • 매일 전체 백업과 5분 간격의 트랜잭션 로그 백업이 수행된다.

  • 보존 기간은 1~35일 설정이 가능하며, 시점 복원이 가능하다.

5.2 수동 스냅샷

  • 사용자가 직접 생성하며 무기한 보관 가능하다.

  • 리전 간 복사 및 공유 기능, 암호화 설정이 지원된다.

5.3 Aurora 고급 백업

  • 지속적 백업과 빠른 클론/복원 기능을 제공한다.

  • Backtrack 기능을 통해 최대 72시간까지 "되감기"가 가능하다.


보안 및 감사

6.1 네트워크 보안

  • VPC, 서브넷 그룹, 보안 그룹 등을 활용해 네트워크 접근을 제어할 수 있다.

6.2 암호화

  • 저장 시(AES-256/KMS) 및 전송 시(SSL/TLS) 암호화를 지원한다.

  • Oracle/TDE 및 AWS Secrets Manager 연동이 가능하다.

6.3 접근 제어

  • IAM, 마스터 사용자, DB 사용자 권한, 서비스 연결 역할 등을 통해 상세한 접근 제어가 가능하다.

6.4 감사 및 규정 준수

  • CloudTrail, 모니터링 로그, 보안 인증(HIPAA, PCI DSS, ISO 등)을 제공하여 기업의 컴플라이언스를 지원한다.

모니터링 및 성능 최적화

7.1 CloudWatch

  • CPU, 메모리, 네트워크, 디스크 I/O 등 핵심 지표를 모니터링할 수 있다.

  • 경보 및 대시보드를 통한 가시성 확보가 가능하다.

7.2 향상된 모니터링

  • OS 수준에서 실행 중인 프로세스 및 리소스 사용률을 모니터링할 수 있다.

7.3 Performance Insights

  • 데이터베이스 대기 시간, 쿼리 성능 병목, 사용자/애플리케이션별 분석 기능을 제공한다.

7.4 엔진별 최적화

  • 파라미터 그룹, 옵션 그룹, 자동 업그레이드, 스냅샷 기반 테스트 기능을 제공한다.

비용 최적화 전략

8.1 구매 옵션

  • 예약 인스턴스(1년/3년), Serverless(Aurora) 방식으로 비용을 조정할 수 있다.

8.2 스토리지 비용 최적화

  • gp3, 자동 확장, 수명주기 정책, 스냅샷 관리 등을 통해 스토리지 비용을 절감할 수 있다.

8.3 비용 추적 도구

  • AWS Cost Explorer, Budgets, 태그 관리, Trusted Advisor를 통해 예산 관리와 비용 절감이 가능하다.

데이터 마이그레이션 및 하이브리드 구성

9.1 데이터 마이그레이션 도구

  • AWS DMS 및 SCT를 통해 이기종 간 이관 및 스키마 변환이 가능하다.

  • PostgreSQL, MySQL 등의 네이티브 도구도 함께 사용할 수 있다.

9.2 하이브리드 전략

  • DB 링크, 읽기 복제, CDC(Change Data Capture), 재해 복구 전략 구성이 가능하다.

9.3 통합 방식

  • ETL(AWS Glue), 이벤트 기반(Lambda, SNS), S3 데이터 레이크, API 기반 연계가 가능하다.
profile
FullStack + DevOps 개발자입니다.

0개의 댓글