티스토리 뷰
안녕하세요. 도미닉입니다.
오늘은 AWS 에 RDS 에서 오로라를 이용해 데이터베이스를 이중화하는 방법을 공유하겠습니다.
이중화 방안
현재 쓰기 역할로 인스턴스가 하나 생성되있는 것을 볼 수 있다.
기본적으로 오로라를 생성하면 하나의 인스턴스가 생성된다.
이 오로라에 인스턴스는 내부적으로 아래 그림과 같이 구성된다.
여러 인스턴스에 데이터들을 분산해서 관리하기 때문에 아래 그림처럼 하나의 EC2 에 DB 를 설치하는 것보다 안정적이다.
EC2 자체에 문제가 생기거나 MySQL 에 문제가 생기면 바로 장애가 발생할 수 있기 때문이다.
오로라 인스턴스로 조금 더 안정적이기는 하나 이러한 오로라 인스턴스도 문제가 발생할 수 있을 것이다.
오로라 클러스터에 read replica (읽기만 하는 인스턴스)를 추가해서 아래 그림처럼 이중화를 할 수 있다.
위 그림에서 둘 중 하나의 인스턴스에 문제가 발생한다면 장애가 생기지 않고 다른 쪽 인스턴스가 문제가 발생한 인스턴스의 역할을 같이 수행하게 된다.
AWS Aurora Primary Instance(쓰기 역할) 가 문제가 생겨서 다운된다면 AWS Aurora Replica(읽기 역할) 가 쓰기 역할을 수행한다.
반대로 AWS Aurora Replica(읽기 역할) 이 다운되면 AWS Aurora Primary Instance(쓰기 역할) 이 읽기 역할까지 수행하게 될 것이다.
읽기 역할 인스턴스 추가
읽기 추가를 클릭한다.
DB 인스턴스 식별자를 read-instance 로 입력하고 퍼블릭 액세스 가능을 예로 바꾼 뒤에 add a reader 를 클릭해서 읽기 인스턴스를 추가한다.
읽기 인스턴스를 확인할 수 있다.
read-instance 가 생성 중이니 생성이 완료되면 사용할 수 있다.
장애 테스트(선택)
위에 글을 따라했다면 DB 이중화가 완료되었다.
이 부분은 눈으로만 보셔도 된다.
실제로 따라해보고 싶은 분은 따라해보신 뒤에 읽기 인스턴스를 위에 글을 보고 다시 추가해서 이중화를 구성하기 바란다.
쓰기 역할인 database-1-instance-1 에 문제가 발생한다면 read-instance 가 쓰기 역할을 수행할지 어떻게 확인할 수 있을까?
예제를 잘 따라했다면 위와 같이 쓰기 인스턴스 하나, 읽기 인스턴스 하나가 있을 것이다.
여기서 쓰기 역할을 수행하는 database-1-instance-1 을 삭제해보면 읽기 인스턴스가 쓰기 역할로 바뀌는지 확인할 수 있다.
delete me 를 입력하면 삭제 버튼이 활성화된다.
삭제하면 아래와 같이 읽기 인스턴스가 쓰기 역할로 바뀌는 것을 볼 수 있다.
쓰기 엔드포인트로 접속해 데이터를 추가해도 쓰기가 잘 되는 것을 확인할 수 있었다.
오로라를 처음 만들었을 때와 같은 구성이 되었다.
다시 위에서 알려준 대로 읽기 인스턴스를 추가하면 이중화가 될 것이다.
위에 과정으로 데이터베이스 이중화가 제대로 된 것을 확인할 수 있었다.
'IT > AWS' 카테고리의 다른 글
AWS 에서 Aurora(오로라) RDS DB time zone 시간을 변경하는 방법 (0) | 2020.12.04 |
---|---|
AWS 에서 Aurora(오로라) RDS DB 를 생성하는 방법 (0) | 2020.11.27 |
AWS 에 EC2 로 데이터베이스 서버 셋팅하는 방법(MySQL 5.7) (0) | 2020.11.27 |
- Total
- Today
- Yesterday
- terascan
- 포인터
- 형용사
- 왕초보 영단어1
- 뇌를 자극하는 C프로그래밍
- Xcode
- 함수
- C
- 스위프트
- 연습문제
- 프로그래밍
- 프로그램
- 매트랩
- database
- 리눅스
- Swift
- 배열
- 단어
- 테라스캔
- MySQL
- exercise
- 애플
- 시원스쿨
- Matlab
- Apple
- 반복문
- 뇌를 자극하는 C 프로그래밍
- 영어
- IOS
- 데이터베이스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |