結局、個人で大容量のバックアップをするなら何が「お得」なのか

ジョブカン事業部のアドベントカレンダー19日目です。

https://qiita.com/advent-calendar/2024/jobcan

ジョブカン事業部でセキュリティ関連の業務を担当している @77a5b7 と申します。

今回は、私が趣味で構築を検討しているバックアップ環境について、候補環境をまとめたためご紹介します。

## 背景

趣味で画像や音声データを多量に扱う関係上、自宅にてファイルサーバを運用しています。

このファイルサーバについて
+ デスクトップPCを利用しているため、耐久性が心配
+ ファイルの読み書きが頻繁に発生するため、HDD等の破損が心配
+ カメラで撮った写真など、一度破損すると復元できないデータなどもあり心配

等の理由から、長期間の保存に耐えうる仕組みを検討、構築運用します。


## 前提

検討する上での前提条件をまとめます。
+ 現状(2024/12現在)で10TBのデータがある
+ データはオンプレ環境上のファイルサーバ(デスクトップPC)上にある
+ 10年間はシステムを維持する前提とする
+ 年間で2TBずつデータが増える想定とする
    + つまり、10年後には30TBになる
+ データは書き込みがベースであり、緊急時以外は読み込みしない
    + データを読み書きするのは、現状のファイルサーバから行う
+ データはすぐに取り出せる必要はない
+ 機器の破損は常識の範囲で検討する
    + 10年間でデータが完全に喪失する可能性を1%未満とする


つまり、
| 要件 | 内容 |
| ---| --- |
| データ容量 | 30TB以上 |
| 元データ配置 | オンプレ | 
| 保持期間 | 10年間 |
| データ方向 | 緊急時以外、書き込みのみ | 
| 取り出し時間 | ある程度 | 
| 完全喪失の可能性 | 保持期間内で1%未満 | 

を検討する際の検討項目として含めます。

また、下記中の価格は記事記載時の最安値で計算しております。

## 検討候補

下記、3パターンについて検討します。
1. HDDにバックアップ
2. NASにバックアップ
3. AWSにバックアップ

## HDDにバックアップ

まずは、一般的なHDDに対するバックアップについて考えます。
(この項目一番算出が難しい候補でした。)

### データ容量
+ 8TBのHDDを4枚購入することで、要件を満たします

### 元データ配置
+ オンプレのファイルサーバにそのままHDDを接続すれば問題なく運用できそうです

### データ方向
+ 特に気にするべき項目はありません

### 取り出し時間
+ 即時取り出し可能です

### 完全喪失の可能性

+ これに関しては検討が難しいですが、バックアップ時のみサーバに接続しそれ以外はケース保管であれば、破損の確率は限りなく少ないと考えます
+ 基本的に破損はないと考えるのであれば完全喪失はないですが、HDDが1枚壊れるごとに1/nのデータが完全喪失する可能性があります

### その他
+ 運用はいちいちHDDの取り外しがあったり、外したHDDの取り扱いに気を使う必要があったりと面倒が多そうな印象です

### 価格

| 物品 | 単価 | 個数 | 金額
| --- | --- | --- | --- |
| western digital社製HDD WD80EAAZ | 19,140  | 4 | 76,560

総じて、76,560円


## NASにバックアップ

次に個人的に大本命のNASへのバックアップについて検討します。

### データ容量

+ 後に記載します、「完全喪失の可能性」の観点からRAID構成を検討する場合、下記のパターンにて検討を行いました

| HDD枚数 | 1枚当たりの容量 | RAID | 利用可能容量 |
| --- | --- | --- | --- |
| 1 | 30TB | - | 30TB |
| 3 | 16TB | 5 | 32TB |
| 4 | 16TB | 6 | 32TB | 
| 6 |  8TB | 6 | 32TB | 


### 元データ配置
+ オンプレのネットワークにそのままNASを接続すれば問題なく運用できそうです

### データ方向
+ 特に気にするべき項目はありません

### 取り出し時間
+ 即時取り出し可能です

### 完全喪失の可能性
+ これについては、HDDの特性から計算することができます
+ HDDは一般的なNAS用HDDより、下記の仕様で計算しました
    + MTBF: 100万時間
    + 稼働時間: 24時間365日
    + 稼働期間: 10年間

以上の前提から各HDDのパターンの故障率は以下の通りです。
| HDD枚数 | RAID | 故障率 |
| --- | --- | --- | 
| 1 | - | 8.39% | 
| 3 | 5 | 0.0008% | 
| 4 | 6 | 0.0000676% | 
| 6 | 6 | 0.000135% |


