SQL Server를 실행하는 Amazon RDS DB 인스턴스의 기본 백업을 수행하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 6월 27일

SQL Server를 실행하는 Amazon Relational Database Service(Amazon RDS) DB 인스턴스의 기본 백업을 수행하려면 어떻게 해야 합니까? Amazon Simple Storage Service(Amazon S3)에서 백업 파일을 저장하고 백업 파일을 사용하여 RDS DB 인스턴스를 복원해야 합니다. 어떻게 해야 합니까?

간략한 설명

Amazon RDS는 Microsoft SQL Server 데이터베이스의 기본 백업 및 복원을 지원합니다. 온프레미스 데이터베이스의 전체 백업을 만들고 Amazon S3에 파일을 저장하고 백업 파일을 SQL Server를 실행 중인 기존 Amazon RDS DB 인스턴스에서 복원합니다. 또한 이 백업 파일을 온프레미스 서버 또는 SQL 서버를 실행하는 다른 Amazon RDS DB 인스턴스에서 복원할 수 있습니다.

해결 방법

SQL Server 데이터베이스의 기본 백업을 설정하려면 다음 서비스를 사용합니다.

  • 백업 파일을 저장할 Amazon S3 버킷
  • 버킷에 액세스하는 AWS Identity and Access Management(IAM) 역할
  • DB 인스턴스의 옵션 그룹에 추가된 [SQLSERVER_BACKUP_RESTORE] 옵션

참고: RDS DB 인스턴스와 동일한 리전에 S3 버킷을 생성합니다.

  1. Amazon RDS 콘솔을 열고 탐색 창에서 [Option Groups]를 선택합니다. [Create Group]을 선택하고 이름, 설명, 엔진 및 서버 엔진 버전을 입력합니다. 그리고 [생성]을 선택합니다.
  2. 생성한 옵션 그룹을 선택한 다음 [Add Option]을 선택합니다. "SQLSERVER_BACKUP_RESTORE "를 선택합니다. 모범 사례로서 새 IAM 역할을 생성하고 [Add Option]을 선택하여 사용자 IAM 역할이 필수 권한을 갖도록 합니다. S3 버킷을 선택하거나 새 S3 버킷을 생성합니다. 그런 다음 [Apply Immediately] 및 [Add Option]을 선택합니다.
  3. 탐색 창에서 [데이터베이스]를 선택하여 옵션 그룹을 DB 인스턴스에 연결하고 백업할 인스턴스를 선택합니다. [Actions]를 선택하고 [Modify]를 선택합니다.
  4. [Database Options]에서 생성한 옵션 그룹을 선택하고 [Apply Immediately] 및 [계속]을 선택합니다. 정보를 검토한 후 [Modify DB Instance]를 선택합니다. 이 옵션 그룹 수정은 인스턴스를 재부팅할 필요가 없기 때문에 가동 중단 시간이 없습니다.
  5. 상태가 [modifying]에서 [available]로 변경되면 DB 인스턴스가 SQL Server Management Studio를 통해 연결되고 [New Query]를 선택합니다. 다음 SQL 문에서 하나를 입력하여 원하는 데이터베이스 백업을 시작합니다.

암호화되지 않은 데이터베이스 백업 시작

exec msdb.dbo.rds_backup_database 
@source_db_name='database_name', @s3_arn_to_backup_to='arn:aws:s3:::bucket_name/file_name_and_extension', 
@overwrite_S3_backup_file=1;

암호화된 데이터베이스 백업 시작

exec msdb.dbo.rds_backup_database 
@source_db_name='database_name', 
@s3_arn_to_backup_to='arn:aws:s3:::bucket_name/file_name_and_extension', @kms_master_key_arn='arn:aws:kms:region:
account-id:key/key-id', 
@overwrite_S3_backup_file=1;

참고: 이 예제에 나열된 database_name, bucket_name, file_name_and_extension, region, account-id, key-id를 교체하여 시나리오에 일치시킵니다. S3 버킷에 생성된 백업 파일을 사용하여 새 RDS DB 인스턴스를 복원할 수 있습니다. rds_backup_database 또는 rds_restore_database 저장 프로시저를 호출하면 작업이 시작되고 작업에 대한 정보를 출력합니다.

작업 수명 주기 상태가 SUCCESS가 되면 작업이 완료된 것입니다. 그런 다음 Amazon S3 콘솔을 열고 생성한 백업이 있는 버킷을 선택하고 새 백업 파일을 볼 수 있습니다. 이 파일을 다운로드하거나 이 파일을 사용하여 새 RDS DB 인스턴스를 복원할 수 있습니다.

다음 SQL 문 중 하나를 사용하여 S3 버킷에서 사용 가능한 백업 파일을 복원할 수 있습니다.

암호화되지 않은 데이터베이스 복원

exec msdb.dbo.rds_restore_database 
@restore_db_name='database_name', 
@s3_arn_to_restore_from='arn:aws:s3:::bucket_name/file_name_and_extension';

암호화된 데이터베이스 복원

exec msdb.dbo.rds_restore_database 
@restore_db_name='database_name', 
@s3_arn_to_restore_from='arn:aws:s3::: bucket_name/file_name_and_extension', 
@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id'; 

문의 백업 또는 복원을 수행한 후에 작업 ID를 가져올 수 있습니다. 또는 다음 스크립트를 사용하여 특정 데이터베이스에 대해 모든 완료된 작업 및 보류 중인 작업을 식별할 수 있습니다.

exec msdb.dbo.rds_task_status @db_name='database_name'

작업의 상태를 추적하려면 이 SQL 문을 사용합니다.

exec msdb..rds_task_status @task_id= 5

잠재적 오류 및 솔루션 목록은 Microsoft SQL Server Enterprise 워크로드를 Amazon RDS로 마이그레이션하기를 참조하십시오.


이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?