RDS DB를 다른 계정으로 마이그레이션하기

Yihoon·2024년 4월 22일
0

AWS활용기

목록 보기
3/7

RDS에 저장된 DB를 다른 계정으로 옮겨 달라는 부탁을 지인으로부터 받아, 그 과정을 간단히 기록해 본다.

이때는 한 계정에 있는 DB 인스턴스를 다른 인스턴스로 복사하는 방법으로 마이그레이션이 가능하다.
공식 도큐먼트를 참고하여 그 과정을 보다 상세히 기록해 본다.

어느 정도 AWS가 익숙한 사람들을 위해, 이어서 설명할 과정들을 간단하게만 요약하자면
1. RDS를 내보낼 계정에서 RDS 스냅샷을 생성한다.
2. 스냅샷을 공유하기 위해 KMS 키를 발급받는다.
3. 스냅샷과 KMS 키를 마이그레이션받을 계정과 공유한다.
4. 마이그레이션받을 계정에서 해당 스냅샷을 복원한다.

편의상 RDS DB를 내보낼 계정을 A, RDS DB를 받을 계정을 B라 하겠다.

먼저 계정 B로 로그인해서, 계정 ID를 복사해 준다.

RDS 스냅샷 생성(A)

이어서 계정 A에서 RDS의 스냅샷을 만든다.

'스냅샷 생성'을 눌러 새 스냅샷을 만들 수 있다.

'스냅샷'은 특정 시점의 DB 상태, 그리고 이전 상태에서부터의 변화를 남겨 두어 이를 활용해 복원에 활용할 수 있도록 하는 일종의 백업본이라고 생각하면 된다.

마이그레이션하고자 하는 인스턴스를 선택한 후, 스냅샷 이름은 식별 가능하도록 적절히 설정하여 스냅샷을 제작한다.

조금 기다리면 스냅샷이 생성된다.

표를 우측으로 넘겨 '상태'가 '사용 가능'인지 확인하자.

KMS키 생성(A)

스냅샷을 만들었으면 마이그레이션을 위해 키를 생성해야 한다.
KMS로 이동하자. '키 생성'을 눌러새 키를 만든다.

별도 옵션은 지정하지 않아도 된다.

레이블과 설명, 태그는 식별 가능하고 간결하게 자유롭게 작성하자.

이어서 KMS 키를 관리할 수 있는 IAM계정과 Role을 지정해 주어야 한다. 현재 스크린샷에는 별도의 IAM을 사용하지 않는 상태이기 때문에 꼭 지정할 필요는 없었다. 그래도 나중에 IAM을 활성화할 지도 모르니 AWSServiceRoleForRDS 규칙에 해당 키를 할당해 주었다.

다음 스텝에서는 키를 공유받을 AWS 계정 ID를 입력해야 한다. 맨 처음에 계정 B에 로그인하여 복사해 둔 ID값을 가져오자.

최종 검토 단계를 지나서,

스냅샷이 생성되었으면 작업 - 스냅샷 공유에 진입하여 해당 스냅샷을 계정 B와 공유해야 한다.

아까와 동일하게, 계정 B의 계정 ID를 입력하여 사용자를 추가한다.

이렇게 하면 원래의 스냅샷 외에, 공유를 위한 스냅샷이 하나 더 생성된다. 이제 계정 A에서의 작업이 모두 끝났다.

스냅샷 복원(B)

이제 계정 B에서 스냅샷을 복원하면 된다.
RDS - 스냅샷에 들어가서,

나와 공유됨 탭에 있는 공유받은 스냅샷을 복원한다.

데이터베이스 옵션은 일반적인 RDS 세팅과 동일하게 수행하면 되는데, 혹시 DB를 내보낸 계정(A)와 다르게 세팅해야 할 옵션은 없는지 한번 확인하는 것이 좋다. 나의 경우 과도한 클래스의 VPC가 할당되어 있어 이를 변경하였다.

세팅을 마쳤다면 인스턴스를 복원하자. 복원에는 적지 않은 시간이 걸리는데, 이때 상황에 따라 서비스가 중단될 수 있으므로 유의하는 것이 좋다.

profile
딴짓 좋아하는 데이터쟁이

0개의 댓글

관련 채용 정보