Nubes et Stella

[AWS] Amazon RDS 본문

AWS/DataBase

[AWS] Amazon RDS

SeongYeong Han 2023. 10. 30. 18:05

01. Amazon RDS란?

공식 문서 : https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Welcome.html

 

Amazon Relational Database Service(Amazon RDS)란 무엇입니까? - Amazon Relational Database Service

Amazon Relational Database Service(Amazon RDS)란 무엇입니까? Amazon Relational Database Service(Amazon RDS)는 AWS 클라우드에서 관계형 데이터베이스를 더 쉽게 설치, 운영 및 확장할 수 있는 웹 서비스입니다. 이 서

docs.aws.amazon.com

Amazon RDS(Relational Database Service)는 클라우에서 관계형 데이터베이스 시스템을 실행할 수 잇께 하는 관리형 데이터베이스 서비스로서, 데이터베이스 시스템 설정, 백업 수행, 고가용성 보장, 데이터베이스와 기반 운영 체제 패치 적용 등과 같은 작업을 관리한다.

 

또한 데이터베이스 장애로부터 복구, 데이터 복원, 데이터베이스 확장을 쉽게 해서 애플리케이션이 요구하는 수준의 가용성과 성능을 달성할 수 있다.

 

 

02. RDS에서 지원하는 엔진

RDS에서는 아래의 DBMS들을 지원하며 각 DBMS별로 버전을 다르게 설정 할 수도 있다.

** Aurora는 Amazon이 MySQL과 PostgreSQL과 바이너리 수준의 호환성을 가지면서 기능을 향상시킨 데이터베이스이다.

 

  • MariaDB
  • MySQL
  • Microsoft SQL Server
  • PostgreSQL
  • Oracle
  • Amazon Aurora

** Oracle과 Mssql은 추가 라이선스 비용이 발생한다.

 

 

03. RDS 특징

가. 스토리지

RDS에서는 범용SSD, 프로비저닝된 IOPS SSD, 마그네틱 세 가지 스토리지 유형을 제공한다. 각각의 성능과 특징을 확인하고 DB워크로드에 맞게 선택해서 쓸 수 있다.

 

- 범용SSD

  • 범용 SSD 볼륨은 중간 크기 DB 인스턴스에서 실행하는 광범위한 워크로드에 이상적인 비용 효율적 스토리지를 제공한다. 그렇기 때문에 범용 스토리지는 개발 및 테스트 환경에 가장 적합하다.

- 프로비저닝된 IOPS SSD

  • 프로비저닝된 IOPS 스토리지는 I/O 지연 시간이 짧고 I/O 처리량이 일정한 I/O 집약적 워크로드, 특히 데이터베이스 워크로드 요구 사항을 충족하도록 설계되었습니다. 프로비저닝된 IOPS 스토리지는 프로덕션 환경에 가장 적합합니다.

- 마그네틱

  • DB 데이터에 대한 액세스 빈도가 낮은 소규모 데이터베이스 워크 로드에 적합하다.

나. 인증 방식

- 암호 인증

  • 고전적인 방식의 ID/PW를 사용한 DB인증 방식이다. SQL로 CREATE USER ~문을 사용하여 신규 계정을 생성 할 수 있다. 또한 AWS Secret Manager 서비스를 활용하여 패스워드를 주기적으로 교체할 수 있다.

- IAM 인증

 

  • MariaDB, MySQL, PostgreSQL 한정으로 IAM 서비스를 연동하여 인증할 수 있다. RDS에 요청할 때 IAM 정책/역할을 확인하고 IAM은 "인증 토큰"을 클라이언트에게 발행하여 토큰을 가지고 DB에 접근한다. (해당 토큰은 15분동안 유지된다.)

- Kerberos 인증

  • RDS에서는 Kerberos 및 Active Directory를 사용하여 데이터베이스 사용자의 외부 인증을 지원한다. Kerberos는 Active Directory에 내장되어 있으며 데이터베이스와 같은 네트워크 리소스에 대해 사용자를 인증하도록 설계되었으며, 사용자 자격 증명을 Active Directory에 보관할 수 있다. Active Directory는 여러 DB 인스턴스에 대한 자격 증명을 보관하고 관리할 수 있는 중앙 집중식 공간을 제공한다.

다. RDS 암호화

Amazon RDS 암호화된 DB 인스턴스는 기본 스토리지에 대한 무단 액세스로부터 데이터의 보안을 유지해 추가 계층의 데이터 보호를 제공한다. RDS 암호화는 AWS KMS를 사용하여 AES-256 형식으로 암호화를 지원한다.

 

