글로벌 테이블에 대한 모범 사례
다음 섹션에서는 글로벌 테이블 배포 및 사용에 대한 모범 사례를 설명합니다.
버전
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
리소스가 있는 경우 리소스 유형을 변환하는 권장 단계는 다음과 같습니다.
-
AWS::DynamoDB::Table
삭제 정책을 유지하도록 설정합니다. -
스택 정의에서 테이블을 제거합니다.
-
AWS 콘솔의 단일 리전 테이블에 복제본을 추가하여 글로벌 테이블로 변환합니다.
-
새로운 글로벌 테이블을 새
AWS::DynamoDB::GlobalTable
리소스로 스택에 가져옵니다.
백업 및 시점 복구
글로벌 테이블의 한 복제본에 대해 자동 백업 및 시점 복구(PITR)를 활성화하면 재해 복구 목표를 충족하기에 충분할 수 있습니다. AWS-Backup으로 만들어진 복제본 백업은 복원력을 높이기 위해 리전 간에 자동으로 복제될 수 있습니다. 백업 및 PITR 활성화 전략을 선택할 때 다중 리전 고가용성의 맥락에서 재해 복구 계획 목표를 고려하세요.
다중 리전 고가용성을 위한 설계
글로벌 테이블 배포에 대한 권장 지침은 DynamoDB 글로벌 테이블 설계 모범 사례를 참조하세요.