기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
.NET 또는 Java에서AWS SDK와 함께 사용자 지정 구현 사용
다른AWS 서비스에 의존하여 교차 계정 테이블 복사를 수행하는 대신 .NET, Java, Python 또는 기타 지원되는 프로그래밍 언어를 사용하여 사용자 지정 솔루션을 구축할 수 있습니다. AWSAWS서비스 또는 API에 프로그래밍 방식으로 액세스할 수 있는 SDK를 여러 언어로 제공합니다. 이 솔루션을 사용하려면 사용하는 언어에 대한 실무 개발 경험이 필요합니다.
전체 테이블 복사를 수행하기 위해 호출할 수 있는 콘솔 앱 (또는 웹 API에서 작업하는 경우 새 API 엔드포인트) 을 만들 수 있습니다. 사용자 지정 솔루션은 다음 단계를 수행해야 합니다.
대상 계정에서 DynamoDB 테이블을 삭제합니다.
대상 계정에 DynamoDB 테이블 (온디맨드 용량 포함) 과 인덱스를 생성합니다. 또는 프로비저닝된 용량 모드를 사용하여 필요에 따라 RCU와 WCU를 설정할 수 있습니다.
AWSSDK의 DynamoDB 일괄 쓰기 작업을 사용하여 소스 계정에서 대상 계정으로 데이터를 복사하여 DynamoDB에 대한 서비스 호출 수를 줄이십시오.
이 솔루션은 크기가 작은 (500MB 미만) DynamoDB 테이블에 가장 적합합니다.
항목이 200,000개 (평균 항목 크기 30KB, 테이블 크기 250MB) 인 DynamoDB 테이블의 경우 테이블 생성 및 데이터 채우기를 포함한 이 솔루션에는 약 5분이 소요됩니다.
용량 모드 — 4000개의 RCU 및 4000개의 WCU로 프로비저닝됨
소비된 용량 단위 — 30K CRU 및 약 400K WCU
장점
이 솔루션은 DynamoDB 이외의AWS 서비스에 의존하지 않으므로 유지 관리 오버헤드가 적습니다.
솔루션을 실행하는AWS Lambda 함수를 사용하여 서버리스로 만들 수 있습니다. 단, 런타임은 15분 이하이어야 합니다.
단점
이 솔루션은 더 많은 RCU와 WCU를 사용합니다.
이 솔루션에는 서로 다른 두 개의 계정에 있는 서로 다른 두 개의 DynamoDB 테이블과의 활성 연결 (서로 다른 두 개의 보안 토큰 사용) 이 필요하기 때문에 대규모 데이터 세트에는 적합하지 않을 수 있습니다. 대규모 데이터세트의 테이블 복사에 시간이 오래 걸리면 연결이 중단되거나 보안 토큰이 만료될 수 있으므로 이러한 가능성을 처리하기 위한 로직을 구현해야 합니다. 또한 오류가 발생한 부분부터 복제를 계속하는 로직을 구현해야 합니다.
자세한 내용은 사용자 지정 구현 패턴을 사용하여 계정 간에 Amazon DynamoDB 테이블 복사를 참조하십시오.