クラウドバックアップ戦略:包括ガイド
3-2-1バックアップルール、自動化、復旧テストなど、ビジネス継続性を支える信頼性の高いクラウドバックアップ戦略の構築方法を解説します。
実用的なクラウドバックアップ戦略は3-2-1ルールに従います。データの3つのコピーを、2種類の異なるメディアに保存し、1つはオフサイトに置く。実践的には、プライマリ(本番ストレージ)・ローカルバックアップ(NASまたは外付けドライブ)・少なくとも1つのクラウド層(Backblaze B2、AWS S3 Glacier Deep Archive、Wasabi)という構成になります。Object Lockによる不変性を追加し、アップロード前にAES-256でクライアントサイド暗号化し、resticまたはBorgで夜間に自動化し、そして多くのチームが省略するステップ — 四半期ごとにフル復元をテストします。テストされた復元がなければ、バックアップではなく希望があるだけです。
2026年も3-2-1が有効な理由
3-2-1はフィルム写真の時代に生まれた考え方ですが、数学は変わっていません。3つのコピーがあれば、いずれか1つの障害(ドライブクラッシュ、ランサムウェア、誤ったrm -rf)が発生しても2つのコピーが残ります。2種類のメディアは系統的障害を防ぎます。悪いファームウェアが特定のSSDモデル全体をブリックしたり、クラウドプロバイダーのリージョン全体がダウンしたりするケースです。オフサイトは建物レベルの事象(火災、洪水、盗難、ラックにトラックが衝突)から守ります。
近代的なバリエーションも存在します。3-2-1-1-0は不変コピーを追加し、復元テストでエラーゼロを要求します。4-3-2(多くのMSPが使用)は4つのコピーと2つのクラウドベンダーを維持します。どれかを選んで文書化し、守り続けてください。具体的な数より規律のほうが重要です。
コストと復旧速度のバランスでストレージ層を選ぶ
クラウドプロバイダーはストレージクラスを大幅に異なる価格で提供しています。
| 層 | GB/月あたりのコスト | 初回バイト遅延 | Egress料金 | |------|-------------------|---------------------|-------------| | S3 Standard | $0.023 | ミリ秒 | $0.09/GB | | S3 Glacier Instant | $0.004 | ミリ秒 | $0.03/GB | | S3 Glacier Flexible | $0.0036 | 3〜5分 | $0.02/GB | | S3 Glacier Deep Archive | $0.00099 | 12時間 | $0.02/GB | | Backblaze B2 | $0.006 | ミリ秒 | $0.01/GB | | Wasabi | $0.0069 | ミリ秒 | 無料(月間保存量の1倍まで) | | Cloudflare R2 | $0.015 | ミリ秒 | 無料 |
バックアップ専用であれば、Glacier Deep Archiveは月約1ドル/TB程度ですが、復元に12時間かかるため「昨日削除したファイルを今すぐ」という用途には使えません。2層構成が実用的です。直近のバックアップはホット層(B2またはR2)、30日以上経過分はGlacier Deep Archiveにライフサイクル移行します。
具体的な3-2-1の実装
2TBの作業データを例にしたスタック:
- 本番:ノートPC、サーバー、SaaSデータ(プライマリコピー)
- ローカル:ZFSスナップショット付きNAS、使用可能容量4TB、防火金庫保管の外付けUSBドライブへ週次ミラー
- クラウドホット:resticを使ったBackblaze B2バケット、夜間増分、90日保持、2TBで月約1,800円
- クラウドコールド:ライフサイクルポリシーによるS3 Glacier Deep Archive、年次スナップショット、7年保持、2TBで年約3,600円
月合計コスト:7年分の履歴を持つ完全な3-2-1カバレッジで2,000円未満。ノートPC1台の交換費用より安い金額です。
噛まないツールでバックアップを自動化する
Resticはオブジェクトストレージへの暗号化増分バックアップの事実上の標準です。重複除去・圧縮・AES-256-CTR+Poly1305による暗号化を行い、B2・S3・Azure・GCS・SFTPをネイティブサポートします。
restic -r b2:hexa-backups:production init
restic -r b2:hexa-backups:production backup /var/data \
--exclude-file=/etc/restic/exclude.txt \
--tag nightly
restic -r b2:hexa-backups:production forget \
--keep-daily 7 --keep-weekly 4 --keep-monthly 12 --prune
systemdタイマーまたはcronで夜間実行します。リポジトリのパスワードはrootのみ読み取れるファイルに保存してください。Borg Backupはローカルリポジトリが必要な場合の優れた代替です。KopiaはGUIが欲しい場合により使いやすい新しい選択肢です。
Windowsワークステーションには、DuplicatiまたはWindows File History内蔵とクラウドターゲットの組み合わせが基本をカバーします。Macには、ローカルNASへのTime Machine+Backblaze B2へのArq Backupが実績ある組み合わせです。
ランサムウェアに対してバックアップを不変にする
本番データを暗号化したランサムウェアは次にバックアップも暗号化しようとします。Object Lockがそれを防ぎます。AWS S3とBackblaze B2はともに「complianceモード」をサポートしており、rootアカウントでさえ保持期間が終わるまでオブジェクトを削除できません。
aws s3api put-object-lock-configuration \
--bucket backup-immutable \
--object-lock-configuration '{
"ObjectLockEnabled":"Enabled",
"Rule":{"DefaultRetention":{"Mode":"COMPLIANCE","Days":30}}
}'
アップロードから30日間は、侵害されたadminを含む誰もバックアップを削除できません。バージョニング・MFA-delete・書き込みはできても上書きできないIAMロールと組み合わせることで、主要なランサムウェアの侵入経路を塞ぎます。
アップロード前にクライアントサイドで暗号化する
プロバイダーサイドの暗号化(SSE-KMS)があっても、クラウドベンダーが鍵を保持しているため、令状が発行されれば復号を強制される可能性があります。機密データはネットワークを出る前に暗号化してください。Resticはこれを自動的に行います。アドホックなファイルにはageが適しています。
age -r age1xyz... -o archive.tar.gz.age archive.tar.gz
aws s3 cp archive.tar.gz.age s3://backups/
ageの秘密鍵は1PasswordまたはYubiKeyのようなハードウェアセキュリティキーに保管してください。鍵自体もパスフレーズで暗号化した上で紙に印刷し、貸金庫にバックアップしてください。暗号化鍵を失うことはデータを失うことと同じくらい壊滅的です。
復旧テストこそがバックアップ
四半期ごとに、ランダムなファイルまたはサーバーを選んでクリーンな環境にエンドツーエンドで復元します。測定項目:
- RTO(目標復旧時間):決定から復元完了まで
- RPO(目標復旧時点):失われたデータ量(時間・日数)
- 整合性:復元されたバイトは元のハッシュと一致するか
実例として、S3 Glacier Deep Archiveへの夜間バックアップを実行していたチームが初めての復元テストで発見したことがあります。復元権限のプロビジョニングと12時間の取り出し待機を合わせると、ビジネスに必要な4時間に対してRTOが18時間になっていました。彼らはアクティブな保持期間をGlacier Flexible(3〜5分取り出し)に移行し、Deep Archiveはコンプライアンス履歴のみに限定しました。このテストにより、実際のインシデント中に学ぶという最もコストの高い状況を回避できました。
手順書を進めながら文書化してください。コマンド・認証情報・復号パスフレーズ・復元を承認できる担当者を記載します。ローカル環境なしでも手順書が機能することを確認するため、新しいノートPCでテストしてください。
法的保持期間の要件
多くの規制フレームワークが最低保持期間を規定しています。
- GDPR:固定期間なし。目的に必要な期間のみ保持
- 個人情報保護法(APPI):個人情報保護委員会(PPC)のガイドラインに従い、利用目的達成後は遅滞なく消去
- HIPAA:監査ログとポリシーは6年
- SOX:財務記録は7年
- PCI DSS 4.0:監査証跡は1年、3か月分は「すぐに参照可能」
- FINRA 17a-4:3〜6年、WORM準拠ストレージが必要
バックアップに保持メタデータをタグ付けし、ライフサイクルポリシーで適用することで、必要以上に長く保持する(GDPRの問題)ことも必要より短い期間で終わらせる(SOXの問題)ことも避けられます。
モニタリングとアラート
サイレントに失敗するバックアップは、バックアップがない状態より悪いです。resticまたはBorgのすべてのジョブはメトリクスを出力すべきです。所要時間・転送バイト数・変更ファイル数・成功/失敗をPrometheus・Datadog、または期待されるハートビートが届かない場合にアラートを発するDead Man's Snitch型のツールで監視するcronログに送信します。検出しようとしている障害モードは「バックアップが90日間壊れているのに誰も気づかない」です。
アラート対象:ジョブ失敗・ジョブスキップ・リポジトリ破損(restic check)・異常なサイズ変化(データ損失または予期しない増加)・復元テスト失敗。
HexaTransferはバックアップツールではなく、ワンショットの暗号化転送用です。ただし、バックアップアーカイブを同僚に送る際も同じエンドツーエンド暗号化の原則が適用されます。hexatransfer.com で試せます — 無料、アカウント不要、最大10GB。
戦略から規律へ
クラウドバックアップ戦略は、アーキテクチャより規律で成否が決まります。毎夜の実行・四半期ごとの復元テスト・年次手順書レビュー・不変保持・クライアントサイド暗号化は地味ですが、「バックアップがあった」と「復旧できた」の差を生む要素です。やっていることを書き留め、できることを自動化し、自動化できないことはテストし、誰も削減を求めないくらい月次コストを低く保ってください。安くて退屈なほうが高くて賢い方法より毎回勝ります。
エンドツーエンド暗号化で大容量ファイルを安全に送信
エンドツーエンド暗号化で最大10GBのファイルを無料で転送。アカウント不要。ファイルはアップロード前にブラウザで暗号化されるため、他の誰にも読まれません。
ファイルを送信