-
AWS RDS
- 관계형 데이터베이스 서비스의 약자 입니다
- SQL을 쿼리 언어로 사용하는 데이터베이스용 관리형 데이터베이스 서비스입니다.
- 클라우드의 RDS 서비스에 DB를 생성할 수 있고 AWS가 DB를 관리하므로 누릴수 있는 혜택이 많습니다.
- 데이터베이스 프로비저닝과 기본 운영체제 패치가 완전 자동화되어 있습니다.
- 지속적으로 백업이 생성되므로 특정 타임스탬프, 즉 특정 시점으로 복원할 수 있습니다.
- 읽기 전용 복제본을 활용해 읽기 성능을 개선할 수 있습니다.
- 재해 복구 목적으로 다중 AZ를 설정할 수 있습니다.
- RDS 인스턴스에 SSH 액세스할 수 없습니다.
- 데이터베이스를 많이 사용하면 공간이 부족 상황 생길수 있브니다. 그럼 ASG 기능을 활성화 할수있습니다. RDS가 이를 감지해서 자동으로 스토리지를 확장합니다.
AWS DB
- PostgreSQL
- MySQL
- MariaDB
- Oracle Microsoft SQL Server
- Aurora
RDS 일기 전용 복제본과 다중 AZ
이 그림에서 보면 애플리케이션은 데이터베이스 인스턴스에 대해 읽기와 쓰기를 수행합니다, 하지만 주된 데이터베이스 인스턴스가 너무 많은 요청을 받아서 충분히 스케일링 할 수가 없기에 읽기를 스케일링하고자 한다고 보면 이때 읽기 전용 복제본을 최대 15개까지 생성할 수 있으며 이들은 동일한 가용 영역 또는 가용영역이나 리전을 걸쳐서 생성될 수 있습니다.
세 가지 다른 옵션이 있는데 이들을 잘 기억해 둬야합니다. 두 개의 RDS 인스턴스 읽기 전용 복제본이 있다고 해보면 이때 주돤 RDS 데이터베이스 인스턴스와 두 읽기 전용 복제본 사이에 비동기식 복제가 발생합니다 비동기식이란 결국 읽기가 일관적으로 유지된다는 것을 뜻합니다.
가령 애플리케이션에서 데이터를 복제하기 전 읽기 전용 복제본을 읽어들이면 모든 데이터를 얻을 수 있다는 것이죠
이것이 바로 일관적인 비동기식 복제의 의미합니다. 이와 같이 복제본이 읽기 스케일링에 적합할 수 있으나 이를 데이터베이스로도 승격시켜 이용할 수 있습니다. 이들 복제본 중 하나를 데이터베이스로 사용하고자 하며 그에 대한 권한을 획든하면 이를 데이터베이스로 승격시킬 수 있습니다.
읽기 전용 복제본의 사용 사례
프로덕션 데이터베이스에서는 메인 RDS 데이터베이스 인스턴스에 대한 읽기 및 쓰기가 수행됩니다. 인스턴스에 대한 읽기 및 쓰기가 수행됩니다. 이 때 새로운 팀이 와서 여러분의 데이터를 기반으로 몇 가지 보고와 분석을 실시하고자 한다고 해 보면 애플리케이션을 메인 RDS 데이터베이스 인스턴스에 연결하면 오버로드가 발생하고 생산 애플리케이션의 속도가 느려질 텐데 이런 현상을 피하고자 합니다. 이때 해결사로 나서서 새로운 워크로드에 대한 읽기 전용 복제본을 생성하는 겁니다. 생성하면 메인 RDS DB 데이터베이스 인스턴와 읽기 전용 복제본 간 비동기식 복제가 발생합니다. 그 다음 보고 애플리케이션이 생성한 읽기 전용 복제본에서 읽기 작업과 분석을 실행하게 되는 거죠 이 경우 생산 애플리케이션은 전혀 영향을 받지 않으니 완변합니다.
읽기 전용 복제본이 있는 경우
- SELECT 명령문에만 사용하는 점을 명심해야합니다
- SELECT는 SQL의 키워드로 읽기를 의미합니다. 따라서 데이터베이스 자체를 바꾸는 INSERT, UPDATE, DELETE 같은 키워드는 사용이 불가능합니다.
RDS 읽기 전용 복제본과 관련된 네트워킹 비용
- AWS에서는 하나의 가용 영역에서 다른 가용영역으로 데이터가 이동할 때에 비용이 발생합니다.
- 예외가 존재하며 이 예외는 보통 관리형 서비스에서 나타납니다. RDS 읽기 전용 복제본은 관리형 서비스입니다.
- 읽기 전용 복제본이 다른 AZ 상이지만 동일한 리전 내에 있으 때는 비용이 발생하지 않습니다.
us-east-1a 에 RDS DB 인스턴스가 있고 그에 대한 읽기 전용 복제본은 us-east-1b에 있다고 치면 이는 복제로 읽기 전용 복제본의 복제 트래픽이 하나의 AZ에서 다른 AZ로 넘어가더라도 RDS가 관리형 서비스이기 때문에 해당 트래픽은 비용 없이 무료로 이동할 수 있습니다.
서로 다른 리전에 복제본이 존재하는 경우 즉 us-east-t1에 대해서 복제본이 eu-west-1에 존재하는 경우에는 RDS DB 인스턴스와 읽기 전용 복제본이 여러 리전을 넘나들어야 하기 때문에 네트워크에 대한 복제 비용이 발생합니다.
RDS 다중 AZ
- 다중 AZ는 주로 재해 복구에 사용됩니다
슬라이드 상의 이 애플리케이션은 가용 영역 AZ A에서 읽기와 쓰기를 수행하는 미스터 데이터베이스 인스턴스 입니다.
그리고 동기식으로 이를 AZ B에 스탠바이 인스턴스로 복제합니다 마스터 데이터베이스의 모든 변화를 동기적으로 복제하는 것인데 이는 애플리케이션의 마스터에 쓰이는 변경 사항이 대기 인스턴에도 그대로 복제된다는 것을 의미합니다.
즉 하나의 DNS 이름을 갖고 애플리케이션 또한 하나의 DNS 이름으로 통신하며 마스터에 문제가 생길 때에도 스탠바이 데이터베이스에 자동으로 장애죄가 수행됩니다, 하나의 DNS 이름을 갖기 때문에 이를 통해 가용성을 높일 수 있기 때문에 다중 AZ라고 불립니다.
'aws' 카테고리의 다른 글
aws Aurora (0) 2024.02.02 aws RDS 실습 (0) 2024.02.01 aws ASG (0) 2024.01.31 aws SSL / TLS 실습 (0) 2024.01.24 aws SSL / TLS 인증서 (1) 2024.01.23