

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon Keyspaces에 대한 시점 복구를 통한 데이터 백업 및 복원
<a name="PointInTimeRecovery"></a>

시점 복구(PITR)를 사용하면 테이블 데이터를 지속적으로 백업하여 우발적인 쓰기 또는 삭제 작업으로부터 Amazon Keyspaces 테이블을 보호할 수 있습니다.

예를 들어 테스트 스크립트가 프로덕션 Amazon Keyspaces 테이블에 우발적으로 데이터를 썼다고 가정합니다. 시점 복구를 사용하면 최근 35일 이내에 PITR이 활성화된 이후 원하는 시점으로 테이블 데이터를 복원할 수 있습니다. 시점 복구가 활성화된 상태에서 테이블을 삭제하면 35일 동안(추가 비용 없음) 삭제된 테이블의 데이터를 쿼리하고 삭제 시점 바로 이전 상태로 복원할 수 있습니다.

콘솔, AWS SDK 및 AWS Command Line Interface (AWS CLI) 또는 Cassandra 쿼리 언어(CQL)를 사용하여 Amazon Keyspaces 테이블을 특정 시점으로 복원할 수 있습니다. 자세한 내용은 [Amazon Keyspaces에서 시점 복구 사용](PointInTimeRecovery_Tutorial.md) 단원을 참조하십시오.

특정 시점 작업은 기본 테이블에 성능이나 가용성에 영향을 주지 않으며 테이블을 복원해도 처리량이 추가로 소모되지 않습니다.

PITR 할당량에 대한 자세한 내용은 [Amazon Keyspaces(Apache Cassandra용)에 대한 할당량](quotas.md) 섹션을 참조하세요.

