コスパは要検討 ― SynologyからAmazon S3にバックアップする方法

どうも、ガジェット系ブロガーのIPPEIです。

2024年といえば正月から北陸地方の大地震でスタートしたわけだが、これは決して他人事ではなく、いつどこで大震災が起こってもおかしくはない。備えは十分すぎるということはないわけだが、PCなどのデジタル機器のデータについても同様だ。

パソコン本体は燃えてなくなろうが、20万円で新品を手に入れることができる。だが、そこに保存されていたデータはどうだろうか。もちろん、ガジェット好きな人なら自室にSynologyやQNAPのNASを置いて、毎日バックアップをしていることだろう。

いやいや、それでは不十分すぎる。PCもNASも火災で全滅したら終わりじゃないか。いつも声をグランデにして言っていることだが、バックアップというものは、少なくとも違う建物、できれば違う地域に置いた方が絶対に安心である。

ということで、今日はデータをいかに低コストで安全にバックアップするかというはなし。

僕は昔からSynologyのNASを愛用していて、PCに入りきらない容量のデータがたくさん保管されている。もちろん、すぐに使うデータはPC上にあるわけだが、それらも定期的にNASにバックアップしている。また、Dropboxももちろん課金しているが、必要かは別としてDropbox→Synologyという方向でのバックアップも、NAS上で自動的に実行されるようになっている。

PCのバックアップデータや、カメラのRAWデータ、音楽などは、できればDropboxやOneDriveにすべてバックアップしておきたいところなのだが、有料プランの2TBを余裕で超えてしまうので、なかなか難しい。いくつかのサービスに分散してバックアップしているのだが、今回はそこにAmazon S3が仲間入りすることになった。初心者には少しハードルが高いイメージがあったが、いろいろググりながら、結構いい感じに運用できるようになったので、記事にすることにした。

Synologyを使っていて、Amazon S3に定時バックアップをしてみたいという人は、以下の内容を読めばざっくりわかると思います。あとはいろいろアレンジしてみてください。

Amazon S3のバケットを安いリージョンで作成する

AWSのアカウントを作ったら、サービス一覧からS3を開き、バケットを作成する。リージョンが世界中から選べるが、東京よりも米国東部(us-east-1)の方が単価が安いので、そちらにしよう。

Amazon S3にはいくつかのストレージクラス(ストレージの種類)がある。単価が高いけどいつでもデータを取り出せるS3 標準から、単価は激安だけどデータを取り出す際にまあまあコストがかかるS3 Glacier Deep Archiceまで、ピンキリである。

僕の場合は、Synologyからアップロードする際はIntelligent-Tieringに設定している。これはアクセス頻度によって自動的に階層を変更してくれるという、ストレージクラスである。S3標準よりも若干はコストを抑えることができるだろうが、より安いコストで運用したいものだ。

そこで、バケットの設定画面で、以下のようにライフサイクルルールを設定してみた。2日後にGlacier Flexible Retrievalに移動100日後にGlacier Deep Archiveに移動するようにした。バックアップデータなんて緊急時しか取り出すことはないという想定で、どんどんDeep Archiveにしてしまおうという作戦である。

ちなみに、この設定が後にややこしい事態を引き起こすことになる。実際に運用する前に、この記事を最後まで読むことをおすすめする。

ちなみに、S3標準あるいはIntelligent-Tiering高頻度アクセスの場合で0.023USD/GBなのに対し、S3 Glacier Deep Archiveだと0.00099USD/GBということで、コストは23分の1になる。運用をはじめて100日後くらいから効果が出てくるはず。ちなみに、Deep Archiceに移動する設定は最短で100日からしか設定できない。

それから、ライフサイクルルールの設定で不完全なマルチパートアップロードを削除を設定しておいた方がよさそうである。大きなファイルが分割アップロードされている途中で中断された場合なんかに、残った残骸を削除する設定である。

Synology Hyper Backup用のユーザーを作成してS3のアクセス権を与える

DropboxやOneDriveであればHyper Backupアプリに直接アカウント情報を入力するだけで使えるようになるところだが、Amazon S3はそう簡単ではない。SynologyがS3にアクセスするためのユーザーを作成してアクセスポリシーを設定する必要がある。

AWSのサービス一覧からIAMを開く。ユーザーを新規作成して、AmazonS3FullAccessというポリシーをアタッチする。

