RDS for SQL Server의 트랜잭션 로그 백업 액세스
RDS for SQL Server의 트랜잭션 로그 백업 액세스
RDS for SQL Server에서 트랜잭션 로그 백업 파일을 나열하고 Amazon S3 버킷으로 복사하는 방법을 알아볼게요. 전체 백업 및 차등 백업과 조합해서 시점 복원(Point-in-Time Restore)을 할 수 있으니, 백업 관리가 훨씬 유연해져요.
출처: 문서
본문
RDS for SQL Server의 트랜잭션 로그 백업에 액세스하면 데이터베이스의 트랜잭션 로그 백업 파일을 나열하고 대상 Amazon S3 버킷으로 복사할 수 있어요. 트랜잭션 로그 백업을 Amazon S3 버킷에 복사하면 전체 및 차등 데이터베이스 백업과 함께 사용하여 데이터베이스의 시점 복원을 수행할 수 있어요. RDS 저장 프로시저(stored procedure)를 사용하여 트랜잭션 로그 백업에 대한 액세스를 설정하고, 사용 가능한 트랜잭션 로그 백업을 나열하고, 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 인스턴스에서 자동 백업이 활성화되어 있어야 하며, 백업 보존 기간이 하루 이상으로 설정되어 있어야 해요. 자동 백업 활성화 및 보존 정책 구성에 대한 자세한 내용은 자동 백업 활성화를 참조하세요.
- 소스 DB 인스턴스와 동일한 계정 및 리전에 Amazon S3 버킷이 있어야 해요. 트랜잭션 로그 백업 액세스를 활성화하기 전에 기존 Amazon S3 버킷을 선택하거나 트랜잭션 로그 백업 파일에 사용할 새 버킷을 생성하세요.
- Amazon RDS가 트랜잭션 로그 파일을 복사할 수 있도록 Amazon S3 버킷 권한 정책을 다음과 같이 구성해야 해요:
- 버킷의 객체 계정 소유권(account ownership) 속성을
Bucket Owner Preferred로 설정하세요. - 다음 정책을 추가하세요. 기본적으로 정책이 없으므로 버킷 액세스 제어 목록(ACL)을 사용하여 버킷 정책을 편집하고 추가해야 해요.
- 버킷의 객체 계정 소유권(account ownership) 속성을
다음 예시는 리소스를 지정하기 위해 ARN을 사용해요. 리소스 기반 신뢰 관계에서 SourceArn 및 SourceAccount 전역 조건 컨텍스트 키를 사용하여 서비스 권한을 특정 리소스로 제한하는 것을 권장해요. ARN 작업에 대한 자세한 내용은 Amazon 리소스 이름(ARN) 및 Amazon RDS의 Amazon Resource Names(ARN)을 참조하세요.
트랜잭션 로그 백업 액세스를 위한 Amazon S3 권한 정책 예시
- Amazon S3 버킷에 액세스하기 위한 AWS Identity and Access Management(IAM) 역할이 필요해요. 이미 IAM 역할이 있다면 그것을 사용할 수 있어요. AWS Management Console을 사용하여
SQLSERVER_BACKUP_RESTORE옵션을 추가할 때 새 IAM 역할을 자동으로 생성하도록 선택할 수 있어요. 또는 수동으로 새 역할을 만들 수도 있어요.SQLSERVER_BACKUP_RESTORE로 IAM 역할을 생성하고 구성하는 방법에 대한 자세한 내용은 네이티브 백업 및 복원을 위한 IAM 역할 수동 생성하기를 참조하세요. SQLSERVER_BACKUP_RESTORE옵션을 DB 인스턴스의 옵션 그룹에 추가해야 해요.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 읽기 전용 복제본이나 Multi-AZ DB 클러스터의 보조 인스턴스에서는 이러한 저장 프로시저를 실행할 수 없어요.
rds_tlog_backup_copy_to_S3저장 프로시저가 실행되는 동안 RDS for SQL Server DB 인스턴스가 재부팅되면, DB 인스턴스가 다시 온라인 상태가 될 때 작업이 자동으로 처음부터 다시 시작돼요. 재부팅 전 작업 실행 중 Amazon S3 버킷에 복사된 트랜잭션 로그 백업은 모두 덮어써져요.- Microsoft SQL Server 시스템 데이터베이스와
RDSAdmin데이터베이스는 트랜잭션 로그 백업 액세스를 위해 구성할 수 없어요. - SSE-KMS로 암호화된 버킷으로의 복사는 지원되지 않아요.