해킹공주의 일상
AWS RDS의 이해 본문
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)
세가지를 비교해보면 아래와 같다.
'사이드 프로젝트 > 클라우드' 카테고리의 다른 글
AWS RDS와 Aurora의 차이점 및 간단 비교 (0) | 2025.02.12 |
---|---|
AWS RDS 파라미터 중 암호 정책(password 정책) (0) | 2025.02.12 |
2024 클라우드 진단 내역 (0) | 2024.01.25 |
Amazon ELB 기능에 대한 이해 (0) | 2023.12.25 |
AWS VPC Flow Logs 란 (2) | 2023.10.09 |