본문 바로가기
코딩 공부/Cloud

[AWS] RDS(Relational Database Service)

by 현장 2024. 4. 19.

RDS(Relational Database Servic)

관계형 데이터베이스 서비스의 약자로 AWS 클라우드에서 관계형 데이터베이스를 더 쉽게 설치, 운영 및 확장할 수 있는 웹 서비스입니다. 이 서비스는 산업 표준 관계형 데이터베이스를 위한 경제적이고 크기 조절이 가능한 용량을 제공하고 공통 데이터베이스 관리 작업을 관리합니다.

🏷️ 특징 및 기능

1. 관리 부담 감소

  • 사용 편의성 : 몇 분 이내에 데이터베이스 인스턴스를 시작하고 애플리케이션을 연결할 수 있다. DB 파라미터 그룹을 사용하면 데이터베이스를 세부적으로 제어하고 튜닝할 수도 있습니다.
  • 자동 소프트웨어 패치 : RDS는 최신 패치를 통해 배포를 지원하는 관계형 데이터베이스 소프트웨어가 최신 상태로 유지되도록 하며, 데이터베이스 인스턴스의 패치 여부와 시기를 선택적으로 제어할 수 있습니다.
  • 모범 사례 권장 시스템 : RDS에서는 데이터베이스 인스턴스의 구성과 사용 지표를 분석하여 모범 사례 지침을 제공합니다. 고객은 권장 조치를 즉시 수행하거나 다음 유지 관리 기간에 수행하도록 예약하거나 완전히 무시할 수 있습니다.

2. 확장성

  • 즉각적인 컴퓨팅 규모 조정 : 배포에 사용할 컴퓨팅 및 메모리 리소스를 최대 vCPU 32개와 RAM 244G의 범위 내에서 확장하거나 축소할 수 있으며, 컴퓨팅 규모 조정 작업은 일반적으로 몇 분이면 완료됩니다.
  • 간편한 스토리지 규모 조정 : 스토리지에 대한 요구가 증가함에 따라 추가 스토리지를 프로비저닝할 수도 있습니다.
    또한 DB 가동 중단 없이 즉시 스토리지 확장이 가능합니다.
  • 읽기 전용 복제본 시스템 : DB 인스턴스의 복제본을 하나 이상 생성하여 대량의 애플리케이션 읽기 트래픽을 처리할수 있는 기능을 제공 합니다.

4. 가용성 및 내구성

  • 자동 백업 : RDS는 데이터베이스와 트랜잭션 로그를 백업하고 사용자가 지정한 보존 기간 동안 이를 모두 저장할 수 있습니다. 이를 통해 데이터베이스를 보존 기간 중 원하는 시점으로 복원할 수 있습니다.(최근 5분 전까지) 자동 백업 보존 기간은 최대 35일로 구성할 수 있습니다.
  • 데이터베이스 스냅샷 : 사용자는 원하는 경우 언제든 데이터베이스 스냅샷으로 새 RDB 인스턴스를 생성할 수 있습니다.
  • 다중 AZ 구성 배포 : 다중 AZ 구성은 현재 서비스되는 RDB에 문제가 되어도 다른 AZ에 있는 RDB로 빠르게 장애 복구를 할수 있습니다. 가용성 및 내구성을 높여주므로 프로덕션 데이터베이스 워크로드에 적합합니다.
  • 자동 호스트 교체 : 하드웨어에 장애가 발생할 경우, 배포를 지원하는 컴퓨팅 인스턴스를 자동으로 교체합니다.

5. 보안

  • 저장 데이터 및 전송 데이터 암호화 : RDS를 사용하면 사용자가 AWS Key Management Service(KMS)를 통해 관리하는 키를 사용해 데이터베이스를 암호화할 수 있습니다. 자동 백업, 읽기 전용 복제본 및 스냅샷과 마찬가지로 기본 스토리지에 저장된 데이터가 암호화 됩니다.
  • 네트워크 격리 : VPC에서 데이터베이스 인스턴스를 실행하여 방화벽 설정을 구성하고 데이터베이스 인스턴스에 대한 네트워크 액세스를 제어할 수 있습니다.
  • IAM 리소스 수준 권한 : RDS는 IAM과 통합되어 사용자 및 그룹이 특정 Amazon RDS 리소스(DB 인스턴스, 스냅샷 등)에서 수행할 수 있는 작업을 제어하는 기능을 제공합니다. 또한 RDS 리소스에 태그를 지정하고, IAM 사용자 및 그룹이 태그가 동일하고 연관된 값을 가진 리소스 그룹에서 수행할 수 있는 작업을 제어할 수 있습니다.
    (예를 들어, 개발자는 "개발" 데이터베이스 인스턴스를 수정할 수 있고, "프로덕션" 데이터베이스 인스턴스는 데이터베이스 관리자만 수정할 수 있도록 IAM 규칙을 구성할 수 있다.)

