RDS DB이관을 진행했다.
처음 RDS를 생성할 때 너무 신나서 했더니 개발용 RDS를 생성하였고.... r5.large요금을 사용해버렸다...
그 결과 이틀만에 18000원이라는 과금을 하게 되었고... 요금제를 변경하려고 했지만 변경할 수 있는 가장 저렴한 요금제가 t3.micro였다.
큰 차이가 없을 것 같아서 그대로 진행하려했지만 하루에 4천원꼴의 과금이 발생하였고 2주 프로젝트 기간을 생각한다면....
물론 큰 돈은 아니지만 모의 프로젝트에 그만한 돈을 쓰기 아까웠다.
그리하여 멘토님의 조언대로....DB이관을 결심하였다.
중간에 실수를 하게 되면 다른 팀원들의 개발 환경에 영향을 미칠까 최대한 안하려고 했지만 어쩔 수 없었다.
내가 진행했던 프로세스의 환경은 이러하였다.
- RDS --> RDS
- MySQL --> MySQL
- 이미 테이블에 많은 데이터가 있었기 때문에 모든 데이터를 이동
1.새로운 RDS생성
일단 이동하고 나서 사용할 RDS가 필요하였다.
이전과 같은 조건들을 주되 꼭 테스트 버전으로 생성하려고 신경을 썼다.
테스트 버전에서만 t2.micro를 사용할 수 있기 때문이다.
2.MySQL data export
이전의 RDS에는 MySQL workbench가 연결 되어있다.
AWS에서 RDS snapshot을 이용하여 백업하는 방법도 있었지만 Parameter group을 건드려 본 경험이 없기 때문에 빠르게 할 수 있도록 MySQL workbench를 사용하는 방법을 사용하였다.
이전에 연결해둔 connection에서 export 를 진행한다.
맨 위의 탭 Server -> data export
내가 원하는 스키마와 테이블들을 선택하고 파일로 export 시켜준다.
3. MySQL data import
이제 새로 생성한 RDS를 workbench에 연결 시키고 export와 비슷하게
Server -> data import 를 선택해준다.
아까 저장했던 파일 디렉토리를 통해 파일을 가져오고 import를 하게되면
안.된.다.
권한오류가 나는데 이를 고치려면 아까 저장했던 sql파일의 몇 부분들을 수정해야한다.
super권한을 줘야하지만 aws에서 관리하는 권한이라고 한다.
이 4줄을 없애주어야 한다.
나는 쫄보라서 주석처리했다.
처음 세개는 문서 앞단에서 찾아볼 수 있지만 마지막껀 꽤나 밑에 있다
(내 경우이는 700줄대에 있었다...)
사실 하나씩 처리하다보면 어디서 오류가 나는지 알 수 있고 workbench에서 친절하게 라인 수도 알려준다.
위의 처리를 하고 나면 정상적으로 import 가 수행된다.
4. 기존의 RDS 삭제
증오의 개발용 RDS를 삭제하자!!!!!!
AWS에 과금한 돈이 제법 되는데,,,
큰 금액들 아니지만 실제 돈이 빠져나가니 문제를 해결할 때마다 뼈 깊이 이해하면서 넘어가는 것 같다....
AWS 유료 강의 들었다고 생각하자....☺️
'Computer Engineering > Server' 카테고리의 다른 글
Springboot Querydsl 설치, JpaQueryFactory 설정 (0) | 2021.03.09 |
---|---|
Springboot RESTAPI 아임포트 가상 결제 (1) | 2021.02.25 |
Ubuntu에 Spring boot 서비스 등록하기 (0) | 2021.02.07 |
REST, REST API란? (0) | 2021.01.19 |
url로 ip입력시 도메인으로 redirect하기 (0) | 2021.01.10 |