業務でS3を使うことが多くなったが、

S3自体の耐久性は99.999999999%(イレブンナイン)なので問題無いとしても

プログラムやAWSコンソール画面で”うっかり削除しちゃった”系のミスがあったときに

バケットごとバックアップする機能があったら便利だなーと思って

AWS CLIのS3のサブコマンド見てたらあったので紹介!

詳細はこちらから。

 

1. S3のバケット内のオブジェクトをローカルPCにバックアップ

 

用途としてはバックアップというよりは、

“S3からデータを一括で引っ張ってきて加工して再アップロード”

みたいなことをするときに便利。

オブジェクトキーのセパレータがスラッシュ(/)の場合は自動的にディレクトリを作って階層構造にしてくれる。

 

2. S3のバケット内のデータを別のバケットにバックアップ

 

バックアップに使える以外には、テスト環境と本番環境のデータを同期する時など

複製して使いたい場合に有効。

異なるリージョン間でも同期できたので、S3を使っててレイテンシを考慮する場合は使えるかも!?

S3使っててレイテンシ考慮するケースってほとんどCloudFront 使っちゃうと思うけど…。

 

3. ローカルのデータをS3にバックアップ

 

バックアップのクラウドのデータストレージとしてS3を利用する場合に有効。

–deleteオプションを付けるとローカルに存在しないファイルは自動的にS3バケット上で削除してくれる。

 

うまく使えば簡易的なDropbox的なこともできるかも!?

 

こんな感じでAWS CLIは簡単にインストールできて、簡単に使えて

bashに組み込めるから少々テクニカルなこともできちゃうのでオススメです!