RDSには自動バックアップがある。EBSにはスナップショットがある。ではLambdaは?SQSは?Route 53は?——コンソールを探し回った経験のある人へ。答えは「無い」ではなく「そこじゃない」です。バックアップの全体地図と、スナップショットが本番負荷ほぼゼロで済む仕組みを解説します。

AWSのバックアップで初学者がつまずくのは、個々の機能の使い方ではありません。「何が・どこで・どう守られているのか」の地図を持っていないことです。本記事では、まずデータと構成の2分類という地図の描き方を示し、AMI・スナップショット・バックアップ・レプリカという紛らわしい言葉を交通整理します。その上で「バックアップを取ると本番が重くなるのでは?」という素朴で正しい疑問にスナップショットの内部の仕組みから答え、サービス別の早見表と、現場で実際に事故になる落とし穴を整理します。AWS Backupの運用設計(プラン・世代・Vault Lock・復旧テスト)はAWS Backupで統合バックアップを、スナップショットを分析に活用する話はRDSスナップショットのS3エクスポートをあわせてどうぞ。

01地図の描き方 — 「データ」と「構成」を分けると全部解ける

AWSのリソースが持っているものは、2種類に分けられます。

冒頭の問いに答えます。AWS Backupの対応リソース一覧にLambdaはありません。EC2・EBS・S3・RDS・Aurora・DynamoDB・EFS・FSxなど、対応しているのは軒並み「データを抱えるサービス」です。Lambdaが無いのは欠陥ではなく、この分類の帰結です。関数のコードはGitに、ビルド成果物はS3やECRに、関数定義(メモリ・環境変数・トリガー)はIaCにある——つまりLambdaのバックアップはデプロイパイプラインそのものです。

紛らわしいのがLambdaの「バージョン」機能です。発行したバージョンは不変で、世代管理のように見えます。しかし関数を削除すればバージョンも道連れで消えます。誤削除から守ってくれないものはバックアップとは呼べません。同じ理屈で、「コンソールで直接変更した設定」はどこにも記録されない最悪の状態です。手作業の変更をやめてコード管理に寄せる話はIaCのState管理CI/CD入門で扱っています。

守るものは2種類 — 置き場が違えばバックアップ先も違う データ = そこにしか無い状態 RDS/DynamoDBの中身 EBSブロック・S3オブジェクト スナップショット / PITR AWS Backupで一元管理 Backup Vault 世代・コピー・Lock 構成 = 作り方の記述 Lambdaコード・IAMポリシー API定義・SGルール Git + IaC CloudFormation / Terraform 成果物ストア S3 zip / ECRイメージ 「Lambdaのバックアップはどこ?」→ 下のレーン(Git/IaC/成果物)にある AWS Backupの対応一覧に無いのは欠陥ではなく、Lambdaが「構成だけ」のサービスだから
図:データはスナップショット/PITR+AWS Backupのレーン、構成はGit+IaC+成果物ストアのレーンで守る。リソースごとに「どちらを持っているか」を見れば置き場が決まる。

02用語の交通整理 — AMI・スナップショット・バックアップ・レプリカ

地図の次は言葉です。「スナップショットは取ってます」「AMIはありますか?」「……同じものでは?」——この手の会話が起きるのは、性質の違う4種類の名前が、同じ「守る」の文脈で飛び交うからです。

そしてAWS Backupは、これらをすべて「復旧ポイント」という統一語彙で呼び直します。EC2の復旧ポイントの実体はAMI、EBSはスナップショット、RDS/Auroraはスナップショットや継続バックアップ——中身はサービス別のまま、器だけ揃える発想です。実務上の注意として、AWS Backupが管理するAMIはEC2コンソールから登録解除できません。消すときはVault側で復旧ポイントを削除します。対応表にまとめます。

