글로벌 테이블에 대한 모범 사례 - Amazon DynamoDB

글로벌 테이블에 대한 모범 사례

다음 섹션에서는 글로벌 테이블 배포 및 사용에 대한 모범 사례를 설명합니다.

버전

DynamoDB 글로벌 테이블에는 버전 2019.11.21(현재)과 버전 2017.11.29(레거시)의 두 가지 버전이 있습니다. 가능하면 버전 2019.11.21(현재)을 사용해야 합니다.

삭제 방지

실수로 삭제되지 않도록 보호하려는 글로벌 테이블 복제본에서 삭제 방지를 활성화해야 합니다. 각 복제본에서 삭제 방지를 활성화해야 합니다.

AWS CloudFormation 사용하기

AWS CloudFormation은 현재 스택 간 글로벌 테이블과 같은 다중 리전 리소스의 조정을 지원하지 않습니다. 별도의 리전 스택에서 글로벌 테이블의 각 복제본을 정의하면 복제본 업데이트를 수행할 때 스택 간에 감지된 드리프트로 인해 오류가 발생합니다. 이 문제를 방지하려면 글로벌 테이블을 배포하기 위한 참조 리전으로 하나의 리전을 선택하고 해당 리전의 스택에 모든 글로벌 테이블의 복제본을 정의해야 합니다.

중요

템플릿에서 유형을 변경하여 AWS::DynamoDB::Table 유형의 리소스를 AWS::DynamoDB::GlobalTable 유형의 리소스로 변환할 수 없습니다. CloudFormation 리소스 유형을 변경하여 단일 리전 테이블을 글로벌 테이블로 변환하려고 하면 DynamoDB 테이블이 삭제될 수 있습니다.

AWS::DynamoDB::GlobalTable 리소스를 사용하여 단일 리전에 테이블을 만들 수 있습니다. 이 테이블은 다른 단일 리전 테이블처럼 배포됩니다. 나중에 스택을 업데이트하여 리소스에 다른 리전을 추가하면 복제본이 테이블에 추가되고 글로벌 테이블로 안전하게 변환됩니다.

AWS::DynamoDB::GlobalTable 리소스로 변환하려는 기존 AWS::DynamoDB::Table 리소스가 있는 경우 리소스 유형을 변환하는 권장 단계는 다음과 같습니다.

  1. AWS::DynamoDB::Table 삭제 정책을 유지하도록 설정합니다.

  2. 스택 정의에서 테이블을 제거합니다.

  3. AWS 콘솔의 단일 리전 테이블에 복제본을 추가하여 글로벌 테이블로 변환합니다.

  4. 새로운 글로벌 테이블을 새 AWS::DynamoDB::GlobalTable 리소스로 스택에 가져옵니다.

백업 및 시점 복구

글로벌 테이블의 한 복제본에 대해 자동 백업 및 시점 복구(PITR)를 활성화하면 재해 복구 목표를 충족하기에 충분할 수 있습니다. AWS-Backup으로 만들어진 복제본 백업은 복원력을 높이기 위해 리전 간에 자동으로 복제될 수 있습니다. 백업 및 PITR 활성화 전략을 선택할 때 다중 리전 고가용성의 맥락에서 재해 복구 계획 목표를 고려하세요.

다중 리전 고가용성을 위한 설계

글로벌 테이블 배포에 대한 권장 지침은 DynamoDB 글로벌 테이블 설계 모범 사례를 참조하세요.