RDS
- AWS 관리하는 관계형 데이터베이스 서비스
- SQL을 쿼리 언어로 사용
- Postgres, MySQL, MariaDB, Oracle, Microsoft SQL Server Aurora(AWS 데이터베이스)
EC2인스턴스에 DB를 배포하지 않고 RDS를 사용하는 이유
- 완전 자동화되어있고 OS별 패치가 되어있다.
- 지속적으로 배업이 생성되며 회복과 복원이 간단
- 대시보드를 통한 모니터링
- 읽기 전용 복제본을 생성해 읽기 성능 개선
- 재해 복구 목적으로 다중 AZ 가능
- 유지 관리 기간에 업그레이드 가능
- 스케일링 능력( 수직 수평 확장이 가능하다)
- EBS에 구성되며 gp2 혹은 io1
- SSH 액세스 불가
RDS - 스토리지 오토 스케일링 ( 시험출제유형 )
- RDS가 자동으로 스토리지를 확장해줄 수 있다
- 읽기 쓰기 작업이 많다면 또한 스토리지를 오토 스케일링 해준다
- 최대 스토리지 임계값 Maximum Storage Threshold 설정이 필요
- 확장할 최대치를 정한다
- 남은 공간이 10%미만이면 자동 확장
- 스토리지 부족 상태가 5분이상 지속
- 지난 수정으로부터 6시간이 지났다면
- 워크로드를 예측할 수 없는 애플리케이션에 적합하며 모든 RDB 엔진을 지원한다
RDS 읽기 전용 복제본과 다중 AZ
각각의 사용사례를 이해하는게 중요하다
읽기 전용 복제본
- 15개의 복제본을 생성할 수 있고 AZ, 리전 제한 없이 복제할 수 있다
- 메인 RDS와 비동기식 복제가 발생 → 읽기 전용 복제본을 읽어들여도 모든 데이터를 얻을 수 있다
- 복제본을 메인 DB로 업그레이드 시킬 수 있지만 자체적인 라이프사이클을 가진다
- 복제본을 사용하기 위해선 모든 연결을 업데이트해야 읽기 전용 복제본 전부를 사용할 수 있다.
- 데이터 분석같은 새로운 워크로드에 대한 읽기 전용 복제본을 생성한다
- Select 쿼리만 사용 가능 (Read)
RDS 읽기 전용 복제본 - 네트워크 비용
- 하나의 가용 영역에서 다른 가용 영역으로 데이터가 이동할 때, 비용이 발생한다
- 하지만 보통 관리형 서비스에서 예외가 발생하는데 읽기 전용 복제본은 관리형 서비스이다.
- 따라서 복제 트래픽이 원본 AZ에서 다른 AZ로 넘어가는 경우 관리형 서비스이기에 비용X
- 만약 서로 다른 리전에 존재하는 경우에는 비용이 발생
RDS 다중 AZ ( 재해 복구 )
- 동기적 복제
- 하나의 DNS 이름으로 통신하여 마스터에 문제가 생기면 자동으로 장애 조치를 취한다
- 가용성을 높일 수 있어 다중 AZ라고 하며 AZ에 문제가 생길때를 대비한 조치이다
- 마스터 데이터베이스가 문제가 생기면 스탠바이 데이터베이스가 마스터가 된다
- 자동으로 데이터베이스가 마스터로 승급되기 때문에 관리될 것은 없다
- 스케일링에 사용되지 않는다 ( 대기 목적으로만 사용됨 )
- 읽기 전용 또한 다중 AZ로 생성할 수 있다
읽기 전용 복제본과 다중 AZ의 차이를 잘 알아두어야한다! 시험에 자주 나옴
단일 AZ에서 다중 AZ
- 다운타임이 전혀 없다 → 중지할 필요가 없다 ( 옵션만 키면 됨 )
- 키는 순간 스탠바이 DB를 활성화 한다
- 내부적으로는 자동으로 스냅샷 생성하여 새로운 스탠바이 데이터베이스에 복원
- 이후 서로 동기화되어 다중 AZ 상태가 된다
참고 - 비동기 복제와 동기 복제
비동기 복제
비동기 복제는 기본적으로 마스터-슬레이브 복제 구조를 사용합니다. 마스터 데이터베이스에서 변경된 데이터는 일정 간격(지연 시간) 후에 슬레이브 데이터베이스로 전달됩니다. 이 전달 과정은 비동기적으로 수행되기 때문에 마스터에 대한 쓰기 작업이 완료된 후 즉시 슬레이브에 반영되지 않을 수 있습니다. 이로 인해 일시적인 데이터 불일치가 발생할 수 있습니다. 비동기 복제는 일반적으로 대규모 읽기 작업을 처리하는 데 유용하며, 대역폭이 제한된 네트워크 환경에서도 성능을 향상시킬 수 있습니다. - 마스터와 데이터가 똑같지 않을 수도 있다. 일정 시간 후 업데이트 됨
동기 복제
동기 복제는 마스터 데이터베이스에 대한 쓰기 작업이 완료된 후 슬레이브 데이터베이스로 변경 사항을 동기적으로 복제합니다. 이는 쓰기 작업이 완료되기 전까지는 마스터와 슬레이브 간에 데이터 일관성이 유지됨을 의미합니다. 동기 복제는 데이터 일관성이 매우 중요한 애플리케이션에 적합합니다. 그러나 네트워크 지연이 증가하거나 대량의 쓰기 작업이 발생할 경우 성능에 영향을 줄 수 있습니다. - 마스터가 업데이트 되면 대기하던 DB 또한 업데이트 됨
RDS 실습
스냅샷, 복구하기, 다른 리전으로 복제하기 위한 스냅샷
RDS의 강점은 읽기 전용 복제판을 만들어 다중 AZ를 사용하여 DB를 관리하는 것이다
RDS 커스텀
- RDS는 운영체제나 DB에서 제공하는 사용자 지정 기능에 엑세스 할 수 없다
- 다만 Oracle과 Microsoft SQL Server에 한해서는 DB 커스텀과 OS 접근이 가능
- 커스텀을 허용하려면 RDS가 수시로 진행하는 자동화 설정을 꺼놓는게 좋다
- 또한 RDS의 ec2 인스턴스에 접근이 가능하다는 것은 그만큼 문제가 발생할 수 있으니 db 스냅샷을 만들어 놓는게 좋다 → 복구가 어려울 수 있음
'TIL > AWS' 카테고리의 다른 글
AWS RDS 백업 (0) | 2023.05.24 |
---|---|
AWS Aurora (0) | 2023.05.24 |
AWS Auto Scaling Groups - 스케일링 정책 (0) | 2023.05.22 |
AWS Auto Scaling Group (ASG) (0) | 2023.05.22 |
AWS Elastic Load Balancer - Connection Draining (0) | 2023.05.21 |