처음 AWS RDS 프리티어 데이터베이스를 만들었을 때,
대상 지역(영역 ,리전)을 default인 us-east-1(버지니아 북부)로 설정했다.
만든 RDS를 DataGrip에 연결하고 query를 실행했다.
query 실행 시간이 너무 길었다. 3s 479ms로 Local 환경(1s 미만)에 비해 너무 길었다.
실행시간을 개선하기 위해서 대상 지역(영역, 리전)을 ap-northeast-2(서울)로 변경하려고 한다.
(본인은 현재 대한민국에 거주)
방법은
1. 스냅샷 생성
2. 스냅샷 복사
3. 스냅샷 복원(DB 인스턴스 생성) 보안그룹, 파라미터 설정
4. 기존 인스턴스 및 설정 삭제
5. DB 툴 연결
AWS EC2때와 마찬가지로 DB 인스턴스의 지역(영역, 리전)을 바로 변경할 수 없다.
따라서 AWS EC2의 '이미지'처럼 AWS RDS의 '스냅샷'이라는 기능이 있다.
스냅샷으로 DB 인스턴스를 새로 생성해줘야 한다.
스냅샷 생성버튼을 누르면 왼쪽에 스낵샷 탭에 가면 스냅샷이 생성된다.
생성한 스냅샷을 기존 지역인 us-east-1(버지니아 북부)에서 새로운 지역 ap-northeast-2(서울)로 복사해줘야 한다.
1. 스냅샷 복사를 누른다.
2. 스냅샷 복사 설정에서 대상 리전(지역), 새로운 DB 스냅샷 식별자(이름)을 입력하고
스냅샷 복사를 누른다.
스냅샷이 복사되고 생성되는 시간이 몇분 걸린다.
3. 오른쪽 위에서 ap-northeast-2(서울)로 이동해서 스냅샷 탭에 들어가면 스냅샷이 정상적으로 생성된다.
생성된 스냅샷으로 DB 인스턴스를 생성하는 방법은 '스냅샷 복원'을 이용하는 것이다.
1. 스냅샷 복원을 누른다.
2. 스냅샷 복원 설정을 한다. DB 인스턴스의 설정도 여기서 할 수 있다. 설정을 마치면 인스턴스 복원을 누른다. DB 인스턴스를 생성하는 시간이 몇분 걸린다.
3. 기존 DB 인스턴스(미국)와 같은 DB 인스턴스가 서울지역으로 새로 생성되었다.
4. 보안 그룹(인바인드 규칙, 아웃바운드 규칙 등), 파라미터는 자동으로 복사가 안되기 때문에
기존 DB 인스턴스를 참고하면서 다시 설정해준다.
성공적으로 생성되었다면 과금 등을 방지하기 위한 기존 DB 인스턴스 및 설정을 삭제해줘야 한다.
1. 기존 DB 인스턴스 중지(기존 지역인 미국(버지니아 북부)로 돌아가서 중지)
2. 기존 DB 인스턴스 삭제(미국)
3. 스냅샷 삭제(미국)
4. 파라미터 삭제(미국)
5. 서브넷 삭제(미국)
6. 서울 지역에도 스냅샷이 남아있으므로 3번과 같이 삭제해준다.
본인은 DB 툴로 'DataGrip'을 쓰고 있다.
새로 생성한 엔드포인트를 참고해서 DataGrip과 연결한다.
(연결이 안되면 DB 인스턴스 설정에서 퍼블릭 엑세스 가능을 체크해줘야한다.)연결하고 나면 기존에 있던 Schema가 보이지 않는 경우가 있다.
잘못 복사한 것이 아니다.1. 밑 사진에 보이는 Data Source Properties를 눌러준다.
2. 원하는 Schema를 선택해준다.
3. 정상적으로 Schema가 보이는 것을 확인할 수 있다.
기존 DB 인스턴스(미국)에서 실행 속도
새로운 DB 인스턴스(서울)에서 실행 속도
약 16배 빨라진 것을 알 수 있다.
역시 같은 지역(나라)에 있는 DB 인스턴스의 속도가 빠르다.
현재 AWS에서 비용이 조금 청구되었는데
아마 데이터 이전 비용인 것 같다.
감사합니다 덕분에 리전 변경할 수 있었네요!!