Notice
Recent Posts
Recent Comments
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
05-01 10:51
Today
Total
관리 메뉴

해킹공주의 일상

AWS RDS의 이해 본문

사이드 프로젝트/클라우드

AWS RDS의 이해

7.3.7 2025. 2. 11. 18:00
반응형

AWS RDS

클라우드 환경에서 관계형 DB를 간편하게 사용할 수 있는 서비스. 관계형 DB를 서비스로 제공하는 느낌.

유저들은 End Point로 접속할 수 있도록 . ..

 

기본 아키텍처는 아래와 같다.  내부적으로 AWS RDS는 EC2 인스턴스 위에 DB 엔진이 실행되며, 스토리지는 EBS를 사용하는 방식으로 동작한다. 

  • EC2: RDS 인스턴스는 내부적으로 EC2 위에서 실행되지만, 사용자가 직접 접근할 수 없음.
  • EBS: 데이터는 EBS를 기반으로 저장되며, AWS가 자동으로 관리.

📌 EBS ?

C드라이브, D드라이브 같은 하드디스크라고 생각하면 된다

 

RDS 특징

1️⃣ 관계형 데이터베이스 서비스 제공

  • MySQL, PostgreSQL, SQL Server 등 여러 관계형 DBMS 지원
  • 서버 관리 없이 데이터베이스 운영 가능

2️⃣ 가상 머신 위에서 동작

  • OS에 직접 접근 불가 (AWS가 관리)
  • 보안 패치, 유지보수는 AWS에서 자동으로 수행

3️⃣ CloudWatch 연동 가능

  • DB 인스턴스 모니터링 가능 (EC2와 동일)
  • DB에서 발생하는 로그 확인 가능

4️⃣ EBS를 사용한 고정 용량 할당

  • 생성 시 EBS 스토리지 용량 지정 필요
  • Aurora와의 차이점: Aurora는 자동으로 용량이 증가하지만, RDS는 고정됨

5️⃣ 자동 업데이트 지원

  • 자동 업데이트 가능
  • 특정 시간을 지정하여 예약 업데이트 가능

6️⃣ 3가지 인증 방식 지원

  • IAM 인증
  • USER/PASSWD 인증 (AWS Secret Manager 연동하여 자동 변경 가능)\
  • Kerberos 인증

7️⃣ 백업 기능 제공

자동 백업 (기본 제공) / 수동 백업

  • 매일 스냅샷 생성 및 로그 저장(자동)
  • 사용자가 원하는 시점에 직접 스냅샷 생성 가능(수동)

8️⃣ 기본적으로 Public IP 제공하지 않음

  • 외부에서 기본적으로 접근 불가 (보안 강화)
  • 필요 시 Public 접근 가능하도록 설정 가능 (DNS로 접근)

 

📌 DNS 접근이란?

도메인 주소로 접근하는 방식을 의미한다. 아래와 같이 DB에만 접근이 가능하고, 서버에 직접 접근은 불가

[root@ip-231.2132]# mysql -h mydb-instance.abcdefghij1234.us-east-1.rds.amazonaws.com -u admin -p

Enter password: ****
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 123
Server version: 8.0.32 MySQL Community Server - GPL

 

 

 

RDS 이중화 구성 (Multi AZ 기능)

두 개 이상의 AZ에 걸쳐 DB를 구축하고, 원본과 다른 DB(Stanby)를 자동으로 동기화하는 기능. 

- 완전한 동기화 제공 (Sync)

- 원본 DB 장애 발생 시 Stanby DB 가 원본으로 변경됨 > 사용자는 장애를 느끼지 못함

- Stanby DB 는 접근 불가 (DNS 가 주어지지 않는다)

- 대신 같은게 두개 돌아서 비용이 2배 든다.. . 안정성은 좋으나 비용측면에서는 아쉬운 편

 

[기본 상태]

 

[장애 발생 시 (FailOver)]

 

RDS Read Replicas (읽기 전용 복제본)

원래 데이터베이스의 읽기 전용 복제본을 생성하는 것. 쓰기보다 읽기가 월등하게 많은 서비스의 경우 DB의 부하를 분산 시킬 수 있음. 

- 쓰기는 원본에서, 읽기는 복제본에서 수행하여 워크로드 분산.

- 안정성보다는 성능 측면에서 더 빠르게 수행하기 위한것.

- 각각의 복제본은 고유 DNS 가 할당된다 > 원본 DB 장애 시 수동으로 DNS 변경 필요. 복구는 수동으로 진행해야함

- 읽기전용 복제본과 원본은 같은 AZ에 있을 필요가 없음. 따로 구성해도된다.

- 동기화에 약간의 딜레이가 있을 수 있음(비동기화. Async)

 

[기본 상태]

 

[원본과 읽기 전용 복제본을 별도로 구성한 모습]

 

 

RDS Multi Region

다른 리전에 지속적으로 동기화 시키는 DB클러스터를 생성하는 것. 

- Read만 가능. 

- 리전별로 자동 백업

- 리전별로 Multi-AZ 가능

- 동기화에 약간의 딜레이가 있을 수 있음(비동기화. Async)

 

 

세가지를 비교해보면 아래와 같다.

 

출처 : https://www.youtube.com/watch?v=koDIV5QMw38

반응형
Comments