방법 point-in-time 복구 작업은 Amazon 키스페이스에서 작동합니다. - Amazon Keyspaces(Apache Cassandra용)

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

방법 point-in-time 복구 작업은 Amazon 키스페이스에서 작동합니다.

이 단원에서는 Amazon Keyspaces 방식을 개략적으로 설명합니다. point-in-time 복구 (PITR) 가 작동합니다. 요금에 대한 자세한 내용은 단원을 참조하세요.Amazon Keyspaces (Apache Cassandra용) 요금.

활성화 point-in-time 복구 (PITR)

콘솔을 사용하여 PITR을 활성화하거나 프로그래밍 방식으로 활성화할 수 있습니다.

콘솔로 PITR 활성화

새 테이블에 대한 PITR 설정은 다음과 같이 관리할 수 있습니다.사용자 지정 설정옵션. 기본적으로 PITR은 콘솔을 통해 생성된 새 테이블에 대해 활성화됩니다.

기존 테이블에 대해 PITR을 활성화하려면 다음 단계를 완료하십시오.

  1. 에 로그인합니다.AWS Management Console을 클릭하고 에서 Amazon Keyspaces 콘솔을 엽니다.https://console.aws.amazon.com/keyspaces/home.

  2. 탐색 창에서 [] 를 선택합니다.테이블편집할 테이블을 선택합니다.

  3. 백업탭에서 을 선택합니다.Edit.

  4. 에서Edit point-in-time 복구 설정섹션, 선택특정 시점으로 복구 활성화.

언제든지 다음 단계를 수행하여 테이블에서 PITR을 비활성화할 수 있습니다.

  1. 에 로그인합니다.AWS Management Console을 클릭하고 에서 Amazon Keyspaces 콘솔을 엽니다.https://console.aws.amazon.com/keyspaces/home.

  2. 탐색 창에서 [] 를 선택합니다.테이블편집할 테이블을 선택합니다.

  3. 백업탭에서 을 선택합니다.Edit.

  4. 에서Edit point-in-time 복구 설정섹션, 지우기특정 시점으로 복구 활성화확인란.

중요

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

콘솔을 사용하여 테이블을 복원하는 방법은 단원을 참조하십시오.테이블을 특정 시점으로 복원하려면 (콘솔).

를 사용하여 PITR 활성화 활성화AWS CLI

다음을 사용하여 테이블에 대한 PITR 설정을 관리할 수 있습니다.UpdateTableAPI.

를 사용하여 새 테이블을 생성하는 경우AWS CLI를 선택하면 새 테이블을 생성할 때 PITR을 명시적으로 활성화해야 합니다.

새 테이블을 만들 때 PITR을 활성화하려면 다음을 사용할 수 있습니다.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'
참고

그렇지 않은 경우 point-in-time 복구 값이 지정되고 특정 시점으로 복구는 기본적으로 비활성화됩니다.

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

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

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

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

기존 테이블에서 PITR을 비활성화하려면 다음을 실행합니다.AWS CLI명령.

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

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

CQL을 사용하여 PITR 활성화

다음을 사용하여 테이블에 대한 PITR 설정을 관리할 수 있습니다.point_in_time_recovery사용자 지정 속성.

CQL을 사용하여 새 테이블을 생성할 때 새 테이블을 생성할 때 PITR을 명시적으로 활성화해야 합니다.

새 테이블을 만들 때 PITR을 활성화하려면 다음 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'} }
참고

그렇지 않은 경우 point-in-time 복구 사용자 지정 속성이 지정되면 기본적으로 특정 시점으로 복구가 비활성화됩니다.

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

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

기존 테이블에서 PITR을 비활성화하려면 다음 CQL 명령을 실행합니다.

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

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

CQL 언어 참조에 대한 자세한 내용은 단원을 참조하십시오.CREATE TABLEALTER TABLE. CQL을 사용하여 테이블을 복원하는 방법은 단원을 참조하십시오.CQL을 사용하여 테이블을 특정 시점으로 복원하려면.

테이블 복원에 필요한 권한

테이블을 성공적으로 복원하려면 IAM 사용자 또는 역할에 다음과 같은 최소 권한이 필요합니다.

  • cassandra:Restore— 대상 테이블을 복원하려면 복원 작업이 필요합니다.

  • cassandra:Select원본 테이블에서 읽으려면 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 복원을 참조하십시오.

IAM 정책을 사용하는 경우조건 키수신 트래픽을 특정 소스로 제한하려면 Amazon Keyspaces가 보안 주체를 대신하여 복원 작업을 수행할 권한이 있는지 확인해야 합니다. 를 추가해야 합니다.aws:ViaAWSService정책이 들어오는 트래픽을 다음 중 하나로 제한하는 경우 IAM 정책의 조건 키입니다.

  • 를 사용하여 VPC 엔드포인트aws:SourceVpce

  • 다음 작업을 수행하는 IP 범위aws:SourceIp

  • VPCaws:SourceVpc

aws:ViaAWSService조건 키가 있으면 액세스 할 수 있습니다.AWS서비스는 보안 주체의 자격 증명을 사용하여 요청을 합니다. 자세한 내용은 단원을 참조하십시오.IAM JSON 정책 요소: 조건 키IAM 사용 설명서.

다음은 소스 트래픽을 특정 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 point-in-time복구 (PITR).

PITR 연속 백업을 위한 시간 창

