DynamoDB에서 특정 시점 복구 사용 - Amazon DynamoDB

DynamoDB에서 특정 시점 복구 사용

Amazon DynamoDB의 PITR(특정 시점으로 복구)을 통해 DynamoDB 테이블 데이터를 자동으로 백업할 수 있습니다. 이 단원에서는 DynamoDB에서 이 프로세스가 어떻게 작동하는지 간략히 살펴봅니다.

참고

DynamoDB는 테이블 데이터 및 로컬 보조 인덱스를 포함하여 각 DynamoDB 테이블의 크기를 기준으로 PITR 요금을 부과합니다. 구성된 최대 복구 기간은 PITR을 켜는 데 부과되는 요금에 영향을 주지 않습니다. 백업 요금을 결정하기 위해 DynamoDB는 PITR이 켜진 테이블의 크기를 지속적으로 모니터링합니다. 각 테이블의 PITR을 끄기 전까지는 PITR 사용량에 대한 요금이 청구됩니다.

특정 시점으로 복구 활성화

AWS Management Console, AWS Command Line Interface(AWS CLI) 또는 DynamoDB API를 사용하여 특정 시점으로 복구를 활성화할 수 있습니다. 특정 시점으로 복구가 활성화되면 사용자가 명시적으로 이 기능을 끌 때까지 지속적으로 백업됩니다.

특정 시점으로 복구를 활성화한 뒤에는 EarliestRestorableDateTimeLatestRestorableDateTime 사이의 원하는 시점으로 복원할 수 있습니다. LatestRestorableDateTime은 일반적으로 현재 시간으로부터 5분 전입니다. 자세한 내용은 DynamoDB 테이블을 특정 시점으로 복원 단원을 참조하십시오.

참고

특정 시점으로 복구 프로세스는 항상 새 테이블로 복원됩니다.

PITR 활성화(콘솔)

DynamoDB 콘솔을 사용하여 PITR을 활성화하려면
  1. DynamoDB 콘솔로 이동합니다.

  2. 왼쪽 탐색 메뉴에서 테이블을 선택하고 DynamoDB 테이블을 선택합니다.

  3. 백업 탭에서 시점 복구 옵션에 대해 편집을 선택합니다.

  4. 시점 복구 켜기를 선택합니다.

  5. 백업 복구 기간으로 1~35 사이의 값을 선택합니다. 이는 연속 백업을 복구할 수 있는 최대 기간을 나타냅니다.

PITR 활성화(AWS CLI)

참고

AWS CLI 명령을 실행할 때 오류가 발생하는 경우 AWS CLI 오류 문제 해결을 참조하세요. 최신 AWS CLI 버전을 사용해야 합니다.

point-in-time-recovery-specification 설정을 켠 상태에서 update-continuous-backups 명령을 실행합니다.

aws dynamodb update-continuous-backups \ --table-name Music \ --point-in-time-recovery-specification PointInTimeRecoveryEnabled=true,RecoveryPeriodInDays=35

PITR 활성화(AWS CloudFormation)

PointInTimeRecoverySpecification 속성이 켜진 상태에서 AWS::DynamoDB::Table 리소스를 사용합니다.

Resources: iotCatalog: Type: AWS::DynamoDB::Table Properties: ... PointInTimeRecoverySpecification: PointInTimeRecoveryEnabled: true RecoveryPeriodInDays: 35

요청 구문 예시:

{ "PointInTimeRecoverySpecification": { "PointInTimeRecoveryEnabled": boolean, "RecoveryPeriodInDays: number }, "TableName": "string" }

PITR 활성화(API)

PointInTimeRecoverySpecification 파라미터를 켠 상태에서 UpdateContinuousBackups API 작업을 실행합니다.

요청 구문 예시:

{ "PointInTimeRecoverySpecification": { "PointInTimeRecoveryEnabled": boolean, "RecoveryPeriodInDays" : number }, "TableName": "string" }

응답 구문 예시:

{ "ContinuousBackupsDescription": { "ContinuousBackupsStatus": "string", "PointInTimeRecoveryDescription": { "PointInTimeRecoveryStatus": "string", "EarliestRestorableDateTime": number, "RecoveryPeriodInDays": number, "LatestRestorableDateTime": number } } }

Python

import boto3 dynamodb = boto3.client('dynamodb') response = dynamodb.update_continuous_backups( TableName=<table_name>, PointInTimeRecoverySpecification={ 'PointInTimeRecoveryEnabled': True, 'RecoveryPeriodInDays': 35 } )

PITR 편집

테이블에서 PITR 설정을 편집하고 복구 기간을 변경할 수 있습니다. 복구 기간을 변경하고 이전에 설정한 값보다 높은 값으로 늘리는 경우 EarliestRestorePoint가 즉시 변경되지 않습니다. 복구 기간은 롤링 기간이므로 DynamoDB는 새로 늘어난 기간에 도달할 때까지 자동 백업을 계속 수행합니다. 복구 기간을 변경하고 이전에 설정한 값보다 낮은 값으로 줄이는 경우 EarliestRestorePoint가 복구 기간과 일치하도록 즉시 감소하며 새 설정 값을 벗어나는 연속 백업은 복구할 수 없게 됩니다.

PITR이 활성화된 테이블 삭제

특정 시점으로 복구가 활성화된 테이블을 삭제하면 DynamoDB는 시스템 백업이라는 백업 스냅샷을 자동으로 생성하고 35일 동안 유지합니다(추가 비용 없음). 시스템 백업을 사용하면 삭제된 테이블을 삭제 시점 전의 상태로 복원할 수 있습니다. 모든 시스템 백업은 표준 이름 지정 규칙인 table-name$DeletedTableBackup을 따릅니다.

참고

시점 복구가 활성화된 테이블이 삭제되면 시스템 백업을 사용하여 해당 테이블을 단일 시점으로 복원할 수 있습니다. 시스템 백업은 테이블 삭제 시 생성되며 테이블이 삭제되기 직전의 테이블 스냅샷입니다.