Walga

[Walga] AWS RDS 리전 변경(이전) 미국 동부 -> 서울

되다 2024. 6. 1. 23:26

문제점

가장 긴 티켓 예약 mutation의 경우 15회의 prisma DB 접근이 발생하는데 예약까지 15초나 걸리는 문제가 있었다.

사용자 입장에서 꼭 개선되어야할 문제였다

 

비동기 처리, 로직의 개수, 프리즈마의 성능, 캐싱, Node.js의 이벤트 루프, 싱글 스레드 등 여러 원인을 체크했다. 

결론적으로  Walga 개발용 DB가 default인 us-east-1(버지니아 북부)로 설정되어 있어, DB 접근 시 마다 큰 코스트가 발생한다고 생각했다.

해당 로직 응답시간 15초는 말도 안되는 수치이다.

 

여러 블로그를 참고하여 리전을 간편하게 옮길 수 있는 방법을 찾았다

 

해결 방법

1. 기존 DB 리전에서 데이터베이스 스냅샷 생성 (버지니아 리전)

 

 

2. 스냅샷 탭에서 스냅샷 복사 (버지니아 리전)

 

3. 스냅샷 복사 (버지니아 리전 to 서울 리전으로 이전)

DB를 복사하는 것이기 때문에 시간이 몇 분 소요된다

 

서울 리전으로 이전된 것을 확인할 수 있다

 

 

4. 보안 그룹 옮기기 (버지니아 리전 to 서울 리전)

 

해당 작업은 수작업을 옮겨주어야 한다.

실수를 방지하기 위해 버지니아 리전과 서울 리전 창 2개를 띄워 인바운드와 아웃바운드 규칙을 그대로 옮겨준다

 

5. 이전할 리전에서 스냅샷 복원

 

생성된 보안그룹을 기반으로 스냅샷을 복원한다.

클러스터와 티어 설정도 해주어야 하는데, 그대로 옮기는 것이라면

원래 리전의 DB 설정을 띄워놓고 그대로 옮겨준다

 

여러 Status를 거친 후 사용 중으로 변경되면 이전이 완료된 것이다

새로운 엔드포인트를 각자의 프로젝트에 맞게 적용해주자

 

 

 

 

해결완료

 

코드의 문제가 아닌 단순히 지역이 먼 리전의 DB가 문제였다

지연속도가 상당히 줄어들어 사용자 경험뿐만 아닌 테스트도 원할하게 진행할 수 있을 것 같다