Amazon RDS에서 SQL Server 데이터베이스의 기본 백업을 수행하고 Amazon S3에 백업 파일을 저장하는 방법을 배우고 싶습니다. SQL Server를 실행하는 동일하거나 다른 RDS DB 인스턴스에 이러한 백업을 복원하는 방법을 알아보려고 합니다.
간략한 설명
Amazon RDS 백업을 사용하면 백업 파일을 Amazon Simple Storage Service(Amazon S3)에 저장할 수 있습니다. 데이터베이스 백업 파일을 사용하여 동일하거나 다른 Amazon RDS for SQL Server DB 인스턴스로 복원할 수도 있습니다.
Amazon RDS에서는 Microsoft SQL Server 데이터베이스에 대한 기본 백업과 복원을 지원합니다. 온프레미스 데이터베이스의 전체 백업을 생성하고 Amazon S3에 해당 파일을 저장할 수 있습니다. 그 후 SQL Server를 실행 중인 기존 Amazon RDS DB 인스턴스에 백업 파일을 복원할 수 있습니다. 또 이 백업 파일을 온프레미스 서버나 SQL Server를 실행하는 다른 Amazon RDS DB 인스턴스에 복원할 수 있습니다. 자세한 내용은 Microsoft 웹사이트의 백업 복원을 참조하세요.
해결 방법
기본 백업을 시작하기 전에 다음 구성 요소가 있는지 확인하세요.
SQL Server 데이터베이스의 기본 백업을 설정하려면 다음 단계에 따르세요.
- Amazon RDS 콘솔을 열고 탐색 창에서 옵션 그룹을 선택합니다.
- 그룹 생성을 선택하고 서버 이름, 설명, 엔진, 엔진 버전을 입력합니다.
- 생성을 선택합니다.
- 생성한 옵션 그룹을 선택하고 옵션 추가를 선택합니다.
- SQLSERVER_BACKUP_RESTORE을 선택합니다. 새 IAM 역할을 생성하고 옵션 추가를 선택해 IAM 역할에 필요한 권한을 부여하는 것이 좋습니다.
- S3 버킷을 선택하거나 새 S3 버킷을 생성합니다.
- 즉시 적용과 옵션 추가를 선택합니다.
- 탐색 창에서 데이터베이스를 선택해 옵션 그룹을 DB 인스턴스와 연결한 후 백업할 인스턴스를 선택합니다.
- 작업을 선택하고 수정을 선택합니다.
- 데이터베이스 옵션에서 생성한 옵션 그룹을 선택하고 즉시 적용과 계속을 선택합니다.
- 정보를 검토한 후 DB 인스턴스 수정을 선택합니다. 인스턴스 재부팅이 필요하지 않기 때문에 이 옵션 그룹을 수정할 때 가동 중지 시간이 없습니다.
- 상태가 수정 중에서 사용 가능으로 변경될 때까지 기다립니다. 그런 다음 RDS 인스턴스의 기본 사용자를 사용하여 SQL Server Management Studio를 통해 DB 인스턴스에 연결합니다.
- 새 쿼리를 선택하고, 다음 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를 내 시나리오에 맞게 바꾸세요. 사용자 데이터베이스를 새 RDS DB 인스턴스로 복원하려면 S3 버킷에서 생성된 백업 파일을 사용하세요. rds_backup_database 또는 rds_restore_database 저장 프로시저를 호출하면 작업이 시작되고 작업에 대한 정보가 출력됩니다.
작업의 수명 주기 상태가 SUCCESS로 표시되면 작업이 완료된 것입니다. 그러면 Amazon S3 콘솔을 열고 사용자 데이터베이스 백업을 생성한 버킷을 선택한 다음 백업 파일을 볼 수 있습니다. DB 인스턴스를 복원하려면 이 파일을 다운로드하거나 사용자 데이터베이스 백업 파일을 사용하세요. SQL Server DB 인스턴스용 동일한 Amazon RDS를 복원하거나 새 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로 마이그레이션하기를 참고하세요.
관련 정보
백업에 대한 소개
데이터 백업, 복원 및 내보내기
기본 백업과 복원을 사용해 SQL Server 데이터베이스 가져오기 및 내보내기