스냅샷 및 복구 시점 작업
스냅샷 및 복구 시점 작업
서버리스 스냅샷에는 네임스페이스 내의 모든 객체 및 데이터가 포함됩니다. 다음과 같은 세 가지 시나리오로 스냅샷을 복원할 수 있습니다.
-
서버리스 스냅샷을 서버리스 네임스페이스로 복원합니다.
-
서버리스 스냅샷을 프로비저닝된 클러스터로 복원합니다.
-
프로비저닝된 클러스터 스냅샷을 서버리스 네임스페이스로 복원합니다.
Amazon Redshift Serverless 콘솔에서 생성한 스냅샷을 프로비저닝된 Amazon Redshift 클러스터로 복원할 수 있습니다. 이렇게 하면 사용할 노드 유형(예: RA3)과 노드 수를 선택하여 클러스터 또는 노드 수준에서 설정을 제어할 수 있습니다. 복원을 시작하려면 Amazon Redshift Serverless 콘솔에서 스냅샷을 선택한 다음 복원할 프로비저닝된 클러스터의 ID를 지정합니다.
프로비저닝된 클러스터 스냅샷을 서버리스 네임스페이스로 복원하려면 Redshift 프로비저닝된 콘솔에서 시작하여 복원할 스냅샷을 선택한 다음 스냅샷에서 복원(Restore from snapshot), 서버리스 네임스페이스로 복원(Restore to serverless)을 선택합니다. Amazon Redshift는 프로비저닝된 클러스터 스냅샷을 서버리스 네임스페이스로 복원할 때 인터리브된 키가 있는 테이블을 복합 정렬 키로 변환합니다. 정렬 키에 대한 자세한 내용은 정렬 키 작업을 참조하세요.
스냅샷을 서버리스 네임스페이스로 복원하면 데이터베이스가 스냅샷의 데이터베이스로 바뀝니다. 또한 약 30분마다 생성되고 24시간 동안 유지되는 복구 시점을 서버리스 네임스페이스로 복원할 수도 있습니다.
스냅샷을 서버리스 네임스페이스로 복원하는 작업은 두 단계로 완료됩니다. 첫 번째 단계는 몇 분 안에 완료되며, 데이터를 네임스페이스로 복원하고 쿼리에 사용할 수 있도록 합니다. 복원의 두 번째 단계에서는 데이터베이스가 튜닝되며 이로 인해 경미한 성능 문제가 나타날 수 있습니다. 두 번째 단계는 몇 시간에서 며칠, 어떤 경우에는 몇 주까지 지속될 수 있습니다. 지속 시간은 데이터 크기에 따라 다르지만 데이터베이스가 튜닝됨에 따라 성능은 점진적으로 향상됩니다. 이 단계가 끝나면 서버리스 네임스페이스가 완전히 튜닝되어 성능 문제 없이 쿼리를 제출할 수 있습니다.
추가 컨텍스트를 추가하려는 경우 스냅샷 및 복구 지점에 메타데이터 및 정보를 제공하는 키-값 쌍으로 스냅샷 및 복구 지점에 태그를 지정할 수 있습니다. 리소스 태그 지정에 대한 자세한 내용은 리소스 태그 지정 개요 단원을 참조하세요.
또한 다른 AWS 계정과 스냅샷을 공유하여 해당 계정이 스냅샷 내의 데이터에 액세스하고 쿼리를 실행할 수 있습니다.
Amazon Redshift Serverless 콘솔에서 세부 정보 페이지를 통해 또는 Amazon Redshift Serverless API 작업 ListSnapshots
또는 AWS CLI 작업 list-snapshots
를 호출하여 스냅샷의 세부 정보를 봅니다. Amazon Redshift Serverless 콘솔에는 복구 시점에 대한 세부 정보 페이지도 포함되어 있습니다. list-recovery-points
의 AWS CLI 또는 ListRecoveryPoints
API 작업을 호출하여 해당 정보를 볼 수도 있습니다.
스냅샷
Amazon Redshift Serverless 콘솔에서 생성한 스냅샷을 작업 그룹과 연결된 사용 가능한 네임스페이스로 복원할 수 있습니다. 네임스페이스는 쿼리 또는 수정할 준비가 되면 사용할 수 있습니다. AWS 관리형 KMS 키로 암호화된 스냅샷은 서버리스 네임스페이스로 복원할 수 없습니다.
Amazon Redshift Serverless 콘솔에서 모든 스냅샷 목록을 보려면 데이터 백업(Data backup)을 선택합니다.
스냅샷을 생성하려면
Amazon Redshift Serverless 콘솔에서 데이터 백업(Data backup)을 선택합니다.
스냅샷 생성(Create snapshot)을 선택합니다.
스냅샷을 생성할 네임스페이스를 선택합니다.
스냅샷 식별자를 입력합니다.
(선택 사항) 보존 기간을 선택합니다. 사용자 지정 값(Custom value)을 선택한 경우 일수를 선택합니다. 1일부터 3653일까지 범위에서 값을 선택해야 합니다. 기본값은 무기한 유지입니다.
생성을 선택합니다.
네임스페이스 구성에서 스냅샷을 생성하려면
Amazon Redshift Serverless 콘솔에서 네임스페이스 구성(Namespace configuration)을 선택합니다.
스냅샷을 생성할 네임스페이스를 선택합니다. 작업 그룹과 연결되어 있고 사용 가능(Available) 상태인 네임스페이스의 스냅샷만 생성할 수 있습니다.
데이터 백업(Data backup) 탭을 선택합니다.
스냅샷 생성(Create snapshot)을 선택합니다.
스냅샷 식별자를 입력합니다.
(선택 사항) 보존 기간을 선택합니다. 사용자 지정 값(Custom value)을 선택한 경우 일수를 선택합니다. 1일부터 3653일까지 범위에서 값을 선택해야 합니다.
생성을 선택합니다.
스냅샷을 서버리스 네임스페이스로 복원하려면
Amazon Redshift Serverless 콘솔에서 데이터 백업(Data backup)을 선택합니다.
복원할 스냅샷을 선택합니다. 한 번에 하나의 스냅샷만 복원할 수 있습니다.
작업(Actions), 서버리스 네임스페이스로 복원(Restore to serverless namespace)을 선택합니다.
복원할 사용 가능한 네임스페이스를 선택합니다. 상태가 사용 가능(Available)인 네임스페이스로만 복원할 수 있습니다.
복원(Restore)을 선택합니다.
스냅샷을 프로비저닝된 클러스터로 복원하려면
Amazon Redshift Serverless 콘솔에서 데이터 백업(Data backup)을 선택합니다.
복원할 스냅샷을 선택합니다.
작업(Action), 프로비저닝된 클러스터로 복원(Restore to provisioned cluster)을 선택합니다.
클러스터 식별자를 입력합니다.
노드 유형(Node type)을 선택합니다. 노드 수는 노드 유형에 따라 다릅니다.
콘솔 페이지의 지침에 따라 클러스터 구성(Cluster configuration)에 속성을 입력합니다. 자세한 내용은 클러스터 생성을 참조하십시오.
스냅샷의 보존 기간을 업데이트하려면
Amazon Redshift Serverless 콘솔에서 데이터 백업(Data backup)을 선택합니다.
업데이트할 스냅샷을 선택합니다.
작업(Actions), 수동 스냅샷 설정 지정(Set manual snapshot settings)을 선택합니다.
보존 기간을 선택합니다. 사용자 지정 값(Custom value)을 선택한 경우 일수를 선택합니다.
Save changes(변경 사항 저장)를 선택합니다.
스냅샷을 삭제하는 방법
참고
다른 계정과 공유된 스냅샷은 삭제할 수 없습니다. 스냅샷을 삭제하기 전에 먼저 해당 계정의 스냅샷에 대한 액세스 권한을 제거해야 합니다.
Amazon Redshift Serverless 콘솔에서 데이터 백업(Data backup)을 선택합니다.
삭제할 스냅샷을 선택합니다.
작업(Actions), 삭제(Delete)를 선택합니다.
삭제를 선택합니다.
네임스페이스를 삭제하기 전에 네임스페이스 내의 모든 데이터에 대한 최종 스냅샷을 생성합니다.
Amazon Redshift Serverless 콘솔에서 네임스페이스 구성(Namespace configuration)을 선택합니다.
삭제할 네임스페이스를 선택합니다.
작업(Actions), 삭제(Delete)를 선택합니다.
최종 스냅샷 생성(Create final snapshot)을 선택합니다.
스냅샷 이름을 입력합니다.
delete를 입력합니다.
삭제를 선택합니다.
다른 AWS 계정과 스냅샷을 공유하거나 스냅샷에 대한 계정의 액세스 권한을 제거하려면 다음과 같이 하세요.
Amazon Redshift Serverless 콘솔에서 데이터 백업(Data backup)을 선택합니다.
공유할 스냅샷을 선택합니다.
작업(Actions), 액세스 관리(Manage access)를 선택합니다.
다른 계정과 스냅샷을 공유하려면 AWS 계정 ID를 입력합니다. 계정에서 액세스 권한을 제거하려면 제거를 선택합니다.
Save changes(변경 사항 저장)를 선택합니다.
프로비저닝된 클러스터의 스냅샷에 대한 자세한 내용은 Amazon Redshift 관리 가이드의 Amazon Redshift 스냅샷 섹션을 참조하세요.
복구 시점
Amazon Redshift Serverless의 복구 시점은 약 30분마다 생성되고 24시간 동안 저장됩니다.
Amazon Redshift Serverless 콘솔에서 데이터 백업(Data backup)을 선택하여 복구 시점을 관리합니다. 다음 작업을 사용할 수 있습니다.
복구 시점을 서버리스 네임스페이스로 복원합니다.
복구 시점을 스냅샷으로 변환합니다.
복구 시점을 서버리스 네임스페이스로 복원하려면
Amazon Redshift Serverless 콘솔에서 데이터 백업(Data backup)을 선택합니다.
복구 시점(Recovery points) 아래에서 복원할 복구 시점의 생성 시간(Creation time)을 선택합니다.
복원(Restore)을 선택합니다. 상태가 사용 가능(Available)인 네임스페이스로만 복원할 수 있습니다.
텍스트 입력 필드에 복원(restore)을 입력하고 복원(Restore)을 선택합니다.
복구 시점을 스냅샷으로 변환하려면
Amazon Redshift Serverless 콘솔에서 데이터 백업(Data backup)을 선택합니다.
복구 시점(Recovery points) 아래에서 스냅샷을 변환할 복구 시점의 생성 시간(Creation time)을 선택합니다.
복구 시점에서 스냅샷 생성(Create snapshot from recovery point)을 선택합니다.
스냅샷 식별자(Snapshot identifier)를 입력합니다.
생성을 선택합니다.
스냅샷에서 테이블 복원
전체 스냅샷을 서버리스 네임스페이스로 복원하는 대신 스냅샷에서 특정 테이블을 복원할 수도 있습니다. 그렇게 할 때 소스 스냅샷, 데이터베이스, 스키마, 테이블 및 대상 데이터베이스, 스키마 및 새 테이블 이름을 지정합니다. 이 새 테이블은 기존 테이블과 동일한 이름을 가질 수 없습니다. 스냅샷에서 테이블을 복원하여 기존 테이블을 바꾸려면 테이블을 복원하기 전에 먼저 테이블의 이름을 바꾸거나 테이블을 삭제해야 합니다.
대상 테이블은 외래 키를 제외하고 원본 테이블의 열 정의, 테이블 속성 및 열 속성을 사용하여 생성됩니다. 종속성으로 인한 충돌을 방지하기 위해 대상 테이블은 원본 테이블에서 외래 키를 상속하지 않습니다. 뷰 또는 원본 테이블에서 부여된 권한 같은 종속성은 대상 테이블에 적용되지 않습니다.
원본 테이블의 소유자가 존재하는 경우, 해당 사용자가 복원된 테이블의 소유자가 됩니다. 단, 지정된 데이터베이스와 스키마에서 관계의 소유자가 되기에 충분한 권한이 있어야 합니다. 그렇지 않은 경우, 복원된 테이블은 클러스터가 시작될 때 생성된 관리자가 소유합니다.
복원된 테이블은 백업이 생성된 시점의 상태로 되돌아갑니다. 여기에는 Amazon Redshift의 직렬화 격리 준수에 의해 정의된 트랜잭션 가시성 규칙이 포함됩니다. 이는 백업 후 시작되는 인플라이트 트랜잭션을 즉시 볼 수 있음을 뜻합니다.
Amazon Redshift Serverless 콘솔을 사용하여 스냅샷에서 테이블을 복원할 수 있습니다.
스냅샷에서의 테이블 복원은 다음과 같은 제한이 있습니다.
-
한 번에 하나의 테이블만 복원할 수 있습니다.
-
뷰 또는 원본 테이블에서 부여된 권한 같은 종속성은 대상 테이블에 적용되지 않습니다.
-
복원하는 테이블에 대해 행 수준 보안이 켜져 있는 경우 Amazon Redshift Serverless에서 행 수준 보안이 켜진 상태로 테이블을 복원합니다.
Amazon Redshift Serverless 콘솔을 이용하여 스냅샷에서 테이블을 복원하려면
Amazon Redshift Serverless 콘솔에서 데이터 백업(Data backup)을 선택합니다.
복원할 스냅샷을 선택합니다.
Action(작업), Restore table from snapshot(스냅샷에서 테이블 복원)을 선택합니다.
소스 스냅샷 및 대상 테이블에 대한 정보를 입력한 후 Restore table(테이블 복원)을 선택합니다.
AWS Command Line Interface 및 Amazon Redshift Serverless API를 사용한 스냅샷 및 복구 시점 관리
AWS 콘솔을 사용하는 것 외에도 AWS CLI 또는 Amazon Redshift Serverless API를 사용하여 스냅샷 및 복구 시점과 상호 작용할 수 있습니다.
스냅샷을 생성하려면 AWS Command Line Interface 작업 create-snapshot을 사용합니다. 또한 Amazon Redshift Serverless API 작업 CreateSnapshot
을 사용할 수도 있습니다. 스냅샷은 네임스페이스와 연결되어야 하므로 요청에 네임스페이스 이름을 포함해야 합니다. Amazon Redshift Serverless는 기본적으로 스냅샷을 무기한 유지하지만 요청에 보존 기간을 지정할 수 있습니다.
스냅샷을 복원하려면 restore-from-snapshot
또는 RestoreFromSnapshot
을 사용합니다. Amazon Redshift Serverless 스냅샷을 프로비저닝된 클러스터로 복원하는 경우에는 복구 중인 스냅샷의 snapshotArn
을 지정해야 합니다. 다른 방법으로, 서버리스에서 서버리스로 복원하려면 snapshotArn
또는 snapshotName
을 지정하되, 둘 다 지정하면 안 됩니다.
연결된 네임스페이스 또는 스냅샷 내부의 데이터 크기와 같은 스냅샷에 대한 정보를 검색하려면 AWS CLI 작업 get-snapshot
을 사용합니다. 또는 API 작업 GetSnapshot
을 사용할 수도 있습니다. 한 번에 여러 스냅샷에 대한 정보를 얻으려면 list-snapshots
또는 ListSnapshots
를 사용합니다.
스냅샷을 삭제하려면 CLI 작업 delete-snapshot
또는 API 작업 DeleteSnapshot
을 사용합니다.
복구 시점은 Amazon Redshift Serverless에서 자동으로 생성되므로 AWS CLI 또는 API 작업을 사용하여 복구 시점을 생성할 수 있습니다. restore-from-recovery-point
또는 RestoreFromRecoveryPoint
를 사용하여, 스냅샷에서 데이터를 복원하는 것처럼 복구 시점 내의 데이터를 네임스페이스로 복원할 수 있습니다. 또한 convert-recovery-point-to-snapshot
또는 ConvertRecoveryPointToSnapshot
을 사용하여 복구 시점을 스냅샷으로 변환할 수도 있습니다.
특정 복구 시점에 대한 정보를 보려면 get-recovery-point
또는 GetRecoveryPoint
를 사용합니다. 여러 복구 시점에 대한 정보를 검색하려면 list-recovery-points
또는 ListRecoveryPoints
를 사용합니다.