Amazon Keyspaces의 백업에서 지정된 시점으로 테이블 복원 - Amazon Keyspaces(Apache Cassandra용)

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

Amazon Keyspaces의 백업에서 지정된 시점으로 테이블 복원

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

참고

이 절차에서는 사용 중인 테이블이 복구 기능을 사용하도록 구성되었다고 가정합니다. point-in-time 테이블을 활성화하려면 을 PITR 참조하십시오Amazon Keyspaces에서 테이블을 PITR 구성하십시오..

중요

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

복원 작업이 완료된 후에만 권한을 수정하거나 삭제할 수 있습니다.

Console
콘솔을 사용하여 테이블을 지정된 시점으로 복원합니다.
  1. 에 로그인하십시오. AWS Management Console를 클릭하고 집에서 https://console.aws.amazon.com/keyspaces/ Amazon Keyspaces 콘솔을 엽니다.

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

  3. 테이블 목록에서 복원하려는 테이블을 선택합니다.

  4. 테이블의 백업 탭에 있는 P oint-in-time 복구 섹션에서 복원을 선택합니다.

  5. 새 테이블 이름의 경우 복원된 테이블의 새 이름을 입력합니다 (예:)mytable_restored.

  6. 복원 작업의 시점을 정의하려면 다음 두 옵션 중에서 선택할 수 있습니다.

    • 사전 구성된 가장 이른 시간을 선택합니다.

    • 날짜 및 시간 지정을 선택하고 새 테이블을 복원하려는 날짜와 시간을 입력합니다.

    참고

    가장 이른 시간과 현재 시간 내 어느 특정 시점으로든 복원할 수 있습니다. Amazon Keyspaces는 테이블 데이터를 선택한 날짜와 시간(요일:시:분:초)을 기준으로 한 상태로 복원합니다.

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

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

Cassandra Query Language (CQL)
를 사용하여 테이블을 특정 시점으로 복원합니다. CQL
  1. 활성 테이블을 현재 earliest_restorable_timestamp 시간과 point-in-time 중간 시간으로 복원할 수 있습니다. 현재 시간이 기본값입니다.

    테이블에 대한 point-in-time 복구가 활성화되었는지 확인하려면 이 system_schema_mcs.tables 예와 같이 를 쿼리하십시오.

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

    다음 샘플 출력과 같이 P oint-in-time 복구가 활성화되었습니다.

    custom_properties ----------------- { ..., "point_in_time_recovery": { "earliest_restorable_timestamp":"2020-06-30T19:19:21.175Z" "status":"enabled" } }
    • 테이블을 현재 시간으로 복원합니다. WITH restore_timestamp = ...절을 생략하면 현재 타임스탬프가 사용됩니다.

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

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

      전체 구문 설명은 언어 참조의 RESTORE TABLE 섹션을 참조하세요.

  2. 테이블 복원이 성공했는지 확인하려면 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. myTablePITR활성화된 이름을 가진 간단한 테이블을 생성합니다. 가독성을 위해 명령을 별도의 줄로 나누었습니다.

    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'
  2. 새 테이블의 속성을 확인하고 양식을 검토하십시오 earliestRestorableTimestampPITR.

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

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

    { "keyspaceName": "myKeyspace", "tableName": "myTable", "resourceArn": "arn:aws:cassandra:us-east-1:111222333444:/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": "" } }
    • 테이블을 특정 시점으로 복원하려면 ISO 8601 restore_timestamp 형식으로 a를 지정하십시오. 최근 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:111222333444:/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'"