2
2

More than 3 years have passed since last update.

duplicityでS3 Glacierにバックアップ

Last updated at Posted at 2021-02-25

duplicityはLinuxで差分バックアップを取るソフトです。
最近はクラウドストレージにも対応していて、Amazon S3にバックアップが置けます。
ここでGlacierを使うと容量料金が下がりますが、バックアップのバケット全体にGlacierに移動するLifecycleを設定してしまうと、メタデータまでGlacierに移動されてしまいます。次回のバックアップ時に、メタデータ取り出しのためにバックアップ開始まで何時間もかかる羽目になります。

容量を喰わないメタデータはS3のままで、データのみをGlacierに移動する方法がわかりました。

データのみを区別するためのprefix

必須なのは--file-prefix-archiveです。一つのバケット内に複数のバックアップを置くためにホスト名などをつける場合、archiveのあとにつける必要があります。

OPTS="--file-prefix-archive=archive-${HOST}- --file-prefix-manifest=manifest-${HOST}- --file-prefix-signature=signature-${HOST}-"

S3をバックアップ先として指定

export AWS_ACCESS_KEY_ID=……
export AWS_SECRET_ACCESS_KEY=……
OPTS="${OPTS} --s3-use-new-style --encrypt-key=${GPG_KEY} --sign-key=${GPG_KEY}"
duplicity $EXCLUDE $OPTS $SRC s3+http://teikan/duplicity

バックアップ結果

こんな感じでS3にバックアップが取れました。
image.png
データ(archive)5GBに対して、メタデータ(manifest+signature)は39MBなので、S3に置いたままでも惜しくありません。

Lifecycleの設定

バケット名duplicityに加えて、--file-prefix-archiveで指定したarchiveをプレフィックスに指定するのがポイントです。

image.png

結果

数日後に確認すると、期待通りarchiveだけGlacierに移動されていました。

image.png

他の方法

Lifecycleに頼らず、--s3-use-glacier というオプションでいきなりGlacierに置く方法もあるようですが、ちゃんと動くのかよくわからないチケットもあり、試していません。

2
2
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
2
2