교차 계정 DynamoDB 테이블 복제

목적

다른 AWS 계정 간에 DynamoDB 테이블을 마이그레이션(일회성 복제)하는 것입니다.



구현 단계

전제 조건: npm 설치됨

ㅏ. 아래 리포지토리 "core-dynamodb-replication"에서 스크립트를 다운로드합니다.
akrockz/core-dynamodb-replication

이 모듈을 사용하면 매우 간단한 API를 사용하여 한 테이블에서 다른 테이블로 데이터를 복사하고 교차 영역 복사를 지원하며…github.com

비. "execute.js"에서 소스 및 대상 AWS 계정(IAM 사용자: dynamodb-ce)에 대한 액세스 키 세부 정보를 업데이트합니다.

씨. "execute.js"에서 원본 및 대상 AWS 계정의 DynamoDb 테이블 이름을 업데이트합니다.

copy({
source: {
tableName: 'demo-dynamodb-poc-old-dynamodb', // required
config: sourceAWSConfig // optional , leave blank to use globalAWSConfig
},
destination: {
tableName: 'demo-dynamodb-poc-new-dynamodb', // required
config: destinationAWSConfig // optional , leave blank to use globalAWSConfig
},


디. 명령을 실행하기 전에 소스 및 대상 DynamoDB를 확인하고 테이블 크기를 확인하십시오.

이자형. "node execute.js"를 로컬에서 실행합니다.

명령:

node execute.js


샘플 출력:

core-dynamodb-replication ak$ node execute.js
[AWS dynamodb 200 0.379s 0 retries] describeTable({ TableName: 'demo-dynamodb-poc-1-dynamodb' })
[AWS dynamodb 400 0.06s 0 retries] createTable({ AttributeDefinitions:
[ { AttributeName: 'ingest_date', AttributeType: 'S' },
{ AttributeName: 'record_id', AttributeType: 'S' },
[length]: 2 ],
TableName: 'demo-dynamodb-poc-new-dynamodb',
KeySchema:
[ { AttributeName: 'ingest_date', KeyType: 'HASH' },
{ AttributeName: 'record_id', KeyType: 'RANGE' },
[length]: 2 ],
BillingMode: 'PAY_PER_REQUEST',
SSESpecification: { Enabled: true } })
[AWS dynamodb 200 0.065s 0 retries] describeTable({ TableName: 'demo-dynamodb-poc-new-dynamodb' })
Creating Destination Table .[AWS dynamodb 200 0.07s 0 retries] scan({ TableName: 'demo-dynamodb-poc-1-dynamodb', Limit: 25 })
[AWS dynamodb 200 0.08s 0 retries] batchWriteItem({ RequestItems:
{ 'demo-dynamodb-poc-new-dynamodb':
[ { PutRequest:
{ Item:
{ ingest_date: { S: '2019-10-14' },
record_id: { S: 'R_00020191014' },
track: { S: '702' } } } },
{ PutRequest:
{ Item:
{ ingest_date: { S: '2019-10-12' },
record_id: { S: 'R_00020191012' },
track: { S: '704' } } } },
[length]: 2 ] } })
Copied 2 items{ count: 2, status: 'SUCCESS' }
core-dynamodb-replication ak$


에프. 대상 계정에 로그인하고 DynamoDB 테이블이 생성되었는지 확인합니다.

좋은 웹페이지 즐겨찾기