RDS for SQL Server를 사용하여 트랜잭션 로그 백업에 액세스
RDS for SQL Server 트랜잭션 로그 백업에 액세스하면 데이터베이스의 트랜잭션 로그 백업 파일을 나열하고 대상 Amazon S3 버킷에 복사할 수 있습니다. Amazon S3 버킷의 트랜잭션 로그 백업을 복사하면 전체 및 차등 데이터베이스 백업과 함께 사용하여 특정 시점 데이터베이스 복원을 수행할 수 있습니다. RDS 저장 프로시저를 사용하여 트랜잭션 로그 백업에 대한 액세스를 설정하고, 사용 가능한 트랜잭션 로그 백업을 나열하고, 이를 Amazon S3 버킷에 복사합니다.
트랜잭션 로그 백업에 대한 액세스가 제공하는 기능과 이점은 다음과 같습니다.
RDS for SQL Server DB 인스턴스에 있는 데이터베이스의 사용 가능한 트랜잭션 로그 백업의 메타데이터를 나열하고 볼 수 있습니다.
RDS for SQL Server에서 대상 Amazon S3 버킷으로 사용 가능한 트랜잭션 로그 백업을 복사합니다.
전체 DB 인스턴스를 복원할 필요 없이 특정 시점 데이터베이스 복원을 수행합니다. DB 인스턴스 특정 시점 복원에 대한 자세한 내용은 Amazon RDS에서 DB 인스턴스를 지정된 시간으로 복원을 참조하세요.
가용성 및 지원
트랜잭션 로그 백업에 대한 액세스는 모든 AWS 리전에서 지원합니다. 트랜잭션 로그 백업에 대한 액세스는 Amazon RDS에서 지원되는 모든 버전의 Microsoft SQL Server에서 사용할 수 있습니다.
요구 사항
트랜잭션 로그 백업에 대한 액세스를 활성화하려면 먼저 다음 요구 사항을 충족해야 합니다.
-
DB 인스턴스에서 자동 백업을 활성화하고 백업 보존을 1일 이상의 값으로 설정해야 합니다. 자동 백업 활성화 및 보존 정책 구성에 대한 자세한 내용은 자동 백업 활성화을 참조하세요.
-
Amazon S3 버킷이 소스 DB 인스턴스와 동일한 계정 및 리전에 있어야 합니다. 트랜잭션 로그 백업에 대한 액세스를 활성화하기 전에 트랜잭션 로그 백업 파일에 사용할 기존 Amazon S3 버킷을 선택하거나 새 버킷을 생성합니다.
-
Amazon RDS가 트랜잭션 로그 파일을 복사할 수 있도록 Amazon S3 버킷 권한 정책을 다음과 같이 구성해야 합니다.
버킷의 객체 계정 소유권 속성을 Bucket Owner Preferred(버킷 소유자 선호)로 설정합니다.
다음 정책을 추가합니다. 기본적으로 정책이 없으므로 버킷 ACL(액세스 제어 목록)을 사용하여 버킷 정책을 편집하고 추가합니다.
다음 예에서는 ARN을 사용하여 리소스를 지정합니다. 서비스 권한을 특정 리소스로 제한하는 리소스 기반 신뢰 관계의
SourceArn
및SourceAccount
전역 조건 컨텍스트 키를 사용하는 것이 좋습니다. ARN 작업에 대한 자세한 내용은 Amazon 리소스 이름(ARN) 및 Amazon RDS의 Amazon 리소스 이름(ARN)을 참조하세요.예 트랜잭션 로그 백업 액세스를 위한 Amazon S3 권한 정책 예
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Only allow writes to my bucket with bucket owner full control", "Effect": "Allow", "Principal": { "Service": "backups.rds.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::
amzn-s3-demo-bucket
/{customer_path}
/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:sourceAccount": "{customer_account}", "aws:sourceArn": "{db_instance_arn}" } } } ] } -
Amazon S3 버킷에 액세스하기 위한 AWS Identity and Access Management(IAM) 역할. 이미 IAM 역할이 있으면 그 역할을 사용하면 됩니다. AWS Management Console을 사용하여
SQLSERVER_BACKUP_RESTORE
옵션을 추가할 때 새 IAM 역할이 생성되도록 선택할 수도 있습니다. 또는 수동으로 역할을 새로 만들 수 있습니다.SQLSERVER_BACKUP_RESTORE
를 사용하여 IAM 역할을 생성하고 구성하는 방법에 대한 자세한 내용은 기본 백업 및 복원을 위한 IAM 역할 수동으로 만들기을 참조하세요. -
DB 인스턴스의 옵션 그룹에
SQLSERVER_BACKUP_RESTORE
옵션을 추가해야 합니다.SQLSERVER_BACKUP_RESTORE
옵션 추가 방법에 대한 자세한 내용은 SQL Server에서 기본 백업 및 복원 지원을 참조하세요.참고
DB 인스턴스에 스토리지 암호화가 활성화된 경우 기본 백업 및 복원 옵션 그룹에 제공된 IAM 역할에 AWS KMS(KMS) 작업 및 키를 제공해야 합니다.
필요에 따라
rds_restore_log
저장 프로시저를 사용하여 특정 시점 데이터베이스 복원을 수행하려는 경우, 기본 백업 및 복원 옵션 그룹과 트랜잭션 로그 백업에 대한 액세스에 동일한 Amazon S3 경로를 사용하는 것이 좋습니다. 이 방법을 사용하면 Amazon RDS가 옵션 그룹의 역할을 맡아 복원 로그 기능을 수행할 때 동일한 Amazon S3 경로에서 트랜잭션 로그 백업을 검색할 수 있습니다. -
DB 인스턴스가 암호화된 경우 암호화 유형(AWS 관리형 키 또는 고객 관리형 키)과 관계없이 IAM 역할 및
rds_tlog_backup_copy_to_S3
저장 프로시저에 고객 관리형 KMS 키를 제공해야 합니다.
제한 및 권장 사항
트랜잭션 로그 백업에 대한 액세스에는 다음과 같은 제한 및 권장 사항이 있습니다.
-
백업 보존 기간이 1~35일로 구성된 DB 인스턴스의 경우 최대 지난 7일간의 트랜잭션 로그 백업을 나열하고 복사할 수 있습니다.
-
트랜잭션 로그 백업 액세스에 사용되는 Amazon S3 버킷은 소스 DB 인스턴스와 동일한 계정 및 리전에 있어야 합니다. 계정 간 및 리전 간 복사는 지원되지 않습니다.
-
하나의 Amazon S3 버킷만 트랜잭션 로그 백업을 복사할 대상으로 구성할 수 있습니다.
rds_tlog_copy_setup
저장 프로시저를 사용하여 새 대상 Amazon S3 버킷을 선택할 수 있습니다. 새 대상 Amazon S3 버킷 선택에 대한 자세한 내용은 트랜잭션 로그 백업에 대한 액세스 설정을 참조하세요. -
RDS 인스턴스에 스토리지 암호화가 활성화되지 않은 경우
rds_tlog_backup_copy_to_S3
저장 프로시저를 사용할 때 KMS 키를 지정할 수 없습니다. -
다중 계정 복사는 지원되지 않습니다. 복사에 사용되는 IAM 역할은 DB 인스턴스 소유자 계정 내의 Amazon S3 버킷에 대한 쓰기 액세스만 허용합니다.
-
RDS for SQL Server DB 인스턴스에서는 유형에 관계없이 두 개의 동시 작업만 실행할 수 있습니다.
-
지정된 시간에 단일 데이터베이스에 대해 하나의 복사 작업만 실행할 수 있습니다. DB 인스턴스에 있는 여러 데이터베이스의 트랜잭션 로그 백업을 복사하려면 각 데이터베이스마다 별도의 복사 작업을 사용하세요.
-
Amazon S3 버킷에 동일한 이름으로 이미 존재하는 트랜잭션 로그 백업을 복사하는 경우 기존 트랜잭션 로그 백업을 덮어씁니다.
-
기본 DB 인스턴스의 트랜잭션 로그 백업에 액세스할 수 있는 저장 프로시저만 실행할 수 있습니다. RDS for SQL Server 읽기 전용 복제본이나 다중 AZ DB 클러스터의 보조 인스턴스에서는 이러한 저장 프로시저를 실행할 수 없습니다.
-
rds_tlog_backup_copy_to_S3
저장 프로시저가 실행되는 동안 RDS for SQL Server DB 인스턴스를 재부팅하면 DB 인스턴스가 다시 온라인 상태가 될 때 작업이 처음부터 자동으로 다시 시작됩니다. 재부팅 전에 작업이 실행되는 동안 Amazon S3 버킷에 복사된 모든 트랜잭션 로그 백업이 덮어쓰기됩니다. -
Microsoft SQL Server 시스템 데이터베이스와
RDSAdmin
데이터베이스는 트랜잭션 로그 백업에 액세스하도록 구성할 수 없습니다. -
SSE-KMS로 암호화된 버킷에 복사하는 것은 지원되지 않습니다.