LoginSignup
5
3

More than 1 year has passed since last update.

DynamoDBの自動バックアップ/Export機能を使ってみた

Last updated at Posted at 2021-11-11

 はじめに

AWSのリソースを引っ越しする要件があってDynamoの移行について調べていたところ、最近エクスポートする機能がリリースされたようで、早速使ってみたので書き残してみます。
以下も参考にしました。

 PITR:ポイントインタイムリカバリとは

Dynamoのテーブル設定でPITRをONにすることで、日次で自動バックアップが取られ、リカバリができるようになる機能です。
この機能を有効にしないとエクスポートはできません。
エクスポートが済んだら無効に戻すこともできます。

 使ってみた

上記参照した手順はCLIを使っていますが、マネジメントコンソールからでも簡単に使えます。
テーブルのバックアップ設定で、PITRを有効化します(デフォルト無効)

image.png

「復元」ボタンから復元ができますが、復元先は指定した別の新規テーブルになる点に注意が必要です。

image.png

自動バックアップと別に、S3へJson形式でエクスポートができます。
読み取り/書き込みキャパシティユニットの制限は受けずに全量吐き出してくれます。

image.png

こんな形式のフォーマットで、型の情報も一緒に添えられてます。

data.json
{"Item":{"slackId":{"S":"UDxxxxxx"},"connpassId":{"S":"user01"},"githubId":{"S":"user01"},"qiitaId":{"S":"user01"},"name":{"S":"user01"},"udemyId":{"S":"user01"}}}
{"Item":{"slackId":{"S":"U0yyyyyy"},"qiitaId":{"S":"user02"},"name":{"S":"user02"}}}

さいごに

Dynamoのデータ移行のために調べたPITRですが、

  • インポート機能が無い
  • 既存のインポートツールはkey:value形式のJsonで作っていたのでエクスポートデータがそのまま使えない

という点から、この機能は使わずコチラのツールを利用させてもらいました。
(読み取り/書き込みキャパシティユニットの制限は受けるのでチューニングは必要)

一方で、自動バックアップされるのは心強いのでPITRの機能は有効にしたまま運用することにしました。
料金は 毎月0.228USD/GB 程と、気にするほどでも無さそうです。

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3