ユーザーを作成したら、ユーザー管理画面にアクセスキーを作成というリンクがあるので開く。種類は外部アプリケーションあたりを選んでおけばいいだろう。これで、ユーザー名とアクセスキーが発行できたので、あとはSynology Hyper Backupにバックアップタスクを作成するだけだ。

Hyper Backupにバックアップタスクを作成する

Synology Hyper Backupで新しいタスクを作成していく。バックアップ先にAmazon S3を選ぶと、アクセスキーとシークレットキーを入力する画面が出てくる。これを入力すると、バケットが選べるようになる。ディレクトリは自分で好きに設定しよう。

アップロード時のストレージクラスはインテリジェント - 層化を選べばいい。翻訳が微妙であるが、これがIntelligent-Tieringのことだろう。Tierは階層という意味だ。

クライアントサイドの暗号化も一応設定しているが、キーを忘れると絶対的に復元できなくなるので要注意。そもそもS3自体が強力に暗号化されているので、いらないかもしれない…。ちなみに、暗号化の設定は後から変更できないので要注意。スケジュール関係は後から変更できるので適当でOK。

Multipart Uploadパートサイズはデフォルトの512MBでいいだろう。そもそも、Hyper Backupの挙動として、ファイル単位でアップロードされるわけではなく、約50MBごとのコンテナを作るので、この設定は関係なさそうな気がする。ファイルを取り出すときはS3の管理画面からではなく、Hyper BackupのBackup Explorerを使って、ファイル単位またはフォルダ単位でNAS上の任意のフォルダに復元する感じである。

今のところ1.27TBで月5ドル以下

さて、肝心のコストだが、結構安い。6月の請求額を見てみると、29日の夜の時点で$4.00、予想月末コストは$4.19である。今日のレート(1USD=160円)で計算すると670円なので、ざっくり年間8,000円くらいだろうか。あれ、あんまり安く感じないな…。

ちなみに、グラフを見ると3月が$20とかなり高額になっているが、これは、いろいろ試していて一度バケットを全削除したせいだ。Deep Archiveなどの長期向けストレージクラスの場合、保管コストは安いが、最低保存期間より前に削除すると、削除することに対して課金されるという仕組みである。

4月以降は安定して運用しており、毎日の定時バックアップのみを行い、平均的に1回で100MB~1GB程度のアップロードが発生している。当然、削除されているファイルもあるだろうが、Hyper Backupがどのように処理しているかは謎だ。

5月から6月で安くなっているのはDeep Archiveに移行したデータが増えたからだろう。6月の明細を見ると状況がよく分かる。Glacier Flexible Retrievalのデータが425GBあり$1.53かかっているのに対し、Glacier Deep Archiveのデータは776GBあり$0.77かかっている。Deep Archiceに移行するのはアップロードから100日後なので、来月はより安くなると思われる。

おトクなのか、否か

約1.3TBで年間8,000円ということで、微妙なラインかもしれないが、DropboxやGoogleドライブの2TBプランが年間1.5万円前後ということを考えれば、意外と安い。ただ、あくまでもS3 Glacier Deep Archiveとして保存した場合であり、データは緊急時しか取り出さないことが前提となる。Dropboxのようにいつでもどこでもデータにアクセスできたり、端末間で同期できたり、ましてや共有リンクを発行してファイルをシェアしたり、といった使い方には向いてない。

Hyper BackupがS3 Glacierに対応していないっぽい!

以降は記事公開から3日後の追記になる。非常に重要なところなので、なにとぞ読み飛ばさないでほしい。まずは、このゾッとするスクリーンショットをご覧いただきたい。

バックアップデータがGlacierに移動したためにアクセスできなくなったというエラーが発生しているではないか。冷や汗ものであるが、バックアップを

いったい何をしたらこうなったかというと、バックアップローテーションをオンにしたのである。

そもそもの話をすると、僕はてっきり、バックアップローテーションとは世代管理をしたい場合にオンにする機能であって、オフであれば最新のデータのみが保持されるものだと思っていた。ところが、実際にはオフで運用すると永久的にバックアップのバージョンが残ってしまうのである。もちろん、変更のあったファイルだけが保存されるので、容量が極端に増えるわけではないが、ファイルが削除されても容量が減ることはない。ちなみに、Backup Explorerでカレンダーから日付を選択することで、その時点のファイルやフォルダを参照することができるというわけだ。

なので、Hyper Backupを使うのであれば、少なくともバックアップローテーションをオンにして、ひとつのバージョンでよければ維持するバージョンを1に設定する必要があるというわけだ。容量に余裕があるならSmart Recycleにして32あたりにしておくものいいだろう。

