Summary
RDS의 MariaDB Upgrade 대상은 아래와 같습니다.
1. ****-mariadb-2
2. ****-mssql-1
위 Upgrade 대상의 MariaDB는 암호화가 활성화 되어 있으며
AWS KMS 키는 ---> aws/rds 입니다. # AWS 관리형
위 두 개의 데이터베이스의 스냅샷을 다른 계정과 공유하는 절차는 어떻게 되나요?
* AWS KMS 키를 갖고 있는 RDS를 다른 계정으로 이동하여 복원하는 것이 최종 목적입니다.
Solution
먼저, 기본 AWS KMS 암호화 키를 사용하여 암호화된 스냅샷은 공유할 수 없습니다.
따라서 하기의 두 RDS 는 문의 주신 것과 같이 기본 AWS KMS 암호화 키를 사용 중이며,
다른 계정으로 스냅샷을 공유하실 수 없습니다.
****-mariadb-2
****-mssql-1
기본 AWS KMS 암호화 키를 사용한 RDS 는 다른 계정으로 스냅샷 공유가 불가능 하기 때문에,
다른 사용자 지정 키로 변경하셔야 합니다.
Amazon RDS DB 인스턴스에서 사용하는 암호화 키는 변경할 수 없습니다.
하지만 RDS DB 인스턴스의 사본을 생성한 다음, 해당 사본에 새 암호화 키를 선택할 수는 있습니다.
따라서, CMK 키를 생성하시고, 해당 키로 현재 RDS에서 사용중인 기본 KMS 키를 생성하신 CMK 키로 변경하셔야 합니다.
[고객 관리형 키 생성]
1. 소스 계정에 로그인한 후 DB 스냅샷과 동일한 AWS 리전에서 AWS KMS 콘솔을 엽니다.
2. 탐색 창에서 [고객 관리형 키(Customer managed keys)]를 선택합니다.
3. 고객 관리형 키의 이름을 선택하거나 아직 해당 키가 없는 경우 [키 생성(Create key)]을 선택합니다.
4. [키 관리자(Key administrators)] 섹션에서 AWS KMS 키를 관리할 수 있는 AWS Identity and Access Management(IAM) 사용자 및 역할을 추가합니다.
키를 관리할 관리자를 선택 합니다. 이 관리자는 KMS 키에 관한 권한이 필요합니다.
5. [키 사용자(Key users)] 섹션에서 AWS KMS 키(KMS 키)를 사용하여 데이터를 암호화하고 복독화할 수 있는 IAM 사용자 및 역할을 추가합니다.
6. [다른 AWS 계정 (Other AWS accounts)] 섹션에서 [다른 AWS 계정 추가(Add another AWS account)]를 선택하고 대상 계정의 AWS 계정 번호를 입력합니다. 자세한 내용은 다른 계정의 사용자가 KMS 키를 사용하도록 허용을 참조하세요.
이후 아래 링크를 통하여 해당 RDS의 KMS 키를 사용자 지정 키로 변경하신 후 다른 계정으로 스냅샷을 공유하셔야 할 것으로 보여집니다.
# https://aws.amazon.com/ko/premiumsupport/knowledge-center/update-encryption-key-rds/
그 다음 고객 관리형 키를 사용하여 다른 계정으로 RDS 스냅샷을 공유하는 방법에 대해 안내 드립니다.
[스냅샷 복사 및 공유]
1. Amazon RDS 콘솔을 열고 탐색 창에서 [스냅샷(Snapshots)]을 선택합니다.
2. 생성한 스냅샷의 이름을 선택하고 [작업(Actions)]을 선택하고 [스냅샷 복사(Copy Snapshot)]를 선택합니다.
3. KMS 키가 있는 동일한 AWS 리전을 선택하고 새 DB 스냅샷 식별자를 입력합니다.
4. [암호화] 섹션에서 사용자가 생성한 KMS 키를 선택합니다.
5. [스냅샷 복사(Copy Snapshot)]를 선택합니다.
6. 대상 계정과 복사된 스냅샷을 공유합니다.
[공유 DB 스냅샷 복사]
1. 대상 계정에 로그인한 후 Amazon RDS 콘솔을 엽니다.
2. 탐색 창에서 [스냅샷(Snapshots)]을 선택합니다.
3. [스냅샷] 창에서 [나와 공유됨] 탭을 선택합니다.
4. 공유되는 DB 스냅샷을 선택합니다.
5. [작업]을 선택하고 [스냅샷 복사]를 선택하여 대상 계정의 KMS 키를 사용하여 동일한 AWS 리전으로 스냅샷을 복사합니다.
Reference
▶ 참고문서[1] : Sharing a DB snapshot - Amazon Relational Database Service
▶ 참고문서[2] : https://www.youtube.com/watch?v=gFkguN0y_ho