요금에 대한 자세한 내용은 [Amazon Keyspaces(Apache Cassandra용) 요금](https://aws.amazon.com/keyspaces/pricing)을 참조하세요.

**Topics**
+ [Amazon Keyspaces에서 시점 복구가 작동하는 방식](PointInTimeRecovery_HowItWorks.md)
+ [Amazon Keyspaces에서 시점 복구 사용](PointInTimeRecovery_Tutorial.md)

# Amazon Keyspaces에서 시점 복구가 작동하는 방식
<a name="PointInTimeRecovery_HowItWorks"></a>

이 섹션에서는 Amazon Keyspaces의 시점 복구(PITR) 작동 방식에 대한 개요를 제공합니다. 요금에 대한 자세한 내용은 [Amazon Keyspaces(Apache Cassandra용) 요금](https://aws.amazon.com/keyspaces/pricing)을 참조하세요.

**Topics**
+ [PITR 연속 백업 기간](#howitworks_backup_window)
+ [PITR 복원 설정](#howitworks_backup_settings)
+ [암호화된 테이블의 PITR 복원](#howitworks_backup_encryption)
+ [다중 리전 테이블의 PITR 복원](#howitworks_backup_multiRegion)
+ [사용자 정의 유형(UDTs 있는 테이블의 PITR 복원](#howitworks_backup_udt)
+ [PITR을 사용한 테이블 복원 시간](#howitworks_restore_time)
+ [Amazon Keyspaces PITR 및 AWS 서비스와의 통합](#howitworks_integration)

## PITR 연속 백업 기간
<a name="howitworks_backup_window"></a>

Amazon Keyspaces PITR은 두 개의 타임스탬프를 사용하여 테이블에 대해 복원 가능한 백업을 사용할 수 있는 기간을 유지합니다.
+ 가장 빠른 복원 가능 시간 - 복원 가능한 가장 빠른 백업 시간을 표시합니다. 복원 가능한 가장 빠른 백업은 최대 35일 또는 PITR이 활성화된 날짜 중 더 최근 날짜로 거슬러 올라갑니다. 최대 백업 기간인 35일은 수정할 수 없습니다.
+ 현재 시간 - 복원 가능한 최신 백업의 타임스탬프는 현재 시간입니다. 복원 중에 타임스탬프가 제공되지 않은 경우 현재 시간이 사용됩니다.

PITR을 사용해서 `EarliestRestorableDateTime` 및 `CurrentTime` 사이의 시점으로 복원할 수 있습니다. 테이블 데이터는 PITR이 활성화된 시점으로만 복원할 수 있습니다.

PITR을 비활성화했다가 나중에 다시 활성화하면 사용 가능한 첫 번째 백업의 시작 시간이 PITR이 다시 활성화된 시간으로 재설정됩니다. 즉 PITR을 비활성화하면 백업 기록이 지워집니다.

**참고**  
테이블에 대한 데이터 정의 언어(DDL) 작업(예: 스키마 변경)은 비동기적으로 수행됩니다. 복원된 테이블 데이터에서는 완료된 작업만 볼 수 있지만 복원 당시 진행 중이었다면 소스 테이블에 추가 작업이 표시될 수 있습니다. DDL 문의 목록은 [Amazon Keyspaces의 DDL 문(데이터 정의 언어)](cql.ddl.md) 섹션을 참조하세요.

복원하기 위해 테이블을 활성화할 필요는 없습니다. 삭제된 테이블에서 PITR이 활성화되어 있고 백업 기간 내에(또는 지난 35일 이내) 삭제가 발생한 경우 삭제된 테이블을 복원할 수도 있습니다.

**참고**  
이전에 삭제한 테이블과 동일한 정규화된 이름(예: mykeyspace.mytable)으로 새 테이블을 생성하는 경우 삭제된 테이블을 더 이상 복원할 수 없습니다. 콘솔에서 이를 시도할 경우 경고가 표시됩니다.

## PITR 복원 설정
<a name="howitworks_backup_settings"></a>

PITR을 사용하여 테이블을 복원하는 경우 Amazon Keyspaces는 소스 테이블의 스키마 및 데이터를 선택한 타임스탬프(`day:hour:minute:second`)를 기반으로 한 상태로 새 테이블에 복원합니다. PITR은 기존 테이블을 덮어쓰지 않습니다.

테이블의 스키마와 데이터 외에도 PITR은 소스 테이블에서 `custom_properties`를 복원합니다. 가장 빠른 복원 시간과 현재 시간 사이의 선택한 타임스탬프를 기준으로 복원되는 테이블의 데이터와 달리 사용자 지정 속성은 항상 현재 시간을 기준으로 테이블의 설정을 기준으로 복원됩니다.

복원된 테이블의 설정은 복원이 시작된 시점의 타임스탬프가 있는 소스 테이블의 설정과 일치합니다. 복원 중 이러한 설정을 덮어쓰려는 경우 `WITH custom_properties`를 사용하여 덮어쓸 수 있습니다. 사용자 지정 속성에는 다음 설정이 포함됩니다.
+ 읽기/쓰기 용량 모드
+ 프로비저닝된 처리량 용량 설정
+ PITR 설정

테이블이 오토 스케일링이 활성화된 프로비저닝된 용량 모드에 있는 경우 복원 작업은 테이블의 오토 스케일링 설정도 복원합니다. CQL의 `autoscaling_settings` 파라미터를 사용하거나 CLI와 `autoScalingSpecification`을 사용하여 덮어쓸 수 있습니다. 오토 스케일링 설정에 대한 자세한 내용은 [Amazon Keyspaces 오토 스케일링으로 처리량 용량 자동 관리](autoscaling.md) 섹션을 참조하세요.

전체 테이블 복원을 수행하면 복원된 테이블의 모든 테이블 설정은 복원 시 원본 테이블의 현재 설정에서 가져옵니다.

예를 들어 테이블의 프로비저닝된 처리량이 최근에 읽기 용량 단위 50 및 쓰기 용량 단위 50으로 낮춰졌다고 가정합니다. 그런 다음 테이블 상태를 3주 전으로 복원합니다. 이 때 프로비저닝된 처리량은 읽기 용량 단위 100 및 쓰기 용량 단위 100으로 설정되었습니다. 이 경우 Amazon Keyspaces는 테이블 데이터를 해당 시점으로 복원하지만 현재 프로비저닝된 처리량 설정(읽기 용량 단위 50 및 쓰기 용량 단위 50)을 사용합니다.

다음 설정은 복원되지 않으므로 새 테이블에 맞게 수동으로 구성해야 합니다.
+ Amazon Keyspaces 변경 데이터 캡처(CDC) 스트림
+ AWS Identity and Access Management (IAM) 정책
+ Amazon CloudWatch 지표 및 경보
+ 태그(`WITH TAGS`를 사용하여 CQL `RESTORE` 문에 추가 가능)

## 암호화된 테이블의 PITR 복원
<a name="howitworks_backup_encryption"></a>

PITR을 사용하여 테이블을 복원할 때 Amazon Keyspaces는 소스 테이블의 암호화 설정을 복원합니다. 테이블이 AWS 소유 키 (기본값)으로 암호화된 경우 테이블은 동일한 설정으로 자동으로 복원됩니다. 복원하려는 테이블이 고객 관리형 키를 사용하여 암호화된 경우 테이블 데이터를 복원하려면 Amazon Keyspaces에서 동일한 고객 관리형 키에 액세스할 수 있어야 합니다.

복원 시 테이블의 암호화 설정을 변경할 수 있습니다. 에서 고객 관리형 키 AWS 소유 키 로 변경하려면 복원 시 유효하고 액세스 가능한 고객 관리형 키를 제공해야 합니다.

고객 관리형 키에서 로 변경하려면 Amazon Keyspaces가 소스 테이블의 고객 관리형 키에 액세스하여 로 테이블을 복원할 수 있는지 AWS 소유 키확인합니다 AWS 소유 키. 테이블의 저장 시 암호화 설정에 대한 자세한 내용은 [저장 시 암호화: Amazon Keyspaces 작동 방식](encryption.howitworks.md) 섹션을 참조하세요.

**참고**  
Amazon Keyspaces에서 고객 관리형 키에 액세스할 수 없어 테이블이 삭제된 경우 테이블을 복원하기 전에 Amazon Keyspaces에서 고객 관리형 키에 액세스할 수 있는지 확인해야 합니다. 고객 관리형 키로 암호화된 테이블은 Amazon Keyspaces가 해당 키에 액세스할 수 없는 경우 복원할 수 없습니다. 자세한 내용은 AWS Key Management Service 개발자 안내서의 [키 액세스 문제 해결을](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html) 참조하세요.

## 다중 리전 테이블의 PITR 복원
<a name="howitworks_backup_multiRegion"></a>

PITR을 사용하여 다중 리전 테이블을 복원할 수 있습니다. 복원 작업이 성공하려면 원본 테이블의 모든 복제본에서 PITR을 활성화하고 원본 테이블과 대상 테이블을 모두 동일한에 복제해야 합니다 AWS 리전.

Amazon Keyspaces는 키스페이스의 일부인 복제된 각 리전의 소스 테이블 설정을 복원합니다. 복원 작업 중에 설정을 재정의할 수도 있습니다. 복원 중에 변경할 수 있는 설정에 대한 자세한 내용은 [PITR 복원 설정](#howitworks_backup_settings) 섹션을 참조하세요.

다중 리전 복제에 대한 자세한 내용은 섹션을 참조하세요[Amazon Keyspaces에서 다중 리전 복제가 작동하는 방식](multiRegion-replication_how-it-works.md).

## 사용자 정의 유형(UDTs 있는 테이블의 PITR 복원
<a name="howitworks_backup_udt"></a>

UDTs. 복원 작업이 성공하려면 참조된 UDTs 존재하고 키스페이스에 유효해야 합니다.

테이블 복원을 시도할 때 필요한 UDT가 누락된 경우 Amazon Keyspaces는 UDT 스키마를 자동으로 복원하려고 시도한 다음 테이블을 계속 복원합니다.

UDT를 제거하고 다시 생성한 경우 Amazon Keyspaces는 UDT의 새 스키마로 UDT를 복원하고 원래 UDT 스키마를 사용하여 테이블을 복원하라는 요청을 거부합니다. 이 경우 이전 UDT 스키마로 테이블을 복원하려는 경우 테이블을 새 키스페이스로 복원할 수 있습니다. UDT를 삭제하고 다시 생성할 때 다시 생성된 UDT의 스키마가 삭제된 UDT의 스키마와 같더라도 다시 생성된 UDT는 새 UDT로 간주됩니다. 이 경우 Amazon Keyspaces는 이전 UDT 스키마로 테이블을 복원하라는 요청을 거부합니다.

UDT가 누락되고 Amazon Keyspaces가 UDT 복원을 시도하면 리전의 계정에 대한 최대 UDTs 수에 도달한 경우 시도가 실패합니다.

UDT 할당량 및 기본값에 대한 자세한 내용은 섹션을 참조하세요[Amazon Keyspaces의 사용자 정의 유형(UDTs)에 대한 할당량 및 기본값](quotas.md#quotas-udts). UDTs[User-defined types (UDTs) in Amazon Keyspaces](udts.md).

## PITR을 사용한 테이블 복원 시간
<a name="howitworks_restore_time"></a>

테이블을 복원하는 데 걸리는 시간은 여러 요소에 따라 달라지며 테이블의 크기와 항상 직접적인 연관 관계가 있는 것은 아닙니다.

다음은 복원 시간에 대한 몇 가지 고려 사항입니다.
+ 백업을 새로운 테이블에 복원합니다. 새로운 테이블 생성과 복원 프로세스 시작에 필요한 모든 작업을 수행하는 데 최대 20분이 걸릴 수 있습니다(테이블이 비어있더라도 마찬가지임).
+ 잘 분산된 데이터 모델을 사용하는 대형 테이블의 복원 시간은 몇 시간 이상일 수 있습니다.
+ 소스 테이블에 크게 왜곡된 데이터가 포함되어 있으면 복원 시간이 늘어날 수 있습니다. 예를 들어 테이블의 프라이머리 키가 파티션 키로 그해의 월을 사용하고 있고 모든 데이터가 12월에 집중된 경우 편중 데이터가 있는 것입니다.

재해 복구를 계획할 때 가장 좋은 방법은 평균 복원 완료 시간을 정기적으로 기록하고 이러한 시간이 전체 복구 시간 목표에 어떤 영향을 미치는지 설정하는 것입니다.

## Amazon Keyspaces PITR 및 AWS 서비스와의 통합
<a name="howitworks_integration"></a>

다음 PITR 작업은 지속적인 모니터링 및 감사를 활성화 AWS CloudTrail 하기 위해를 사용하여 로깅됩니다.
+ PITR을 활성화하거나 비활성화하여 새 테이블을 생성합니다.
+ 기존 테이블에서 PITR을 활성화 또는 비활성화합니다.
+ 활성 테이블 또는 삭제된 테이블을 복원합니다.

자세한 내용은 [를 사용하여 Amazon Keyspaces API 호출 로깅 AWS CloudTrail](logging-using-cloudtrail.md) 단원을 참조하십시오.

 CloudFormation을 사용하여 다음 PITR 작업을 수행할 수 있습니다.
+ PITR을 활성화하거나 비활성화하여 새 테이블을 생성합니다.
+ 기존 테이블에서 PITR을 활성화 또는 비활성화합니다.

자세한 내용은 [CloudFormation 사용 설명서](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/)의 [Cassandra 리소스 유형 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Cassandra.html)를 참조하세요.

# Amazon Keyspaces에서 시점 복구 사용
<a name="PointInTimeRecovery_Tutorial"></a>

Amazon Keyspaces(Apache Cassandra용)를 사용하면 시점 복원(PITR)을 사용하여 테이블을 특정 시점으로 복원할 수 있습니다. PITR을 사용하면 테이블을 지난 35일 이내의 이전 상태로 복원하여 데이터 보호 및 복구 기능을 제공할 수 있습니다. 이 기능은 우발적인 데이터 삭제, 애플리케이션 오류 또는 테스트 목적과 같은 경우에 유용합니다. 데이터를 빠르고 효율적으로 복구하여 가동 중지 시간과 데이터 손실을 최소화할 수 있습니다. 다음 섹션에서는 Amazon Keyspaces에서 PITR을 사용하여 테이블을 복원하는 프로세스를 안내하여 데이터 무결성과 비즈니스 연속성을 보장합니다.

**Topics**
+ [Amazon Keyspaces PITR에 대한 복원 테이블 IAM 권한 구성](howitworks_restore_permissions.md)
+ [Amazon Keyspaces의 테이블에 대한 PITR 구성](configure_PITR.md)
+ [Amazon Keyspaces 테이블의 PITR 끄기](disable_PITR.md)
+ [Amazon Keyspaces에서 백업에서 지정된 시점으로 테이블 복원](restoretabletopointintime.md)
+ [Amazon Keyspaces PITR을 사용하여 삭제된 테이블 복원](restoredeleted.md)

# Amazon Keyspaces PITR에 대한 복원 테이블 IAM 권한 구성
<a name="howitworks_restore_permissions"></a>

이 섹션에서는 Amazon Keyspaces 테이블을 복원하기 위해 AWS Identity and Access Management (IAM) 보안 주체에 대한 권한을 구성하는 방법을 요약합니다. IAM의 AWS 관리형 정책 `AmazonKeyspacesFullAccess`에는 Amazon Keyspaces 테이블을 복원할 수 있는 권한이 포함됩니다. 최소 필수 권한으로 사용자 지정 정책을 구현하려면 다음 섹션에 설명된 요구 사항을 고려하세요.

테이블을 성공적으로 복원하려면 IAM 위탁자에게 다음과 같은 최소 권한이 필요합니다.
+ `cassandra:Restore` - 대상 테이블을 복원하려면 복원 작업이 필요합니다.
+ `cassandra:Select` - 소스 테이블에서 읽으려면 선택 작업이 필요합니다.
+ `cassandra:TagResource` - 태그 작업은 선택 사항이며 복원 작업에서 태그를 추가하는 경우에만 필요합니다.

이는 키스페이스 `mykeyspace`에서 테이블을 복원하는 데 필요한 최소 권한을 사용자에게 부여하는 정책의 예입니다.

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "cassandra:Restore",
            "cassandra:Select"
         ],
         "Resource":[
            "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/*",
            "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*"
         ]
      }
   ]
}
```

선택한 다른 기능에 따라 테이블을 복원하기 위한 추가 권한이 필요할 수 있습니다. 예를 들어 소스 테이블을 고객 관리형 키로 암호화한 경우 Amazon Keyspaces가 소스 테이블의 고객 관리형 키에 액세스할 수 있는 권한을 가져야 테이블을 성공적으로 복원할 수 있습니다. 자세한 내용은 [암호화된 테이블의 PITR 복원](PointInTimeRecovery_HowItWorks.md#howitworks_backup_encryption) 단원을 참조하십시오.

IAM 정책을 [조건 키](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)와 함께 사용하여 들어오는 트래픽을 특정 소스로 제한하는 경우 Amazon Keyspaces가 보안 주체를 대신하여 복원 작업을 수행할 권한이 있는지 확인해야 합니다. 정책이 수신 트래픽을 다음 중 하나로 제한하는 경우 IAM 정책에 `aws:ViaAWSService` 조건 키를 추가해야 합니다.
+ `aws:SourceVpce`의 VPC 엔드포인트
+ `aws:SourceIp`의 IP 범위
+ `aws:SourceVpc`의 VPC

`aws:ViaAWSService` 조건 키는 AWS 서비스가 주체의 자격 증명을 사용하여 요청할 때 액세스를 허용합니다. 자세한 내용은 **IAM 사용 설명서의 [IAM JSON 정책 요소: 조건 키](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)를 참조하세요.

다음은 소스 트래픽을 특정 IP 주소로 제한하고 Amazon Keyspaces가 보안 주체를 대신하여 테이블을 복원하도록 허용하는 정책의 예입니다.

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"CassandraAccessForCustomIp",
         "Effect":"Allow",
         "Action":"cassandra:*",
         "Resource":"*",
         "Condition":{
            "Bool":{
               "aws:ViaAWSService":"false"
            },
            "ForAnyValue:IpAddress":{
               "aws:SourceIp":[
                  "123.45.167.89"
               ]
            }
         }
      },
      {
         "Sid":"CassandraAccessForAwsService",
         "Effect":"Allow",
         "Action":"cassandra:*",
         "Resource":"*",
         "Condition":{
            "Bool":{
               "aws:ViaAWSService":"true"
            }
         }
      }
   ]
}
```

 `aws:ViaAWSService` 글로벌 조건 키를 사용하는 예제 정책은 [VPC 엔드포인트 정책 및 Amazon Keyspaces 시점 복구(PITR)](vpc-endpoints.md#VPC_PITR_restore) 섹션을 참조하세요.

# Amazon Keyspaces의 테이블에 대한 PITR 구성
<a name="configure_PITR"></a>

백업 및 복원 작업을 위해 Amazon Keyspaces에서 콘솔, CQL 및 AWS CLI와 함께 PITR을 사용하여 테이블을 구성할 수 있습니다.

CQL 또는를 사용하여 새 테이블을 생성할 때는 테이블 생성 문에서 PITR을 명시적으로 활성화 AWS CLI해야 합니다. 콘솔을 사용하여 새 테이블을 생성하면 PITR이 기본적으로 활성화됩니다.

테이블을 복원하는 방법은 [Amazon Keyspaces에서 백업에서 지정된 시점으로 테이블 복원](restoretabletopointintime.md) 섹션을 참조하세요.

------
#### [ Console ]

**콘솔을 사용하여 테이블에 대한 PITR 구성**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/keyspaces/home](https://console.aws.amazon.com/keyspaces/home) Amazon Keyspaces 콘솔을 엽니다.

1. 탐색 창에서 **테이블**을 선택하고 편집하려는 테이블을 선택합니다.

1. **백업** 탭에서 **편집**을 선택합니다.

1. **시점 복구 설정 편집** 섹션에서 **시점 복구 활성화**를 선택합니다.

1. **변경 사항 저장**을 선택합니다.

------
#### [ Cassandra Query Language (CQL) ]

**CQL을 사용하여 테이블에 대한 PITR 구성**

1. `point_in_time_recovery` 사용자 지정 속성을 사용하여 테이블의 PITR 설정을 관리할 수 있습니다.

   새 테이블을 생성할 때 PITR을 활성화하려면 `point_in_time_recovery`의 상태를 `enabled`로 설정해야 합니다. 다음 CQL 명령을 예제로 사용할 수 있습니다.

   ```
   CREATE TABLE "my_keyspace1"."my_table1"(
   	"id" int,
   	"name" ascii,
   	"date" timestamp,
   	PRIMARY KEY("id"))
   WITH CUSTOM_PROPERTIES = {
   	'capacity_mode':{'throughput_mode':'PAY_PER_REQUEST'}, 
   	'point_in_time_recovery':{'status':'enabled'}
   }
   ```
**참고**  
시점 복구 사용자 지정 속성이 지정되지 않은 경우 시점 복구는 기본적으로 비활성화됩니다.

1. CQL을 사용하여 기존 테이블에 대해 PITR을 활성화하려면 다음 CQL 명령을 실행합니다.

   ```
   ALTER TABLE mykeyspace.mytable
   WITH custom_properties = {'point_in_time_recovery': {'status': 'enabled'}}
   ```

------
#### [ CLI ]

**를 사용하여 테이블에 대한 PITR 구성 AWS CLI**

1. `UpdateTable` API를 사용하여 테이블의 PITR 설정을 관리할 수 있습니다.

   새 테이블을 생성할 때 PITR을 활성화하려면 테이블 생성 명령에 `point-in-time-recovery 'status=ENABLED'`를 포함해야 합니다. 다음 AWS CLI 명령을 예제로 사용할 수 있습니다. 가독성을 높이기 위해 명령을 별도의 줄로 나누었습니다.

   ```
   aws keyspaces create-table --keyspace-name 'myKeyspace' --table-name 'myTable' 
               --schema-definition 'allColumns=[{name=id,type=int},{name=name,type=text},{name=date,type=timestamp}],partitionKeys=[{name=id}]' 
               --point-in-time-recovery 'status=ENABLED'
   ```
**참고**  
시점 복구 값이 지정되지 않은 경우 시점 복구는 기본적으로 비활성화됩니다.

1. 테이블에 대한 point-in-time 복구 설정을 확인하려면 다음 AWS CLI 명령을 사용할 수 있습니다.

   ```
   aws keyspaces get-table --keyspace-name 'myKeyspace' --table-name 'myTable'
   ```

1. 를 사용하여 기존 테이블에 대해 PITR을 활성화하려면 다음 명령을 AWS CLI실행합니다.

   ```
   aws keyspaces update-table --keyspace-name 'myKeyspace' --table-name 'myTable' --point-in-time-recovery 'status=ENABLED'
   ```

------

# Amazon Keyspaces 테이블의 PITR 끄기
<a name="disable_PITR"></a>

콘솔, CQL 또는 AWS CLI를 사용하여 언제든지 Amazon Keyspaces 테이블의 PITR을 끌 수 있습니다.

**중요**  
PITR을 비활성화하면 35일 이내에 테이블에서 PITR을 다시 활성화하더라도 백업 기록이 즉시 삭제됩니다.

테이블을 복원하는 방법은 [Amazon Keyspaces에서 백업에서 지정된 시점으로 테이블 복원](restoretabletopointintime.md) 섹션을 참조하세요.

------
#### [ Console ]

**콘솔을 사용하여 테이블에 대한 PITR 비활성화**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/keyspaces/home](https://console.aws.amazon.com/keyspaces/home) Amazon Keyspaces 콘솔을 엽니다.

1. 탐색 창에서 **테이블**을 선택하고 편집하려는 테이블을 선택합니다.

1. **백업** 탭에서 **편집**을 선택합니다.

1. **시점 복구 설정 편집** 섹션에서 **시점 복구 활성화** 확인란을 선택 취소합니다.

1. **변경 사항 저장**을 선택합니다.

------
#### [ Cassandra Query Language (CQL) ]

**CQL을 사용하여 테이블에 대한 PITR 비활성화**
+ 기존 테이블에 대한 PITR을 비활성화하려면 다음 CQL 명령을 실행합니다.

  ```
  ALTER TABLE mykeyspace.mytable
  WITH custom_properties = {'point_in_time_recovery': {'status': 'disabled'}}
  ```

------
#### [ CLI ]

**를 사용하여 테이블에 대해 PITR 비활성화 AWS CLI**
+ 기존 테이블에 대해 PITR을 비활성화하려면 다음 AWS CLI 명령을 실행합니다.

  ```
  aws keyspaces update-table --keyspace-name 'myKeyspace' --table-name 'myTable' --point-in-time-recovery 'status=DISABLED'
  ```

------

# Amazon Keyspaces에서 백업에서 지정된 시점으로 테이블 복원
<a name="restoretabletopointintime"></a>

다음 섹션에서는 기존 Amazon Keyspaces 테이블을 지정된 시점으로 복원하는 방법을 설명합니다.

**참고**  
이 절차에서는 사용 중인 테이블이 시점 복구로 구성되었다고 가정합니다. 테이블에 대해 PITR을 활성화하려면 [Amazon Keyspaces의 테이블에 대한 PITR 구성](configure_PITR.md) 섹션을 참조하세요.

**중요**  
 복원이 진행되는 동안에는 IAM 보안 주체(예: 사용자, 그룹 또는 역할)에게 복원을 수행할 수 있는 권한을 부여하는 AWS Identity and Access Management (IAM) 정책을 수정하거나 삭제하지 마십시오. 그러면 예기치 않은 동작이 발생할 수 있습니다. 예를 들어 해당 테이블이 복원되는 동안 테이블에 대한 쓰기 권한을 제거하면 기본 `RestoreTableToPointInTime` 작업은 복원된 데이터를 테이블에 쓸 수 없습니다.  
복원 작업이 완료되어야 권한을 수정하거나 삭제할 수 있습니다.

------
#### [ Console ]

**콘솔을 사용하여 테이블을 특정 시점으로 복원**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/keyspaces/home](https://console.aws.amazon.com/keyspaces/home) Amazon Keyspaces 콘솔을 엽니다.

1. 콘솔 왼쪽의 탐색 창에서 **테이블**을 선택합니다.

1. 테이블 목록에서 복원할 테이블을 선택합니다.

1. 테이블에 있는 **백업** 탭의 **시점 복구** 섹션에서 **복원**을 선택합니다.

1. 새 테이블 이름에 복원된 테이블의 새 이름을 입력합니다(예: **mytable\$1restored**).

1. 복원 작업의 시점을 정의하려면 다음 두 옵션 중에서 선택할 수 있습니다.
   + 사전 구성된 **가장 이른** 시간을 선택합니다.
   + **날짜 및 시간 지정**을 선택하고 새 테이블을 복원하려는 날짜와 시간을 입력합니다.
**참고**  
**가장 이른** 시간과 현재 시간 내 어느 특정 시점으로든 복원할 수 있습니다. Amazon Keyspaces는 테이블 데이터를 선택한 날짜와 시간(요일:시:분:초)을 기준으로 한 상태로 복원합니다.

1. **복원**을 선택하여 복원 프로세스를 시작합니다.

   복원 중인 테이블은 상태가 **복원 중**으로 표시됩니다. 복원 프로세스가 완료되면 복원된 테이블의 상태가 **활성**으로 변경됩니다.

------
#### [ Cassandra Query Language (CQL) ]

**CQL을 사용하여 테이블을 특정 시점으로 복원**

1. 활성 테이블을 `earliest_restorable_timestamp`와 현재 시간 사이의 원하는 시점으로 복원할 수 있습니다. 현재 시간이 기본값입니다.

   테이블에 대해 시점 복구가 활성화되어 있는지 확인하려면 이 예제와 같이 `system_schema_mcs.tables`를 쿼리합니다.

   ```
   SELECT custom_properties
   FROM system_schema_mcs.tables
   WHERE keyspace_name = 'mykeyspace' AND table_name = 'mytable';
   ```

   다음 샘플 출력과 같이 시점 복구가 활성화되었습니다.

   ```
   custom_properties
   -----------------
   {
     ...,
       "point_in_time_recovery": {
       "earliest_restorable_timestamp":"2020-06-30T19:19:21.175Z"
       "status":"enabled"
     }
   }
   ```

1. 
   + 테이블을 현재 시간으로 복원합니다. `WITH restore_timestamp = ...` 절을 생략하면 현재 타임스탬프가 사용됩니다.

     ```
     RESTORE TABLE mykeyspace.mytable_restored
     FROM TABLE mykeyspace.mytable;
     ```
   + ISO 8601 형식의 `restore_timestamp`로 정의된 특정 시점으로 복원할 수도 있습니다. 최근 35일 중 원하는 시점을 지정할 수 있습니다. 예를 들어, 다음 명령은 테이블을 `EarliestRestorableDateTime`으로 복원합니다.

     ```
     RESTORE TABLE mykeyspace.mytable_restored
     FROM TABLE mykeyspace.mytable
     WITH restore_timestamp = '2020-06-30T19:19:21.175Z';
     ```

     전체 구문 설명은 언어 참조의 [RESTORE TABLE](cql.ddl.table.md#cql.ddl.table.restore) 섹션을 참조하세요.

1. 테이블 복원이 성공했는지 확인하려면 `system_schema_mcs.tables`를 쿼리하여 테이블 상태를 확인합니다.

   ```
   SELECT status
   FROM system_schema_mcs.tables
   WHERE keyspace_name = 'mykeyspace' AND table_name = 'mytable_restored'
   ```

   쿼리는 다음 출력을 보여 줍니다.

   ```
   status
   ------
   RESTORING
   ```

   복원 중인 테이블은 상태가 **복원 중**으로 표시됩니다. 복원 프로세스가 완료되면 테이블의 상태가 **활성**으로 변경됩니다.

------
#### [ CLI ]

**를 사용하여 테이블을 특정 시점으로 복원 AWS CLI**

1. PITR이 활성화된 `myTable`이라는 간단한 테이블을 만듭니다. 가독성을 위해 명령을 별도의 줄로 나누었습니다.

   ```
   aws keyspaces create-table --keyspace-name 'myKeyspace' --table-name 'myTable' 
               --schema-definition 'allColumns=[{name=id,type=int},{name=name,type=text},{name=date,type=timestamp}],partitionKeys=[{name=id}]' 
               --point-in-time-recovery 'status=ENABLED'
   ```

1. 새 테이블의 속성을 확인하고 PITR에 대한 `earliestRestorableTimestamp`를 검토합니다.

   ```
   aws keyspaces get-table --keyspace-name 'myKeyspace' --table-name 'myTable'
   ```

   이 명령의 출력은 다음을 반환합니다.

   ```
   {
       "keyspaceName": "myKeyspace",
       "tableName": "myTable",
       "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/myKeyspace/table/myTable",
       "creationTimestamp": "2022-06-20T14:34:57.049000-07:00",
       "status": "ACTIVE",
       "schemaDefinition": {
           "allColumns": [
               {
                   "name": "id",
                   "type": "int"
               },
               {
                   "name": "date",
                   "type": "timestamp"
               },
               {
                   "name": "name",
                   "type": "text"
               }
           ],
           "partitionKeys": [
               {
                   "name": "id"
               }
           ],
           "clusteringKeys": [],
           "staticColumns": []
       },
       "capacitySpecification": {
           "throughputMode": "PAY_PER_REQUEST",
           "lastUpdateToPayPerRequestTimestamp": "2022-06-20T14:34:57.049000-07:00"
       },
       "encryptionSpecification": {
           "type": "AWS_OWNED_KMS_KEY"
       },
       "pointInTimeRecovery": {
           "status": "ENABLED",
           "earliestRestorableTimestamp": "2022-06-20T14:35:13.693000-07:00"
       },
       "defaultTimeToLive": 0,
       "comment": {
           "message": ""
       }
   }
   ```

1. 
   + 테이블을 특정 시점으로 복원하려면 ISO 8601 형식으로 `restore_timestamp`를 지정합니다. 최근 35일 중 원하는 시점으로 1초 간격으로 선택할 수 있습니다. 예를 들어, 다음 명령은 테이블을 `EarliestRestorableDateTime`으로 복원합니다.

     ```
     aws keyspaces restore-table --source-keyspace-name 'myKeyspace' --source-table-name 'myTable' --target-keyspace-name 'myKeyspace' --target-table-name 'myTable_restored' --restore-timestamp "2022-06-20 21:35:14.693"
     ```

     이 명령의 출력은 복원된 테이블의 ARN을 반환합니다.

     ```
     {
         "restoredTableARN": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/myKeyspace/table/myTable_restored"
     }
     ```
   + 테이블을 현재 시간으로 복원하려면 `restore-timestamp` 파라미터를 생략할 수 있습니다.

     ```
     aws keyspaces restore-table --source-keyspace-name 'myKeyspace' --source-table-name 'myTable' --target-keyspace-name 'myKeyspace' --target-table-name 'myTable_restored1'"
     ```

------

# Amazon Keyspaces PITR을 사용하여 삭제된 테이블 복원
<a name="restoredeleted"></a>

다음 절차는 삭제된 테이블을 백업에서 삭제 시점으로 복원하는 방법을 보여줍니다. CQL 또는를 사용하여이 작업을 수행할 수 있습니다 AWS CLI.

**참고**  
이 절차에서는 삭제된 테이블에서 PITR이 활성화되었다고 가정합니다.



------
#### [ Cassandra Query Language (CQL) ]

**CQL을 사용하여 삭제된 테이블 복원**

1. 삭제된 테이블에 대해 특정 시점 복구가 활성화되었는지 확인하려면 시스템 테이블을 쿼리합니다. 시점 복구가 활성화된 테이블만 표시됩니다.

   ```
   SELECT custom_properties
   FROM system_schema_mcs.tables_history 
   WHERE keyspace_name = 'mykeyspace' AND table_name = 'my_table';
   ```

   쿼리는 다음 출력을 보여 줍니다.

   ```
   custom_properties
   ------------------
   {
       ...,
      "point_in_time_recovery":{
         "restorable_until_time":"2020-08-04T00:48:58.381Z",
         "status":"enabled"
      }
   }
   ```

1. 다음 샘플 문을 사용하여 테이블을 삭제 시점으로 복원합니다.

   ```
   RESTORE TABLE mykeyspace.mytable_restored
   FROM TABLE mykeyspace.mytable;
   ```

------
#### [ CLI ]

**를 사용하여 삭제된 테이블 복원 AWS CLI**

1. 이전에 생성했으며 PITR이 활성화된 테이블을 삭제합니다. 다음 명령은 예제입니다.

   ```
   aws keyspaces delete-table --keyspace-name 'myKeyspace' --table-name 'myTable'
   ```

1. 다음 명령을 사용하여 삭제된 테이블을 삭제 시점으로 복원합니다.

   ```
   aws keyspaces restore-table --source-keyspace-name 'myKeyspace' --source-table-name 'myTable' --target-keyspace-name 'myKeyspace' --target-table-name 'myTable_restored2'
   ```

   이 명령의 출력은 복원된 테이블의 ARN을 반환합니다.

   ```
   {
       "restoredTableARN": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/myKeyspace/table/myTable_restored2"
   }
   ```

------