本題に戻るが、Hyper BackupのバックアップローテーションとAmazon S3 Glacierの相性はよろしくなさそう、というか対応していないのだと思われる。バックアップローテーションをオフにした状態で運用すれば、変更のあったファイルがS3に追加されていくだけ(削除というプロセスが発生しない)なので、おそらくエラーは起こらないのではないだろうか。今回は、バックアップ対象のフォルダを一部除外して、バックアップローテーションをオンにしたところ、上記のエラーが発生してしまい、バックアップローテーションをふたたびオフにしても治らなくなってしまったのだ。

Glacier Deep Archiveは毎日変更があるような内容のバックアップにはあまり適さない

今回の件で勉強になったことは、S3 Glacier Deep Archiveは、過去の写真や動画といった変更や削除の必要がないアーカイブを保存しておくには適しているが、日々変更が発生するようなNAS全体のバックアップやPC全体の差分バックアップには相性が悪いということである。

というわけで、とりあえずS3 Glacier Deep Archiceへの定時バックアップは中止している。Deep Archiceの内容を180日以内に削除すると日割りで180日分の料金が発生するので、とりあえず半年くらいは放置しておこうと思う。実際に何かあった際にはデータを取り出す必要が出てくるかもしれないからね。

DropboxやOneDriveの容量が余っているなら、それを活用する方が賢い

たとえば、DropboxやOneDriveなどの有料プランは契約していないけど、NASのデータはクラウドにバックアップしておきたい(普段は取り出す必要はない)という場合は、S3も選択肢のひとつになるだろう。ただ、前述のとおり、使い勝手がよくないS3 Glacier Deep Archiceは0.00099USD/GBなのだが、S3標準だと0.023USD/GBということで、DropboxやGoogleドライブと比べるとあまりメリットを感じられない。

カメラのRAWデータや動画データというような、容量は大きいけど編集や削除する可能性がないものに限ってなら、Deep Archiceを活用してバックアップコストを抑えることができる。ただ、それなら中古のHDDにでもぶち込んでおいて、自宅以外の場所に置いておくというレガシーな方法の方が(信頼性は無視して)コストは安いかもしれない。

参考までに2024年7月現在の価格を載せておく(いずれも年払い)

OneDrive(Microsoft 365 Personal)
容量 1TB
\14,900/年

Dropbox Plus
容量 2TB
\14,400/年

Googleドライブ プレミアム
容量 2TB
\13,000/年

ちなみに、それぞれAmazonやソースネクストでライセンスを購入したほうが、さらにコストを抑えることができることは、みなさんご存知のことだろう。

ソースネクスト Dropbox 3年版

遠隔地にもう一台のNASを置いてしまう

もうひとつの選択肢としては、もう1台のSynologyのNASを自宅とは別のどこかに設置して、そこにデータを同期するという手もある。用意するNASの金額にもよるけど、長い目で見ればS3含む各種クラウドストレージに課金し続けるより安いかもしれない。

実際に試したことがないので適当なことを書いておくが、SynologyアプリのHyper Backup VaultとHyper Backupを使って、適切なポート転送を設定すれば、インターネットを介してでもNASからNASへバックアップができるはずなんだよね。もし近い将来もう1台のNASを手に入れたら実証してみようと思っている。

最後に僕が愛用しているSynologyのNASを紹介しておこう。4ベイのわりと上位モデルである。買ったときより少し値上がりしている。

ちなみに、イーサネットは1G×2つだ。拡張スロットがあるので、10Gのイーサネットボードを追加して使っている。2万円もした。せめて最初から2.5Gくらい積んでてくれよ。

メモリもデフォルトが4GBでちょっと心許ないので、こちらはメルカリで4GBの純正メモリを買って8GBにしている。メモリの増設はスループットの向上に結構貢献するとのことである。キャッシュ用のSSDは入れていない。

まあ、ぶっちゃけ、ここまで上位モデルじゃなくてもイナフだろう。2ベイのやつでも、大量のデータを保存したり、自分専用のクラウドストレージを構築したりと、機能はほとんど変わらない。また、最近はWi-Fiがだいぶ速いので、有線LAN環境でなくても十分快適に使える。

ということで、長くなってしまったが、NASだけでは物足りないガジェット好きな人は、もう一台のNASを導入したり、クラウドストレージに課金したりと、どんどん沼にはまってみてはいかがだろうか。

ではまた。

買い物しようよ!

コメントを書き込む

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

コメント

おや、コメントがまだありません。