온프레미스 환경으로부터 KMS로 암호화된 백업 파일을 RDS for SQL Server에 복원하려면 어떻게 해야 합니까?
최종 업데이트 날짜: 2022년 10월 14일
AWS Key Management Service(AWS KMS)로 암호화된 백업 파일을 온프레미스 환경으로부터 Amazon Relational Database Service(Amazon RDS) for Microsoft SQL Server 인스턴스로 복원하려고 합니다. 기본 백업 및 복원 기능을 사용하여 이 작업을 수행하려면 어떻게 해야 하나요?
간략한 설명
AWS KMS 암호화는 AWS KMS 키를 사용하여 Microsoft SQL Server 백업 파일을 RDS for SQL Server에 안전하게 암호화합니다. 이 암호화된 백업을 다른 RDS for SQL Server 인스턴스에 복원할 수 있습니다.
해결 방법
참고: 다음 해결 방법을 시작하기 전에 다음을 생성했는지 확인하세요.
- Amazon Simple Storage Service(S3) 버킷.
- 고객 관리형 AWS KMS 키.
참고: Amazon RDS는 비대칭 AWS KMS 키를 지원하지 않습니다. - 기본 백업 복원을 수행하기 위해 사전 구성된 RDS 인스턴스. 자세한 내용은 SQL Server를 실행하는 Amazon RDS DB 인스턴스의 기본 백업을 수행하려면 어떻게 해야 합니까?를 참조하세요.
- 백업 파일 복호화를 위해 로컬 시스템에 설치된 Python 3.10
1. AWS KMS 키 파라미터(@kms_master_key_arn)를 지정하여 기본 백업에서 클라이언트 측 암호화를 시작합니다.
exec msdb.dbo.rds_backup_database @source_db_name='database-name',
@s3_arn_to_backup_to='arn:aws:s3:::bucket-name/Filename.bak',
@kms_master_key_arn='arn:aws:kms:us-east-1:account-id:key/xxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxxx1';
2. AWS KMS로 암호화된 백업을 동일한 리전 및 계정의 다른 RDS for SQL Server 인스턴스에서 복원합니다. 이렇게 하려면 다음 명령에서 백업을 암호화하는 데 사용한 것과 동일한 AWS KMS 키를 지정합니다.
exec msdb.dbo.rds_restore_database @restore_db_name='database-name',
@s3_arn_to_restore_from='arn:aws:s3:::bucket-name/Filename.bak',
@kms_master_key_arn='arn:aws:kms:us-east-1:account-id:key/xxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxxx1';
동일한 계정의 다른 리전에서 AWS KMS로 암호화된 백업 복원
AWS KMS로 암호화된 백업을 다른 리전의 동일한 계정에서 복원해야 하는 경우 다음을 수행합니다.
1. 다중 리전 AWS KMS 키를 생성합니다. 키 유형으로는 대칭 키를 선택해야 합니다.
2. 필요한 대상 리전의 복제본 키를 생성합니다.
3. 리전 A에 AWS KMS 키 파라미터(@kms_master_key_arn)를 지정하여 암호화된 기본 백업을 시작합니다.
exec msdb.dbo.rds_backup_database @source_db_name='database-name',
@s3_arn_to_backup_to='arn:aws:s3:::bucket-name/Filename.bak',
@kms_master_key_arn='arn:aws:kms:us-east-1:account-id:key/xxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxxx2';
4. 백업 파일을 동일한 리전의 S3 버킷에 복사합니다. Amazon RDS는 교차 리전 버킷을 지원하지 않습니다.
5. 백업을 암호화하는 데 사용한 것과 동일한 AWS KMS 키 ID를 지정하여 리전 B에서 AWS KMS로 암호화된 백업을 복원합니다.
참고: @kms_master_key_arn에 연결된 리전이 그에 따라 변경됩니다.
exec msdb.dbo.rds_restore_database ;@restore_db_name='database-name',
@s3_arn_to_restore_from='arn:aws:s3:::bucket-name/Filename.bak',
@kms_master_key_arn='arn:aws:kms:us-east-2:account-id:key/xxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxxx2';
온프레미스 환경, 교차 계정 또는 교차 리전에서 AWS KMS로 암호화된 백업 복원
다음 세 가지 시나리오에서는 백업을 복원하기 위한 해결 방법이 필요합니다.
- AWS KMS로 암호화된 데이터베이스 백업을 동일한 리전의 다른 계정(교차 계정)에서 복원해야 합니다. Amazon RDS는 교차 계정 AWS KMS 키 공유를 지원하지 않습니다. 즉, KMS 키 K1을 사용하여 계정 A의 백업을 암호화한 다음 동일한 키를 사용하여 계정 B에 백업을 복원할 수 없습니다.
- AWS KMS로 암호화된 데이터베이스 백업을 다른 리전 및 다른 계정(교차 리전 및 교차 계정)에 복원해야 합니다. Amazon RDS는 교차 계정 AWS KMS 키 공유 또는 교차 리전 버킷을 지원하지 않습니다.
- AWS KMS로 암호화된 데이터베이스 백업을 온프레미스 환경에서 복원해야 합니다. 온프레미스 환경은 외부 엔터티이기 때문에 AWS KMS 키 세부 정보를 인식하지 못합니다. 따라서 복원하기 전에 AWS KMS로 암호화된 파일을 복호화해야 합니다.
이러한 제한 사항에 대한 해결 방법은 Amazon RDS에 사용하기 위해 Microsoft SQL Server 백업의 클라이언트측 암호화 및 복호화에 있는 Amazon RDS for SQL Server에서 내보내기 섹션을 참조하세요.