클라우드에 배포된 애플리케이션의 데이터 보호를 강화하고 저장된 데이터 암호화를 위한 규정 준수를 만족하기 위해 암호화 기능을 활용한다.

 

** RDS DB 인스턴스에 대한 암호화는 암호화를 생성할 때 활성화할 수 있지만 생성된 후에는 불가능하다.

하지만 DB 인스턴스의 스냅샷을 만든 다음 해당 스냅샷의 암호화된 사본을 만들어 암호화되지 않은 RDS DB 인스턴스에 암호화를 추가할 수 있다.

 

라. RDS 프록시

Amazon RDS 프록시를 사용하면 애플리케이션이 데이터베이스 연결을 풀링하고 공유하도록 허용하여 확장 기능을 향상할 수 있다. 쉽게 말해 RDS 프록시가 직접 커넥션을 관리해주기 때문에 RDS에 커넥션으로 발생하는 CPU와 메모리의 오버헤드를 줄여주고 더 많은 커넥션을 사용할 수 있도록 지원해준다.

 

RDS 프록시의 원리는 클라이언트와 RDS사이에 위치하여 세션풀링, 로드밸런싱과 같은 기능을 제공하여 RDS 에 추가적인 고가용성을 제공한다. 주로 RDS에 연결이 과다해질 경우 쓰게 되면 큰 효과를 볼 수 있을 것 같다.

 

마. RDS 구성 지원

- 다중(Multi) AZ DB 클러스터

  • 다중 AZ DB 클러스터 배포는 동일한 리전에 읽을 수 있는 리더 DB 인스턴스가 두 개 있으며, 쓸 수 있는 하나의 라이터 DB인트턴스가 있는 Amazon RDS의 반동기식 고가용성 배포 모드이다.
  • 아래의 그림과 같이 라이터 인스턴스에 내용이 변경될 경우 변경된 내용을 리더 인스턴스에 복제하여 해당 내용을 커밋한다.
  • 라이터 DB 인스턴스에서 중단이 발생하는 경우 RDS는 어느 리더 DB 인스턴스가 장애 조치 대상이 되는지를 관리한다. 이때 RDS는 어느 리더 DB 인스턴스의 가장 최근 변경 기록을 기준으로 이를 수행한다. (가용성 향상)

- 다중(Multi) AZ DB 인스턴스

  • 다중 AZ DB 인스턴스 는 단일 대기 DB 인스턴스와 함께 다중 AZ 배포를 사용하여 DB 인스턴스에 대한 고가용성 및 장애 조치 지원을 제공합니다.
  • 프라이머리 DB 인스턴스는 전체 가용 영역에서 대기 복제본으로 동기식으로 복제되어 시스템 백업 중에 데이터 이중화를 제공하고 대기 시간 급증을 최소화한다.


- 읽기 전용 복제본(Read Replica)

  • 원본 DB 인스턴스에서 읽기 전용 복제본을 생성하면 해당 원본 프라이머리 DB 인스턴스가 된다.
  • 프라이머리 DB 인스턴스를 업데이트하면 Amazon RDS가 읽기 전용 복제본에 비동기식으로 복사합니다. 
  • 클라이언트는 프라이머리 DB 인스턴스에 대한 읽기/쓰기 액세스 권한과 복제본에 대한 읽기 전용 액세스 권한을 가집니다. (읽기 요청에 대한 부하를 분산)

 

 

04. Amazon RDS 구현


  • 사용자가 원하는 DBMS 엔진 종류와 버전을 선택한다.


  • 본인이 구현하고자 하는 워크로드의 퍼포먼스에 맞는 템플릿을 선택한다.
  • 다중 AZ 기능을 활성화 여부를 선택한다. (클러스터 / 인스턴스 / 단일)


  • DB 클러스터 이름과 계정 및 패스워드를 설정한다. (패스워드에 대해서 Secret Manager 로 관리할지 설정가능)


  • RDS에서 생성할 인스턴스 클래스를 설정한다. (본인의 원한는 퍼포먼스에 맞게 설정)
  • RDS에서 사용할 스토리지 용량을 설정한다.


  • RDS의 네트워크 환경을 위한 "VPC" / "서브넷" 을 설정한다.
  • 외부 환경에서 접근하기 위한 퍼블릭 액세스를 설정한다.
  • 추가적인 접근을 위한 보안그룹을 할당한다.


  • 데이터베이스 접근에 대한 인증 방식을 설정한다.


  • 추가 구성탭에서 DB의 자동 백업을 활성화 하고 백업 기간을 설정한다.


  • 예상 비용을 확인하고 데이터베이스 생성한다.

 

- END -

'AWS > DataBase' 카테고리의 다른 글

[AWS] Amazon DynamoDB  (0) 2023.08.19