プリンストンが販売する高機能ストレージ「Drobo」を活用しよう 第46回
Drobo自体でAmazon Web Servicesにアクセス!
Droboに「AWS CLI」を入れ、Amazon S3にデータバックアップ
2019年03月26日 11時00分更新
Drobo上のファイルをS3にコピーする
これでようやく、DroboのデータをS3にバックアップするための準備が整った。試しに、Drobo上のファイルをS3にコピーしてみよう。
まず、WindowsのエクスプローラーでDroboの共有フォルダ「Public」の中に「memo」フォルダを作成。適当なファイルを保存しておく。ここでは「01.jpg」という画像ファイルを保存しておいた。
続いて、Tera Termでそのファイルが保存されているディレクトリに移動する。
$ cd /mnt/DroboFS/Shares/Public/memo
なおNAS型Droboの場合、Adminユーザーのホームディレクトリは以前からなぜか「DroboFS」となっている(Drobo FSは2世代前の製品)。「Drobo5n」や「Drobo5n2」ではないので注意しよう。
次に、カレントディレクトリ(現在いるディレクトリのこと。ここでは「memo」フォルダ)にあるファイルを実際にS3にコピーする。
$ aws s3 cp {ファイルパス} s3://{バケット名}
上記のファイルパスにコピーしたいファイル名を、バケット名にコピー先のバケットの名前を入れて実行だ。今回の例ではDrobo用に「drobo01.backup」というバケットを作成しているので次のようになる(drobo01.backup部分は自分のバケット名に置き換えてほしい)。
$ aws s3 cp 01.jpg s3://drobo01.backup
これで、「memo」フォルダ上の画像「01.jpg」がAWS S3上の「drobo01.backup」バケットにコピーされた。ちゃんとファイルがS3のバケットにコピーされているか確かめてみよう。
$ aws s3 ls s3://drobo01.backup
すると、バケットの内容が表示される。「01.jpg」が含まれていればコピー成功だ! ここまでの方法を使えば、ファイル単位でのバックアップが可能になる。5TB未満なら大きな容量のファイルも問題なくコピーできるので(ただし無料枠は5GBまで)、複数のファイルを取り扱いたい場合はZIPなどにまとめてからバックアップすると効率的だ。
もちろん、フォルダ同期など、より高度なバックアップも行うことができる。
特定のフォルダの内容をS3上のフォルダと同期
S3の場合、WindowsやMacのようなフォルダ階層がなく、すべてのオブジェクトがバケット内の同じ階層に保存される。しかし、それではユーザーにとって分かりづらいため、オブジェクトに共通の名前(プレフィックス)をつけて、便宜的にフォルダに見せかけている。
たとえば、「memo」フォルダに「01.jpg」というファイルを保存すると、S3の場合はバケット内に「memo/01.jpg」という名前のオブジェクトが格納されることになる。この「memo/」部分をプレフィックスと呼ぶ。言ってみればグループ名のようなものだが、実用上はディレクトリのパスと似たようなものなので、通常はユーザー側であまり意識する必要はない
ただし、AWS CLIでS3のバケットに新しくフォルダを作成したい場合などは注意が必要。LINUXでよく使う「mkdir」コマンドではフォルダを作成できないからだ。代わりに、次のようなコマンドを実行する。
$ aws s3api put-object --bucket バケット名 --key "フォルダ名/"
今回の場合は、drobo01.backupというバケット内に「memo」フォルダを作成したいので、次のようになる。
$ aws s3api put-object --bucket drobo01.backup --key "memo/"
なお、フォルダ名の末尾のスラッシュをつけ忘れるとフォルダではなくファイルが生成されるので注意。ちゃんとフォルダが作成されたか確認したい場合は、
$ aws s3 ls s3://drobo01.backup
とコマンドを実行する。「PRE memo/」のように「PRE」に続いてフォルダ名が表示されたら、ちゃんとフォルダが作成されている証拠だ。
フォルダが作成できたら、Drobo内のフォルダと同期する設定を行おう。まず、次のコマンドを実行してDroboの共有フォルダ「Public」に移動する。
$ cd /mnt/DroboFS/Shares/Public
続いて、Drobo上の「memo」フォルダと、S3上の「memo」フォルダを同期する設定を行う。
$ aws s3 sync memo s3://drobo01.backup/memo
これで、双方の「memo」フォルダを同期できる。あとは必要なタイミングで上記コマンドを実行すれば、その都度同期が実行され、差分をバックアップできる。
もちろん、これらはあくまでも参考例で、フォルダ名やバケット名が異なっていても問題ない。上記コマンド内の「memo」と、バケット名「drobo01.backup」を自分の環境に合わせて変更して試してみてほしい。
(次ページ、「AWSのアカウントを作成する」に続く)
この連載の記事
-
第47回
sponsored
まさに究極のDrobo! Thunderbolt 3&SSDキャッシュ対応の「Drobo 8D」を試す -
第45回
sponsored
高機能ストレージ「Drobo」はトラブル対策も万全! -
第44回
sponsored
Windowsの機能を使ってDAS型のDrobo 5CをNAS化する! -
第43回
sponsored
Droboなら自分専用のクラウドストレージも簡単に実現できる! -
第42回
sponsored
Droboが柔軟かつ安全な理由は独自RAIDの仕組みにあった! -
第41回
sponsored
Droboの騒音や発熱、消費電力を徹底検証! -
第40回
sponsored
写真愛好家向けのバックアップとしてDroboはどうだろう? -
第39回
sponsored
家庭やオフィスでのデータ共有に便利な「Drobo 5N2」は設定も超簡単! -
第38回
sponsored
大切なデータの保存に役立つ「Drobo 5C」をゼロから紹介! -
第37回
sponsored
Drobo管理のキモ「Drobo Dashboard」を細かく紹介 - この連載の一覧へ