후니의 IT인프라 사전
RDS 본문
1서브넷 그룹
1.1 단일 AZ일 경우
- 사용하는 서비스 : RDS, Redshift
특징 : 서브넷의 모음, 서브넷은 특정 가용영역 속에 존재하기 때문에 그룹으로 묶어서 RDS 장애시에 옮겨갈 수 있는 다른 서브넷을 미리 지정하는 것과 같다.
<추후 정리 RDS 서브넷 그룹의 특징 p.181>
RDS는 가동 중에도 서브넷 그룹을 변경할 수 있다. (Aurora를 제외한 모든 엔진이 지원)
<추후 정리 서브넷 그룹 변경 조건 p.184>
일반적으로는 같은 가용영역 내에서 이동이 가능하다. 다른 서브넷 그룹에 현재의 가용영역과 같은 곳이 없다면 이동할 수 없다.
기존 RDS 인스턴스에 퍼블릭 액세스 옵션이 켜져있다면 AWS는 서브넷 변경 전 다음 조건을 추가로 확인한다.
1) 변경 대상 VPC에도 IGW가 연결됐는지 확인한다. (서브넷 라우팅 타겟에 IGW 지정 여부까지 검사하지는 않는다)
2) DNS resolution, DNS호스트 이름이 활성화 되었는지 확인한다.
서브넷 변경은 일종의 VPC 변경도 가능하다는 이야기이다.
1.2 다중 AZ 배포
Aurora
- 서브넷 그룹 의 맴버 서브넷에 읽기나 쓰기 노드를 중복으로 둬 데이터 가용성을 높임.
Aurora 외
기본 인스턴스에 장애가 발생하면 보조 AZ의 인스턴스로 fail-over됨
RDS 엔진 유형별 다중 AZ 특징
인스턴스 | 접근성 | 엔드포인트 여부 | RDS엔진(Aurora) | RDS엔진(Aurora 외) |
기본인스턴스 (primary db instance) |
쓰기(W)+읽기(R) | O | O | |
읽기 노드 (reader) |
읽기(R) | O | O | - |
동기식 예비 복제본 (Standby replica) |
접근 불가 | X | - | O |
읽기추가 | 읽기추가 | O | ||
읽기 노드(Reader) | O | - | ||
읽기 전용 복제본(Read replica) | - | O |
기본 인스턴스는 RDS 엔진 유형과 상관없이 기본 생성되며, W가 가능하기 때문에 R를 포함한다.
추가 노드 없이 기본 인스턴스만 생성하면 단일 AZ를 사용한다.
모든 유형의 RDS는 단일 AZ에서 다중AZ로 변경이 가능하다. 그래서 단일 AZ에도 서브넷 그룹을 둔다.
Aurora의 다중 AZ는 쓰기와 읽기가 가능한 기본 인스턴스 1개와 여러 Reader로 구성된된다. 복제본 리더는 추가하거나 삭제할 수 있다.
Aurora이외의 다중 AZ는 쓰기와 읽기가 가능한 기본 인스턴스 1개와 동기식 예비 복제본(Standby replica) 인스턴스 1개로 구성된다. 이 예비 복제본은 ENI가 있으나 접근이 불가능하며, 기본 인스턴스에 서비스 장애가 발생할 때만 기본 인스턴스로 승격돼 접근이 가능한 상태로 변한다.(다중 인스턴스 선택시 가용영역을 마음대로 지정할 수는 없다)
다중 AZ
Aurora에서는 장애와 무관하게 읽기 엔드포인트로 읽기 노드에 접근할 수 있으나, Aurora 이외의 DB의 경우 장애로 fail-over 되지 않는 이상 접근할 수 없다. 즉 읽기노드는 Aurora에서만 존재하고 동기식 예비 복제본 자체의 경우는 접근할 수 없다.
다만 읽기 복제본 추가를 하면된다. 읽기 복제본의 경우 기본인스턴스와 데이터가 비동기식으로 복제돼 읽기 전용으로 접근이 가능하다.
읽기 복제본과 예비 복제본은 다르다.
Aurora외의 DB엔진 | 읽기 복제본 | 동기식 예비 복제본(Standby replica) |
데이터 복제방식 | 비동기식 | 동기식 |
엔드포인트 접근 | 가능 | 불가 |