Amazon Redshift 서버리스 스냅샷을 다른 AWS 계정에 복사하고 복원하려면 어떻게 해야 합니까?
한 AWS 계정에서 다른 AWS 계정으로 Amazon Redshift 서버리스 스냅샷을 복사 및 복원하려고 합니다. 어떻게 해야 합니까?
해결 방법
Amazon Redshift 콘솔 또는 AWS Command Line Interface(AWS CLI)를 사용하여 한 AWS 계정에서 다른 AWS 계정으로 복사 및 복원을 수행합니다.
시작하기 전에 다음 사항을 고려하세요.
- Amazon Redshift 서버리스 네임스페이스로 스냅샷을 복원하려면 스냅샷이 사용 가능 상태이고 가용 워크그룹과 연결되어 있어야 합니다.
- 스냅샷에서 Amazon Redshift 서버리스 네임스페이스를 복원하면 모든 네임스페이스의 데이터베이스가 스냅샷의 데이터베이스로 변경됩니다.
- 복원 중에는 Amazon Redshift 서버리스를 사용할 수 없습니다.
Amazon Redshift 콘솔을 사용하여 복사 및 복원
Amazon Redshift 서버리스의 복구 지점을 소스 계정의 스냅샷으로 변환
- Amazon Redshift 콘솔을 엽니다.
- 탐색 창에서 Redshift 서버리스를 선택한 다음 데이터 백업를 선택합니다.
- 복원 지점에서 스냅샷으로 변환하려는 복원 지점의 생성 시간을 선택합니다.
- 복원 지점에서 스냅샷 생성을 선택합니다.
- 스냅샷 식별자와 보존 기간을 입력합니다.
- 생성을 선택합니다.
소스 계정의 스냅샷을 다른 AWS 계정과 공유
- Amazon Redshift 콘솔을 엽니다.
- 탐색 창에서 Redshift 서버리스를 선택한 다음 데이터 백업를 선택합니다.
- 이전에 생성한 스냅샷을 선택합니다.
- 작업, 액세스 관리를 선택합니다.
- AWS 계정 추가(서버리스 계정에 대한 액세스 제공 아래에 위치)을 선택하고 AWS 계정 ID(대상)를 입력합니다.
- 변경 사항 저장을 선택합니다.
대상 계정의 Amazon Redshift 서버리스 네임스페이스에 스냅샷 복구
- Amazon Redshift 콘솔을 엽니다.
- 탐색 창에서 Redshift 서버리스를 선택한 다음 데이터 백업를 선택합니다.
- 복원할 AWS 계정 ID에 공유된 스냅샷을 선택합니다. 한 번에 하나의 스냅샷만 복원할 수 있습니다.
- 작업, 서버리스 네임스페이스로 복원을 선택합니다.
- 복원할 가용 네임스페이스를 선택합니다. 사용 가능 상태의 네임스페이스만 복원할 수 있습니다.
- 복원을 선택합니다.
AWS CLI를 사용한 복사 및 복원
참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우 최신 버전의 AWS CLI를 사용하고 있는지 확인합니다.
Amazon Redshift 서버리스의 복구 지점을 소스 계정의 스냅샷으로 변환
1. list-recovery-points 명령을 사용하여 start-time 이후 생성된 스냅샷 목록을 확인합니다. 다음 명령을 실행하고 namespacename는 네임스페이스로, us-west-2는 AWS 리전으로, 그리고 starttime을 복수 시작 시간(UTC)으로 변경합니다.
aws redshift-serverless list-recovery-points --namespace-name <namespacename> --region <region name> --start-time <starttime>
다음 예제에서 Redshift 서버리스 클러스터는 미국 서부(오레곤) 지역에 위치하며 기본 네임스페이스이고 시작 시간이 2022-09-06T07:10(UTC)입니다.
aws redshift-serverless list-recovery-points --namespace-name default --region us-west-2 --start-time 2022-09-06T07:10
2. convert-recovery-point-to-snapshot 명령을 사용하여 스냅샷 및 보존 기간을 생성합니다. 다음 명령을 실행하고 RecoveryPointId를 1단계의 복구 지점 ID 출력으로, 일 수는 스냅샷을 보존할 기간(일), 스냅샷 이름을 스냅샷 이름으로, us-west-2를 AWS 리전으로 변경합니다.
aws redshift-serverless convert-recovery-point-to-snapshot --recovery-point-id <recoveryPointId> --retention-period <days> --snapshot-name <snapshot name> --region <region name>
다음 예에서는 스냅샷의 이름이 snapshot01이고 보존 기간이 3일이며 미국 서부(오레곤) 리전에 위치합니다**.**
aws redshift-serverless convert-recovery-point-to-snapshot --recovery-point-id 72acee50-34df-45f6-865f-46aa178ada82 --retention-period 3 --snapshot-name snapshot01 --region us-west-2
3. get-snapshot 명령을 사용하여 스냅샷 생성 여부를 확인합니다. 다음 명령을 실행하고 스냅샷 이름을 스냅샷 이름으로 바꿉니다.
aws redshift-serverless get-snapshot --snapshot-name <snapshot name>
소스 계정의 스냅샷을 다른 AWS 계정과 공유
put-resource-policy 명령을 사용하여 다른 AWS 계정에 스냅샷에 대한 액세스 권한을 제공합니다. 다음 명령을 실행하고 대상 계정 ID를 대상 AWS 계정 ID로 바꾸고 스냅샷 arn을 스냅샷의 ARN으로 바꿉니다.
aws redshift-serverless put-resource-policy --policy "{\"Version\": \"2012-10-17\", \"Statement\" : [{ \"Sid\": \"AllowUserRestoreFromSnapshot\", \"Principal\":{\"AWS\": [\”<destination account ID>\”]}, \"Action\": [\"redshift-serverless:RestoreFromSnapshot\"] , \"Effect\": \"Allow\" }]}" --resource-arn <snapshot arn>
다음 예에서는 계정 번호 123456789012의 스냅샷 ARN에 대한 액세스 권한이 제공됩니다.
aws redshift-serverless put-resource-policy --policy "{\"Version\": \"2012-10-17\", \"Statement\" : [{ \"Sid\": \"AllowUserRestoreFromSnapshot\", \"Principal\":{\"AWS\": [\"123456789012\"]}, \"Action\": [\"redshift-serverless:RestoreFromSnapshot\"] , \"Effect\": \"Allow\" }]}" --resource-arn arn:aws:redshift-serverless:us-west-2:112233445566:snapshot/4978ca91-24ba-4196-91ad-9d372f72b0fe
대상 계정의 Amazon Redshift 서버리스 네임스페이스에 스냅샷 복구
1. list-snapshot 명령을 사용하여 AWS 리전의 스냅샷을 나열합니다. 다음 명령에서 eu-west-2을 사용자의 AWS 리전으로 바꿉니다.
aws redshift-serverless list-snapshots --region us-west-2
2. 스냅샷에서 restore-from-snapshot 명령을 사용하여 스냅샷을 Amazon Redshift 서버리스로 복원합니다. 다음 명령을 실행하고 스냅샷 이름을 스냅샷 이름으로, 워크그룹 이름을 워크그룹 이름으로, snapshot arn을 이전 명령의 스냅샷 ARN으로 바꿉니다.
aws redshift-serverless restore-from-snapshot --namespace-name <namespace name > --workgroup-name <workgroup name> --snapshot-arn <snapshot arn>
다음 예제에서 계정 ID 112233445566는 사용 가능 상태의 Amazon Redshift 서버리스와 복원이라는 이름의 네임스페이스, 복원이라는 이름의 사용자 그룹을 포함합니다.
aws redshift-serverless restore-from-snapshot --namespace-name restore --workgroup-name restore --snapshot-arn arn:aws:redshift-serverless:us-west-2:112233445566:snapshot/4978ca91-24ba-4196-91ad-9d372f72b0fe

관련 콘텐츠
- 질문됨 3달 전lg...
- 질문됨 4달 전lg...
- 질문됨 3달 전lg...
- 질문됨 9달 전lg...
- AWS 공식업데이트됨 9달 전
- AWS 공식업데이트됨 2달 전
- AWS 공식업데이트됨 2년 전
- AWS 공식업데이트됨 2년 전