Amazon Keyspaces PITR은 두 개의 타임스탬프를 사용하여 테이블에 복원 가능한 백업을 사용할 수 있는 기간을 유지합니다.

  • 가장 빠른 복원 가능 시간 — 복원 가능한 가장 빠른 백업 시간을 표시합니다. 복원 가능한 가장 이른 백업은 최대 35일 또는 PITR이 활성화된 시점 중 최신 백업으로 백업됩니다. 최대 백업 기간은 35일 수정할 수 없습니다.

  • 현재 시간 — 복원 가능한 최신 백업에 대한 타임스탬프가 현재 시간입니다. 복원 중에 타임스탬프가 제공되지 않으면 현재 시간이 사용됩니다.

PITR을 활성화하면 다음 중 어느 특정 시점으로든 복원할 수 있습니다.EarliestRestorableDateTimeCurrentTime. 테이블 데이터만 PITR을 활성화한 시점으로 복원할 수 있습니다.

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

참고

스키마 변경과 같은 테이블에 대한 DDL (Data Definition Language) 작업은 비동기적으로 수행됩니다. 완료된 작업은 복원된 테이블 데이터에서만 볼 수 있지만 복원 시 진행 중인 경우 원본 테이블에 추가 작업이 표시될 수 있습니다. DDL 문의 목록은 단원을 참조하세요.Amazon 키스페이스의 DDL 명령문 (데이터 정의 언어).

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

참고

이전에 삭제된 테이블과 동일한 정규화된 이름 (예: mykeyspace.mytable) 으로 새 테이블을 만들면 삭제된 테이블은 더 이상 복원할 수 없습니다. 콘솔에서 이 작업을 시도하면 경고가 표시됩니다.

PITR 복원 설정

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

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

복원된 테이블의 설정은 원본 테이블의 설정과 복원이 시작된 시간의 타임스탬프와 일치합니다. 복원 중에 이러한 설정을 덮어쓰려면 다음을 사용하여 수행할 수 있습니다.WITH custom_properties. 사용자 정의 속성에는 다음 설정이 포함되어 있습니다.

  • 읽기/쓰기 용량 모드

  • 프로비저닝된 처리량 용량 설정

  • PITR 설정

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

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

다음 설정은 복원되지 않으므로 새 테이블에 대해 수동으로 구성해야 합니다.

  • 자동 조정 정책 (프로비저닝된 용량 모드를 사용하는 테이블의 경우)

  • AWS Identity and Access Management(IAM) 정책

  • 아마존 CloudWatch 지표 및 경보

  • 태그 (CQL에 추가할 수 있음)RESTORE문 사용WITH TAGS)

암호화된 테이블의 PITR 복원

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

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

고객 관리 키에서AWS 소유 키를 사용하여 테이블을 복원하기 위해 Amazon Keyspaces가 원본 테이블의 고객 관리 키에 액세스할 수 있는지 확인합니다.AWS 소유 키. 테이블의 유휴 시 암호화 설정에 대한 자세한 내용은 단원을 참조하십시오.저장 시 암호화: 아마존 키스페이스에서 작동하는 방식.

참고

Amazon Keyspaces가 고객 관리 키에 액세스할 수 없어서 테이블이 삭제된 경우 테이블을 복원하기 전에 Amazon Keyspaces에서 고객 관리 키에 액세스할 수 있는지 확인해야 합니다. Amazon Keyspaces가 해당 키에 액세스할 수 없는 경우 고객 관리 키로 암호화된 테이블을 복원할 수 없습니다. 자세한 내용은 단원을 참조하십시오.키 액세스 문제 해결의AWS Key Management Service개발자 안내서.

PITR을 사용한 테이블 복원 시간

테이블을 복원하는 데 걸리는 시간은 여러 요소를 기반으로 하며 테이블의 크기와 항상 직접 연관되어 있는 것은 아닙니다.

다음은 복원 시간에 대한 몇 가지 고려 사항입니다.

  • 백업을 새로운 테이블에 복원합니다. 새로운 테이블 생성과 복원 프로세스 시작에 필요한 모든 작업을 수행하는 데 최대 20분이 걸릴 수 있습니다(테이블이 비어있더라도 마찬가지임).

  • 데이터 모델이 잘 분산된 대형 테이블의 복원 시간은 몇 시간 이상 걸릴 수 있습니다.

  • 소스 테이블에 상당히 편중 데이터가 포함된 경우, 복원 시간이 증가할 수 있습니다. 예를 들어 테이블의 기본 키가 연중 월을 파티션 키로 사용하고 있고 모든 데이터가 12월에 배치된 경우, 편중 데이터가 있는 것입니다.

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

아마존 Keyspaces PITR 및 통합AWS서비스

다음 PITR 작업은 다음을 사용하여 기록됩니다.AWS CloudTrail지속적인 모니터링 및 감사를 가능하게 합니다.

  • PITR이 활성화되거나 비활성화된 새 테이블을 생성합니다.

  • 기존 테이블에서 PITR을 활성화하거나 비활성화합니다.

  • 활성 테이블 또는 삭제된 테이블을 복원합니다.

자세한 정보는 을 사용하여 Amazon Keyspaces API 호출 로깅AWS CloudTrail을 참조하십시오.

를 사용하여 다음 PITR 작업을 수행할 수 있습니다.AWS CloudFormation.

  • PITR이 활성화되거나 비활성화된 새 테이블을 생성합니다.

  • 기존 테이블에서 PITR을 활성화하거나 비활성화합니다.

자세한 내용은 단원을 참조하십시오.카산드라 리소스 유형 참조AWS CloudFormation사용 설명서.