子供が産まれるときに、今後、子供の写真を保存しておくことになるだろうからバックアップしやすい環境を作ろうと思った。
それまでは外付けのHDDに定期的に保存していたのだけど、毎回USBポートに挿すのが面倒だったし、一人ならまだしも家族ができてそれぞれが自分の保存したい写真や動画、音楽などを保存・取得しやすい環境となるとNASの方が良いだろうと当時は考えた。
もちろんクラウドサービスを利用する手も当時からあったがやはり毎月支払うコストというのを気にしていた。
結果、当時はバッファロー製のNASを人生で初めて導入し、振り返ると10年以上運用したことに先日気づいた。
運用という表現は語弊があって、過去には仕事で社内のネットワーク管理も片手間でやらせていただいたこともあり、使わないPCにLinux OSを入れて社内ファイルサーバみたいなものを作っていたりしたのでそれに比べれば運用なんてほぼやってない。使いたい時に「あれ繋がらない」ってみると電源が抜けてた、ということがあったくらいであり基本はそんなにアクセスしないのがうちのNAS だった。
タイトルにある通り、今、そのNAS環境を変更中だ。その理由はNASはRAID 1としてHDD二台に対してミラーリング設定をして運用していたのだけどそのうちの一台が壊れたことに起因する。
実際、同じ容量のHDD を購入して壊れたと思われるHDDと入れ替えたのだけど再度データのミラーリングが始まらない。ファイルの保存や取得はできるけどバックアップが取れていない感じ。そもそも管理画面へのアクセスはもっさりで非常に遅く、スマホからだと閲覧できる程度だった。何か怪しい。完全初期化すればまたストレスが少ないレスポンスになる気がするけど、初期化する前に今のデータのバックアップはとっておきたい。
ちなみにHDD が一台壊れたことに気づいたきっかけは、今の職場のメンバーの一人が「みなさん、家庭のNASってどうしてます?」という質問を投げたことから。そういえば、今はどうなってるかなと管理コンソールにアクセスしたら「一台壊れています」というアラートに気づいたことがきっかけです。あれ、エラーがあったら通知するようにしてた気がするなって調べたら Gmail のパスワードなどを直接入力するのが怖くてやめたのだった。今思えば、通知用のGoogleアカウントを作成して設定すればよかった。
結局、まずは今のNAS のデータを取ろうと思ったのと、ちょうど似たようなタイミングで部屋を掃除したら出てきた10年くらい使ってない外付けHDDたち。処分しようと初期化していたのだけど、容量が十分だったとのたまたま最近miniPC を購入したのでそれに繋いでデータを吸い出して入れてみた。
この過程で思ったより簡単にデータを吸い出せたし、吸い出した後の外付けHDDをminiPC 上で共有して他のマシンからアクセスさせたけど速度的に正直問題なさそう。NAS を新たに買い直すことも考えたけどこれで良いのではと思い始めた。
元々NASにしたのは、「家族みんながいつでもアクセスしやすい環境であること」と「故障しにくいこと」を考えてて、後者はミラーリング環境にすることで解決するつもりだった。今回もそのつもりで新しいNASの購入も考えてたけどやっぱりいい値段するし、どうしようかなと思ってたらクラウドストレージをバックアップとして使う記事を見かけた。
クラウドストレージに直接保存・閲覧する方法は便利なのだけど毎月の支払いは発生する。自宅に外付けHDDを設定して普段はここにアクセスし、バックアップ先をクラウドに置いて非常時はここからバックアップを取得する運用で良いかなと気づいた。ミラーリングしても自宅のマシンが火事や地震で壊れても困るし、盗難とかもあるしね。今のNASの近くにメダカの水槽があるので実は水を被って壊れる可能性が一番高そう。
そんな色々考えて以下の環境を構築中。現在同期中で時間がかかりそうなのでこの記事を書いてます。
やったこと
Windows PC のセットアップ
外付けHDDの初期化
外付けHDDの共有ドライブ化
WIndows PC の Wake on LAN 化
Tailscale のセットアップ
WIndows PC上からAWS S3 にファイルバックアップ
1. Windows PC のセットアップ
自宅に Windows OSのマシンガなかったのでテスト環境として使えるようにと miniPC というのが値段の割にスペックが良いと聞いたので導入。
印象としてはサイズに対してそれなりにサクサク動いて満足です。
2. 外付けHDDの初期化
前述したように、外付けHDDが余っており、NAS を構築するより便利かなと思ったため。
macOS では認識されなかったりで初期化もなかなか苦労しました。
3. 外付けHDDの共有ドライブ化
NAS の代わりにネットワーク越しでアクセスできるストレージが欲しかったので設定しました。
4. Windows PC の Wake on LAN 化
外出先から電源を入れてアクセスできるようにするため
Amazon Alexa で電源を入れられるようにセットアップ
5. Tailscale のセットアップ
リモート先から Windows にアクセスできるように。今のところは予定はないのと、この記事のバックアップには全く関係はありません
6. WIndows PC上からAWS S3 にファイルバックアップ
AWS S3 にローカルファイルをアップロードする
備忘録としてやったことを記録する
AWS IAM User を作って、アクセスキーを利用
IAM User に割り当てているPolicyはこちら。

アクセスキーを環境変数にセット
環境変数にセットされたことを確認する方法
Windows 初心者なのでCLI で確認する方法がわからなくて調べた。
Powershell の場合:
`dir env:` で環境変数一覧が表示可能
`Get-ChildItem env:` でも取得できるらしい
コスト
8月にこれまでローカルNASにあったファイルを全てAWS上にアップロードしたので3,000円くらいかかった。それ以降は大量のファイルをアップロードしない限り低く収まるはず。
また思い出したら更新します。
