클릭 몇 번으로 클라우드에서 관계형 데이터베이스를 설정, 운영 및 확장할 수 있는 관계형 데이터베이스 서비스입니다. SQL을 쿼리 언어로 사용하는 DB를 위한 관리형 DB서버스로써 AWS에서 관리하는 클라우드에서 데이터베이스를 생성할 수 있습니다.
• Postgres
• MySQL
• MariaDB
• Oracle
• Microsoft SQL Server
• Aurora (AWS Proprietary database)
RDS DB 인스턴스의 스토리지를 동적으로 늘릴 수 있도록 지원합니다.
RDS가 데이터베이스 스토리지가 부족함을 감지하면 자동으로 확장됩니다.
• 데이터베이스 스토리지를 수동으로 확장하는 것은 피하는 것이 좋습니다.
Maximum Storage Threshold(DB 저장 최대 한도)를 설정해야 합니다.
다음과 같은 경우 스토리지를 자동으로 수정합니다.
• 여유 스토리지는 할당된 스토리지의 10% 미만일 때
• 저용량은 최소 5분 동안 지속될 경우
• 마지막 수정 후 6시간이 지난 경우
예측할 수 없는 워크로드가 있는 애플리케이션에 유용합니다.
모든 RDS 데이터베이스 엔진 지원합니다.(MariaDB, MySQL, PostgreSQL, SQL Server, Oracle)
RDS read Replicas는 읽기 확장성을 위한 사용방법으로, 최대 5개의 읽기 전용 복제본을 제공합니다. 읽기 복제본은 AZ 내, AZ 간 네트워킹 또는 region간 네트워킹을 지원하며,비동기적으로 데이터가 복사됩니다. 또한
복제본을 자체 DB로 승격 가능하고, 애플리케이션은 읽기 전용 복제본을 활용하기 위해 연결 문자열을 업데이트해야 합니다.
위와 같이 정상적인 로드를 수행하는 프로덕션 데이터베이스가 있고,
일부 분석을 실행하기 위해 보고 애플리케이션을 실행하려고 할 때,
새 워크로드를 실행할 Read replica를 생성합니다.
이런식으로 동작할 경우 프로덕션 애플리케이션은 영향을 받지 않게 되고,
읽기 전용 복제본은 SELECT(=읽기) 종류의 문(INSERT, UPDATE, DELETE은 불가)을 통해 데이터를 응답받을 수 있습니다.
최근 kakao 데이터센터에 에러가 생겨서 불편함을 겪은 적이 있었습니다.
향후 이에 관련하여 깊게 분석한 뒤, 포스팅을 남길 생각입니다.
재해복구를 위해서는 RDS DB SYNC 복제해야합니다.
하나의 동일한 DNS 이름을 가지며, 장애가 발생하기 전까지 대기 상태 기다리다가 장애가 발생하면, 자동으로 역할을 이어받습니다.
가용성 향상을 기대해볼 수 있습니다.
AZ 손실, 네트워크 손실, 인스턴스 또는 스토리지 장애 시 Failover
•Failover란? 컴퓨터 서버, 시스템, 네트워크 등에서 이상이 생겼을 때 예비 시스템으로 자동전환되는 기능입니다.
앱에 대한 수동 개입 없음
스케일링에 사용되지 않음
참고: 재해 복구(DR)를 위해 읽기 전용 복제본을 다중 AZ로 설정해야 합니다.
애초에 다중 AZ로 설정하는 경우도 있지만, 단일 AZ에서 다중 AZ로 변경하는 방법 또한 존재합니다.
RDS를 생성하기전, DBMS를 고르는 중, AWS에서 지원하는 Aurora를 본 적이 있습니다. Amazon Aurora(Aurora)는 MySQL 및 PostgreSQL과 호환되는 완전관리형 관계형 데이터베이스 엔진입니다.
MySQL과 PostgreSQL이 고급 상용 데이터베이스의 속도와 안정성을 오픈 소스 데이터베이스의 단순성과 비용 효율성과 결합하는 방법을 이미 알고 계실 것입니다.
현재 기존 MySQL 및 PostgreSQL 데이터베이스와 함께 사용하는 코드, 도구 및 애플리케이션을 Aurora와 함께 사용할 수 있습니다. 일부 워크로드에서 Aurora는 대부분의 기존 애플리케이션을 변경할 필요 없이 MySQL 처리량의 최대 5배, PostgreSQL 처리량의 최대 3배를 제공할 수 있습니다.
3개의 가용 영역에 6개의 replica가 존재한다.
• 쓰기에 필요한 사본 6개 중 4개
• 6개 중 3개는 읽기 필요
• P2P 복제를 통한 자가 복구
• 스토리지는 수백 개의 볼륨에 걸쳐 스트라이프됩니다.
30초 만에 failover하는 Auto healing 능력이 있습니다.
Aurora는 Read Replica를 최대 15개 까지 가질 수 있습니다.
• 기존은 5개
Multi AZ이며 Read Replicas를 auto-scaling 할 수 있습니다. (Reader Endpoint로 로드벨런싱을하며 Auto-scaling까지 담당)
Read Replica는 전세계적으로 존재할 수 있기 때문에 재해 복구 또는 지연 시간 단축이 가능합니다.
저장공간은 10 GB ~ 128TB까지 확장 가능합니다.
오로라 인스턴스는 EC2 인스턴스를 사용합니다.
아주 좋은건 다 가져다 쓰는 느낌.. 일반 RDS보다 20%비용이 비싸지만 성능하나는 확실..
- 자동 장애 조치
- 백업 및 복구
- 격리 및 보안
- 업계 규정 준수
- 푸시 버튼 크기 조정
- 다운타임이 없는 자동화된 패칭
- 고급 모니터링
- 일상적인 유지 보수
- 역추적: 백업을 사용하지 않고 언제든지 데이터 복원
실제 사용량을 기반으로 자동화된 데이터베이스 인스턴스화 및 자동 크기 조정
• 간헐적이거나 예측할 수 없는 워크로드에 적합
• 용량 계획이 필요 없음
• 초당 지불, 더 비용 효율적일 수 있음
Aurora Cross Region Read Replicas:
• 재해 복구에 유용
• 간편한 설치
Aurora 글로벌 데이터베이스(권장):
• 기본 리전 1개(읽기/쓰기)
• 최대 5개의 보조(읽기 전용) regions, 복제 지연은 1초 미만
• 보조 region,당 최대 16개의 읽기 전용 복제본
• 대기 시간 감소에 도움
• 재해 복구를 위해 다른 지역을 홍보할 때 RTO가 1분 미만입니다.
• 일반적인 지역 간 복제에 걸리는 시간은 1초 미만입니다.
• SQL을 통해 애플리케이션에 ML 기반 예측을 추가할 수 있습니다.
• Aurora와 AWS ML 서비스 간의 단순하고 최적화된 안전한 통합
• 지원되는 서비스
• Amazon SageMaker(모든 ML 모델과 함께 사용)
• Amazon Comprehend(감정 분석용)
• ML 경험이 없어도 됩니다.
• 사용 사례: 사기 탐지, 광고 타겟팅, 감정 분석, 제품 추천
https://aws.amazon.com/ko/rds/
https://www.code4projects.net/relational-database-service/