PloneのバックアップをAmazon S3へ
Plone4から、blobファイルのバックアップも必要となりました。それを解決するレシピ(設定プロダクト)を公開しました。その機能として、バックアップファイルをAmazon Webサービス S3(ストレージサービス)へ転送する機能も付加されています。このレシピの紹介とデモを(株)CMSコミュニケーションズ 寺田 学 (@terapyon)が行いました。
当日は、画面のを用いて実際の動作をデモしました。
紹介したレシピ
寺田自身が開発をしている、 c2.recipe.bkups3 の紹介
レシピの概要
- collective.recipe.backup (Plone4標準) を用いたData.fsのバックアップ。内部的にはrepozoを使ってバックアップしている。
- blobfolderのバックアップ
- Data.fsのバックアップファイルと、blobバックアップファイルをAmazon S3に転送
必須要件
- Plone4以降
- SSLサポートされているPythonを使っている(Unifideinstallerの場合、without-sslを指定していないこと)
- Amazon Web Service(AWS)のユーザアカウント
- Amazon S3 のバケット(Bucket) (事前に作っておく)
設定方法
buildout.cfgに下記を追記:
parts = ... bkups3 [bkups3] recipe = c2.recipe.bkups3 use_s3 = true aws_id = xxxxxxxxxxxxx aws_key = xxxxxxxxxxxxxxxxxxxxxxxxxx bucket_name = xxxxxxxxxx bucket_sub_folder = mysitename sync_s3_filesfolder = true blob_store_count = 7
上記設定後、
bin/buildout -N
を行うと、下記の実行ファイルが出来上がり、動作を実行出来る。
bin/bkups3
設定パラメータの説明
- blob_bk_dir_name
- ローカルバックアップフォルダ名 defalut: blobbackups
- use_s3
- default: false S3に転送させるときは、trueとする
- aws_id
- <aws access key>
- aws_key
- <aws secret key>
- bucket_name
- <S3 bucket name> Amazon S3のbucket名
- bucket_sub_folder
- Option: S3上のサブフォルダ名
- sync_s3_filesfolder
- default: true Data.fsファイルのバックアップフォルダとS3上のフォルダの同期をとるかの設定。 もし、過去のものをS3上に全て残しておく場合は、falseを設定
- blob_store_count
- defalut : 1 blobバックアップファイルの保存個数。多くすると以前のものへの復旧ができるが、S3のデータが多くなる。
最後に
現在RCバージョンを出しているが、多くの環境でのテストが出来ていない。使っていただきフィードバックをいただけると非常にありがたい。