기존에 사용하던 AWS 계정의 프리티어 사용 기한이 만료되었다. 실제로 서비스 중인 서버가 돌아가고 있었기 때문에 기존의 데이터와 설정들을 그대로 옮겨야 했다. 그 과정에 대해 간단하게 적어보려고 한다.
루트 계정으로 로그인 된 상태에서 스냅샷을 생성하면 RDS 스냅샷을 공유해서 다른 계정으로 이전하는게 간단하지만, 나처럼 IAM 계정을 사용 중이라면 비교적 복잡한 과정을 거쳐야 한다. (루트 계정을 사용하는 경우: 링크)
만약 이와 같은 에러 메시지를 보게 된다면 아래 방법을 따라하면 된다. (공식 문서 암호화된 Amazon RDS DB 스냅샷을 다른 계정과 공유하려면 어떻게 해야 합니까? 참고)
요약
- 새로 발급 받는 KMS 키에 사용 가능 계정으로 Target 계정 추가
- 데이터를 옮기려는 DB 인스턴스의 스냅샷 공유
- 대상 계정에서 공유된 DB 스냅샷 복사 및 복원
첫 번째로 AWS KMS 콘솔에서 [고객 관리형 키] 페이지에서 [키 생성]을 한다.
키 이름이나 키 관리 권한은 각자 필요에 따라 설정해주면 되고, 중요한 부분은 키 사용 권한이다. [다른 AWS 계정] 파트에서 Target 계정의 계정 ID를 입력한다. (계정 ID는 AWS 콘솔에서 우측 상단의 닉네임을 클릭하면 볼 수 있다.)
이전할 RDS 인스턴스의 스냅샷을 생성하고, 그 스냅샷을 복사한다. 이 때 리전을 선택하면 [암호화]에서 우리가 방금 생성했던 KMS 키를 선택할 수 있다.
이렇게 복사된 스냅샷을 Target 계정에 공유하면
[스냅샷] - [나와 공유됨] 여기서 공유된 스냅샷을 확인할 수 있다. 이 스냅샷을 바로 사용할 수 있는건 아니다.
공유된 스냅샷을 [스냅샷 복사]하면 아까와 마찬가지로 KMS 관련 부분이 있는데, 아까 Source 계정에서 만들었던 KMS의 ARN 정보를 입력해주면 된다.
마침내 만들어진 스냅샷을 복원하면 Target 계정에서 기존의 사용하던 데이터를 그대로 사용할 수 있다! 다만 인스턴스를 그대로 가져오는 것은 아니므로 인스턴스 스펙이나 네트워크 관련 설정 등은 다시 해줘야 한다.