言葉実体戻せる単位消える・残る条件
EBSスナップショットボリューム1本の断面(増分)ボリューム明示削除まで残る。AMIに使われている間は削除不可
AMI起動情報+スナップショット群マシンまるごと(起動)登録解除で消える。解除してもスナップショットは残り課金継続(同時削除オプションあり)
RDS自動バックアップ日次スナップショット+5分毎のログ任意の秒(新インスタンスへ)保持期間(最大35日)で失効。インスタンス削除で消える(Retain指定を除く)
RDS手動スナップショットストレージの断面その時点(新インスタンスへ)明示削除まで残る
AWS Backupの復旧ポイントリソース別(EC2=AMI、EBS=スナップショット等)リソース別Vaultの保持ルールに従う。EC2側からは登録解除不可
レプリカ(Multi-AZ・リードレプリカ)「今」の複製戻せない(過去を持たない)—(可用性の仕組みでありバックアップではない)
S3バージョニング同一キーの旧版の積み重ねオブジェクト単位ライフサイクル設定次第で旧版は掃除される
起動テンプレート/ゴールデンイメージ構成の記述/「揃えたAMI」の運用上の呼び名データは含まない(01の「構成」レーン)
AMIの正体 — スナップショットの「包み」 AMI (EBS-backed) 起動情報 ブロックデバイスマッピング・権限 スナップショット ルートボリューム スナップショット データボリューム AMI作成 = 裏でスナップショット作成 登録解除 登録解除後 AMIと起動情報は消える スナップショット スナップショット デフォルトでは残る = 課金も残る 戻せる単位が違う:スナップショット→ボリューム1本 / AMI→マシンをまるごと起動 AWS BackupのEC2復旧ポイントの実体もAMI(消すときはEC2側でなくVault側から)
図:AMIは「起動情報+スナップショット群」の包み。登録解除で消えるのは包みだけで、中のスナップショットはデフォルトで残り続ける。
現場のコツ:会計事故の定番が「AMIを消したのに課金が減らない」です。登録解除してもスナップショットはデフォルトで残り続けるため、消すなら登録解除時の「関連スナップショットを削除」オプションか、解除後の手動削除まで実施します(複数のAMIに共有されているスナップショットは指定しても消えません)。逆に誤って登録解除する事故には、AMIの登録解除保護とRecycle Binという安全装置があります。棚卸しでは「どのAMIにも紐づかない孤児スナップショット」を定期的に掃除する運用を入れてください。

03なぜスナップショットは本番負荷ほぼゼロなのか — 増分・参照・非同期

もうひとつの素朴な疑問に答えます。「200GBのボリュームをバックアップするなら、200GB読み出すはず。本番が重くなるのでは?」——ファイルコピーの感覚では正しい心配ですが、スナップショットは読んで写す方式ではありません。EBSを例に、公式ドキュメントに書かれている仕組みを追います。

スナップショットは「読んで写す」ではなく「差分を参照でつなぐ」 ボリューム(断面確定後も書き込みは止まらない) A B→B' C D ← Bだけ書き換わった スナップショット1回目(フル) A・B・C・D を非同期でS3へ退避 2回目(増分) 保存するのは B' だけ A・C・D は1回目への参照(点線) 負荷ほぼゼロの正体:①断面確定は一瞬 ②退避は非同期 ③増分は変更ブロックのみ +RDSのMulti-AZなら④そもそもスタンバイ側から取得する
図:2回目以降のスナップショットは変更ブロックだけを保存し、未変更分は前回への参照で済ませる。ストレージ層で断面を切れるから、本番のI/Oパスと競合しない。

この「ストレージ層で断面を切る」設計は、DBサービスでも同じです。ただしサービスごとに輪郭が違い、そこに正直な注記が要ります。

逆に、負荷ゼロにならない反例を知っておくと理解が固まります。ElastiCache(ノード型のRedis OSS/Valkey)のバックアップはストレージ層ではなくエンジンのBGSAVE(fork)で作られるため、メモリに余裕がないノードでは性能影響が出ます。公式も「レプリカからバックアップを取る」「reserved-memoryを確保する」ことを推奨しています。つまり負荷ゼロはスナップショットの魔法ではなく、ストレージ層で断面を切れる設計の恩恵です。切れないサービスでは、負荷はエンジンに現れます。

現場のコツ:コピーオンライトの裏返しとして、スナップショットから復元した直後のボリュームは遅いことも押さえてください。復元されたEBSボリュームのブロックは初回アクセス時にS3から遅延ロードされるため、リストア直後の性能試験は当てになりません。全ブロックを先読みする初期化(fio等)を挟むか、最初から性能が必要ならFast Snapshot Restoreを検討します。「バックアップは軽い、そのかわりリストアに初期化コストがある」と対で覚えるのが正確です。