### その他
+ 個人的にですが、自宅環境内に大規模なNASを構築するということにロマンを感じております

### 価格

+ 故障率と各HDDの手に入れやすさから、RAID6の8TB 6枚をピックアップして計算しています

| 物品 | 単価 | 個数 | 金額
| --- | --- | --- | --- |
| QNAP社製NAS TS-673A | 129,980 | 1 | 129,980 |
| western digital社製HDD WD80EFPX | 32,560 | 6 | 195,360 |

総じて、325,340円




## AWSにバックアップ

最後にAWSに対してバックアップを取る方法について検討します。

(実際、この計算を行うために本件について調査をしております)

なお、筆者はインフラ周りには明るくないため、間違いなどがあった場合にはご指摘いただけますと幸いです。

### データ容量
+ 従量課金制のため、容量については検討しません
+ ただし、利用するストレージは「Amazon S3 Glacier Deep Archive」を想定しています

記載時点での金額
| 科目 | 金額 |
| --- | --- | 
| 1GB毎 | 0.00099 USD |

### 元データ配置
+ オンプレ上のデータをクラウド上にアップする必要があるため、専用の仕組みを検討する必要があります

### データ方向
+ Amazon S3 Glacier Deep Archiveは
    + アップロード時にはリクエスト毎の
    + ダウンロード時にはリクエスト毎とデータ容量毎の金額が発生します

記載時点での金額
| データ方向 | 科目 | 金額 | 
| --- | --- | --- | 
| アップロード | 1000リクエスト毎 | 0.05 USD |
| ダウンロード | 1000リクエスト毎 | 0.025 USD |
| ダウンロード | 1GB毎 | 0.0025 USD |


### 取り出し時間
+ リクエストからダウンロード可能になるまでに12時間かかります

### 完全喪失の可能性

+ 安心と信頼のイレブンナイン(99.999999999%)です

### その他
+ バックアップ用の機構をファイルサーバ内に構築する必要があります

### 価格

+ 計算を簡単にするため「10TBから1年で2TBずつ増える」のではなく「10年間20TBのデータを預ける」とします
(20TBは10年間の預け入れ容量の平均値です)
また、1ファイル当たりの容量は800MB(0.8GB)とします


1. ストレージ容量

    | 項目 | 計算 | 値 |
    | --- | --- | --- |
    | 総データ量 | 20 TB * 1,024 | 20,480GB |
    | 月額費用 | 20,480 GB * 0.00099 USD | 20.2752 USD |
    | 年間費用 | 20.2752 USD * 12 カ月 | 243.3024 USD |
    | 10年間 | 243.3024 USD * 10 年間 | 2,433.024 USD |

2. アップロード費用

    | 項目 | 計算 | 値 |
    | --- | --- | --- |
    | ファイル数 | (20 TB * 1,024) / 0.8 GB | 25,600 ファイル |
    | アップロード時の金額 | 25,600 / 1,000 リクエスト * 0.05 USD | 1.28USD |

3. ダウンロード費用

    | 項目 | 計算 | 値 |
    | --- | --- | --- |
    | ファイル数 | (20 TB * 1,024) / 0.8 GB | 25,600 ファイル |
    | ダウンロード時の金額(リクエスト) | 25,600 / 1,000 リクエスト * 0.025 USD | 0.64 USD |
    | ダウンロード時の金額(GB) | 20 TB * 1,024 * 0.0025 USD | 51.2 USD |



4. 全体で計算

    | 物品 | 単価 | 個数 | 金額
    | --- | --- | --- | --- |
    | ストレージ費用 | 2,433 USD | - | 2,433 USD |
    | アップロード費用 | 1.28 USD | - | 1.28 USD |
    | ダウンロード費用(リクエスト) | 0.64 USD | - | 0.64 USD |
    | ダウンロード費用(GB) | 51.2 USD | - | 51.2 USD |

1USD = 153円で計算すると

総じて、380,380円

## まとめ

今回の結果をまとめると

+ 金額だけで考えればHDD
+ 安定性と金額のバランスが良いNAS
+ 絶対の安全性を取るならAWS

となるかなと思います。

私は個人的な好みからNASでの構築を今後進めていこうと思います。

皆様はどのバックアップ方法が好みでしょうか。

## お知らせ

DONUTSでは、新卒中途を問わず積極的に採用活動を行っています。
我々ジョブカン事業部も、一緒に働くエンジニアを募集しています。気になる方はお気軽に応募してみてください。

https://www.donuts.ne.jp/recruit/

https://recruit.jobcan.jp/donuts/show/B001/1396297