6. 관리 효율성

  • 모니터링 및 지표 : RDS는 추가 비용 없이 데이터베이스 인스턴스에 대한 Amazon CloudWatch와 연동해 지표를 제공합니다. RDS 관리 콘솔을 사용하면 컴퓨팅/메모리/스토리지 용량 사용률, 인스턴스 연결 등 주요 작업 지표를 보고 성능 문제를 신속하게 감지할 수 있는 편리한 도구인 성능 개선 도우미에 액세스할 수 있습니다.
  • 이벤트 알림 : Amazon SNS를 통해 데이터베이스 이벤트를 이메일이나 SMS 텍스트 메시지로 알려줄 수 있습니다. 

7. 비용 효율성

  • 사용한 만큼만 비용 지불
  • 예약 인스턴스 : Amazon RDS 예약 인스턴스는 1년 또는 3년 약정 기간 동안 DB 인스턴스를 예약할 수 있는 옵션을 제공하므로 온디맨드 인스턴스 요금과 비교하여 DB 인스턴스의 시간당 요금을 대폭 할인받을 수 있습니다.
  • 인스턴스 중지 및 시작 : Amazon RDS를 활용하면 한 번에 최대 7일까지 데이터베이스 인스턴스를 쉽게 중지 및 시작할 수 있습니다. 따라서 데이터베이스를 상시 구동하지 않아도 되는 개발 및 테스트 작업에 데이터베이스를 쉽고 저렴하게 이용할 수 있습니다.

🏷️ DB 인스턴스

DB 인스턴스는 AWS 클라우드에 있는 격리된 데이터베이스 환경으로 Amazon RDS의 기본 빌딩 블록은 DB 인스턴스입니다.

 

DB 인스턴스에 사용자가 만든 데이터베이스가 하나 이상 포함될 수 있습니다. 독립 실행형 데이터베이스 인스턴스와 함께 사용하는 것과 동일한 도구 및 애플리케이션을 사용하여 DB 인스턴스에 액세스할 수 있습니다. AWS Command Line Interface(AWS CLI), Amazon RDS API 또는 AWS Management Console을 사용하여 DB 인스턴스를 생성하고 수정할 수 있습니다.

 

✔️ AWS Command Line Interface(AWS CLI)

 AWS 서비스를 관리하는 통합 도구입니다. 하나의 도구만 다운로드하여 구성하면 여러 개의 AWS 서비스를 명령줄에서 제어하고 스크립트를 통해 자동화할 수 있습니다.

🏷️ DB 엔진

DB 엔진DB 인스턴스에서 실행되는 특정 관계형 데이터베이스 소프트웨어입니다. Amazon RDS에서는 현재 다음과 같은 엔진을 지원합니다.

  • Db2
  • MariaDB
  • Microsoft SQL Server
  • MySQL
  • Oracle
  • PostgreSQL

🏷️ DB 인스턴스 클래스

DB 인스턴스 클래스DB 인스턴스의 컴퓨팅 및 메모리 용량을 결정하며, DB 인스턴스 클래스는 DB 인스턴스 유형과 크기로 구성됩니다. 인스턴스 유형마다 서로 다른 컴퓨팅, 메모리 및 스토리지 기능을 제공합니다. 예를 들어, db.m6g는 AWS Graviton2 프로세서로 구동되는 범용 DB 인스턴스 유형입니다. db.m6g 인스턴스 유형 내에서 db.m6g.2xlarge는 DB 인스턴스 클래스입니다.

🏷️ DB 인스턴스 스토리지

Amazon EBS는 내구성이 있는 블록 수준 스토리지 볼륨을 제공하여 실행 중인 인스턴스에 연결하는 것이 가능합니다. DB 인스턴스 스토리지는 다음과 같은 유형으로 제공됩니다.

  • 범용(SSD)
  • 프로비저닝된 IOPS(PIOPS)
  • Magnetic

📖 Reference

Amazon RDS

Inpa Dev

'코딩 공부 > Cloud' 카테고리의 다른 글

[AWS] ELB(Elastic Load Balancer)  (0) 2024.04.20
[AWS] S3(Simple Storage Service)  (0) 2024.04.19
[AWS] EC2  (0) 2024.02.04
[AWS] IAM  (0) 2024.02.03
[AWS] AWS(Amazon Web Serivces)  (1) 2024.01.28