DynamoDB 테이블을 Amazon S3에 백업하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 12월 17일

Amazon Simple Storage Service(Amazon S3)를 사용하여 Amazon DynamoDB 테이블을 백업하려면 어떻게 해야 합니까?

간략한 설명

DynamoDB는 두 가지 기본 백업 방법을 제공합니다.

두 방법 모두 Amazon S3를 사용합니다. 하지만 이러한 백업에 사용되는 S3 버킷에는 액세스할 수 없습니다. DynamoDB S3로 내보내기 기능은 로컬에서 다운로드하거나 다른 AWS 서비스에서 사용할 수 있는 백업을 가장 쉽게 만드는 방법입니다. 추가적인 사용자 지정이 필요하다면 대신 AWS Data Pipeline, Amazon EMR, AWS Glue를 사용하세요.

해결 방법

DynamoDB S3로 내보내기 기능

S3로 내보내기 기능을 사용하는 방법의 예시는 코드 작성 없이 Amazon DynamoDB 테이블 데이터를 Amazon S3의 데이터 레이크로 내보내기를 참조하세요.

  • 장점: 가장 쉬운 방법입니다. 이 기능을 사용하면 사용자 지정 애플리케이션을 구축하거나 코드를 작성하지 않고도 모든 AWS 리전과 계정에서 데이터를 내보낼 수 있습니다. 이 내보내기는 프로덕션 테이블의 읽기 기능이나 가용성에 영향을 미치지 않습니다. 또한, 자동 내보내기를 설정하면 정기적으로 데이터를 백업할 수 있습니다.
  • 단점: 이 기능은 DynamoDB JSON 또는 Amazon Ion 형식의 테이블 데이터만 내보냅니다. 테이블 데이터를 다른 형식으로 내보내려면 대신 다음과 같은 방법을 사용하세요.

Data Pipeline

AWS Data Pipeline을 사용하여 테이블을 동일한 계정 또는 다른 계정의 S3 버킷으로 내보냅니다. 자세한 내용은 AWS Data Pipeline을 사용하여 DynamoDB 데이터 가져오기 및 내보내기를 참조하세요.

  • 장점: Data Pipeline uses Amazon EMR to create the backup, and the scripting is done for you. 이 태스크를 수행하기 위해 Apache Hive 또는 Apache Spark를 배울 필요가 없습니다.
  • 단점: 이 방법은 다른 방법보다 사용자 지정 기능이 떨어집니다. Amazon S3에 대한 지속적 백업을 생성하려면 다른 방법 중 하나를 선택하세요. 다른 AWS 서비스에서 백업을 사용하려는 경우에도 이 방법은 권장하지 않습니다.

Amazon EMR

Hive를 사용하여 S3 버킷으로 데이터를 내보냅니다. 자세한 내용은 DynamoDB에서 데이터 내보내기를 참조하세요. 또는 오픈 소스 emr-dynamodb-connector를 사용하여 Spark 또는 Hive에서 고유한 사용자 지정 백업 방법을 관리합니다.

  • 장점: 활성화된 Amazon EMR 사용자이고 Hive 또는 Spark에 친숙하다면 Data Pipeline이나 S3로 내보내기 방식보다는 이 방법으로 더 많은 제어 기능을 이용할 수 있습니다.
  • 단점: Amazon EMR을 처음 사용하는 경우 이러한 방법은 권장하지 않습니다. Amazon EMR을 사용하지 않지만, 지속적이고 사용자 지정 가능한 솔루션을 원하는 경우 AWS Glue에 익숙하지 않더라도 AWS Glue 방법을 사용하는 것이 좋습니다.

AWS Glue

AWS Glue를 사용하여 테이블을 Amazon S3로 복사합니다. 자세한 내용은 AWS Step Functions 및 AWS Glue를 사용하여 Amazon DynamoDB 테이블을 Amazon S3로 내보내는 방법을 참조하세요.

  • 장점: Amazon EMR을 사용하지 않는 연속적인 맞춤형 솔루션이 필요하다면 권장합니다.
  • 단점: AWS Glue에 익숙하지 않은 경우 이 방법은 어려울 수 있지만, Amazon EMR만큼 어렵지는 않을 수 있습니다. 이 방법은 일반적으로 Data Pipeline 방법보다 비용이 많이 듭니다.

이러한 옵션 중 어느 것도 원하는 유연성을 제공하지 않는 경우 DynamoDB API를 사용하여 자체 솔루션을 생성하세요.


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요합니까?