04サービス別「バックアップはどこ?」早見表

ここまでの地図を、現場でよく使うサービスに当てはめます。「消える条件」の列が初学者にとっての本丸です。

リソースデータの守り方取得時の本番影響初学者が踏む注意
EC2 (EBS)スナップショット / AMI(+AWS Backup/DLMで自動化)ほぼなし(非同期・増分)AWSは自動では取ってくれないと公式明記。自動化を仕込むまで保護ゼロ
RDS自動バックアップ(PITR)+手動スナップショットシングルAZは数秒〜数分のI/O停止、Multi-AZはほぼなしインスタンス削除で自動バックアップも消える(Retain指定か最終スナップショットが必要。手動スナップショットは残る)
Aurora継続バックアップ(無効化不可)+スナップショットなし(公式明記)保持期間は最大35日。それ以上はスナップショットで
DynamoDBPITR(35日)+オンデマンドバックアップなし(スループット消費ゼロ)復元は新テーブルへのみ。TTL・Auto Scaling・アラーム等は復元されず手動で再設定
S3バージョニング+ライフサイクル、レプリケーション、AWS Backup for S3なし「S3だから安全」は障害耐性の話。誤削除にはバージョニングを有効化して初めて対抗できる
EFS / FSxAWS Backup(EFSは自動バックアップ推奨)ほぼなしNFSマウント先で消したファイルはバックアップからしか戻らない
ElastiCacheRedis/Valkeyはスナップショット。ノード型Memcachedは無しノード型はfork負荷あり→レプリカから取得キャッシュは「元データから再構築できる」ことが前提の置き場。再構築不能なデータを置いたら設計ミス
SQS / SNS / Kinesisバックアップ機構なし(流れるデータ)守るのは「メッセージ」でなく「再処理できること」。DLQ・冪等設計・再投入手順で担保
CloudWatch Logs保持期間設定+S3エクスポート/サブスクリプションなし保持期間デフォルト「失効しない」はコスト事故、短すぎは証跡喪失。明示設定する
Secrets Manager / Parameter Store削除の猶予期間(7〜30日)/パラメータ履歴(最大100世代)なしこれらは「バックアップ風」の救済機能。定義本体はIaC側で管理する
Lambda / API Gateway / IAM / Route 53構成なのでGit+IaC+成果物ストアAWS Config履歴は「証跡」でありリストア手段ではない。コンソール手作業はどこにも残らない

表の下3行が、冒頭の「Lambdaのバックアップはどこ?」の一般形です。データを抱えるサービスはAWS側の仕組み(+AWS Backupの一元管理)で守り、流れるデータは再処理設計で守り、構成はGitで守る。この3分岐だけ覚えれば、初見のサービスでも「どこを探すべきか」を外しません。

05素人がつまずく落とし穴5選

知識としては上の表で足りますが、実際の事故は決まったパターンで起きます。5つだけ挙げます。

現場のコツ:棚卸しは「サービス別にバックアップ設定を確認する」のではなく、逆から回してください。「失うと再作成できないデータはどこにあるか」を先に列挙し、それぞれに(1)守る仕組み (2)消える条件 (3)戻す手順 の3点が言えるかを確認する。言えない行が見つかったら、それが今日埋めるべき穴です。タグベースでAWS Backupのプランに自動編入する仕掛けまで作れば、リソース追加に強い棚卸しになります。

まとめ

全体地図を4行に圧縮します。

そして、シングルAZ RDSのI/O一時停止・DynamoDB復元の制約・リージョン閉鎖性のような「輪郭の細部」が、実際の設計品質を分けます。守るべきデータの列挙から復旧テストまで、バックアップ/DR全体の設計はお問い合わせから。実績は導入事例をご覧ください。

参考(一次情報)

「失うと再作成できないデータ」の列挙から復旧テストの自動化まで、バックアップ/DRの設計に不安があればお問い合わせください。全体地図を一緒に描くところから始めます。

相談する
← ブログ一覧へ戻る