Amazon S3 で DynamoDB を使用してテーブルデータをエクスポートおよびインポートする Amazon S3 - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon S3 で DynamoDB を使用してテーブルデータをエクスポートおよびインポートする Amazon S3

Amazon DynamoDB は、Amazon S3を使用して Amazon S3 へのテーブルデータのエクスポートをサポートしています。DynamoDB JSON および Amazon Ion 形式でデータをエクスポートできます。エクスポートされたデータは圧縮され、Amazon S3 キーまたは AWS Key Management Service (AWS KMS) キーを使用して暗号化できます。テーブルをエクスポートしても、テーブルの読み取り容量は消費されず、エクスポート中のテーブルのパフォーマンスと可用性にも影響しません。別の AWS リージョンであっても、アカウント内の S3 バケットまたは別のアカウントにエクスポートできます。Amazon S3 へのエクスポートを実行する前に、ソーステーブルでPoint-in-timeリカバリ (PITR) を有効にする必要があります。 Amazon S3

Amazon DynamoDB は最近、SAmazon S33 から直接テーブルデータをインポートするサポートを追加しました。以前は、Export to S3 を使用してテーブルデータをエクスポートした後、抽出、変換、ロード (ETL) ツールを使用して S3 バケット内のテーブルデータを解析し、スキーマを推測して、ターゲットの DynamoDB テーブルにロードまたはコピーする必要がありました。これは面倒なプロセスであり、テーブルのデータ構造が時間の経過とともに変化しても柔軟性を提供しませんでした。また、AWS Glue などの ETL ツールを使用すると、インフラストラクチャとインポート中に消費される書き込み容量に対して追加料金が発生しました。

S3 からのインポート機能は、ターゲットテーブルの書き込み容量を消費せず、DynamoDB JSON、Amazon Ion、カンマ区切り値 (CSV) などのさまざまなデータ形式をサポートします。データは、非圧縮または圧縮 (gzip または zstd) 形式にすることもできます。

インポートとエクスポートは、AWS マネジメントコンソール、AWS コマンドラインインターフェイス (AWS CLI)、または DynamoDB API を使用して実行できます。

次の図は、ソースアカウントの DynamoDB からターゲットアカウントの S3 バケットに移動し、次にターゲットアカウントの DynamoDB インスタンスに移動するデータを示しています。

""

Amazon S3 を使用して、あるアカウントから別のアカウントに DynamoDB テーブルをエクスポートおよびインポートするには、大まかに以下のステップが必要です。

  1. ターゲットアカウントに S3 バケットを作成し、S3 バケットポリシーをアタッチして、ソースアカウントからのアクセスを許可します。

  2. ソースアカウントで、DynamoDB コンソールで、S3 へのエクスポートを選択し、ソース DynamoDB テーブルを選択し、ターゲットアカウントで S3 バケットを指定します。詳細については、「DynamoDB のドキュメント」を参照してください。

  3. ターゲットアカウントで、DynamoDB コンソールで S3 からインポート を選択し、ターゲットアカウントで S3 バケットを指定します。詳細については、「DynamoDB のドキュメント」を参照してください。

利点

  • これはサーバーレスソリューションです。

  • このソリューションは、最大テラバイトの大規模なデータセットで機能します。

  • ソーステーブルと宛先テーブルでプロビジョニングされた容量は消費されません。

  • ソーステーブルのパフォーマンスや可用性には影響しません。

欠点

  • 既存のテーブルへのインポートは、現在この機能ではサポートされていません。インポートプロセスによって新しいテーブルが作成されます。