600 Views
March 14, 25
スライド概要
EBSスナップショットを深堀りしました。
駆け出しAWSエンジニアです。(金融系インフラ)
2025/3/13 Strage JAWS#7 これでいいのか、我が家 のスナップショット 株式会社JSOL 松島敬一
自己紹介 名前 松島 敬一 所属 株式会社JSOL 入社 2022年4月 お仕事 金融系システムの新規開発、保守開発 (インフラ領域) 最近触ってるAWSサービス MSK 趣味 ゲーム(一狩りしたいです)
スナップショットを取得するときは 静止点取れっていうけど
いつまで書き込んだら いけないんだ?
そもそもスナップショット 取得するってなんだ?
スナップショットとは スナップショット(写真) 特定の瞬間を捉えた写真のこと
スナップショットとは スナップショット(ストレージ) ある特定の時点におけるストレージの状態を記録したもの その時点の状態に戻すために利用することができる
EBSでは? “Amazon EBS スナップショットと呼ばれるポイントインタイムコ ピーを作成することで、Amazon EBS ボリューム上のデータをバッ クアップできます。” 引用:AWS User Guide Amazon EBS スナップショット
どうやって特定の瞬間を 切り取ってるんだ?
スナップショット方式 1. スプリット・ミラー方式 2. コピー・オン・ライト方式 3. リダイレクト・オン・ライト方式 Split Mirror Copy on Write Redirect on Write
スプリット・ミラー方式 RAID1でミラーリングしているボリュームを切り離すイメージ ミラーボリュームは切り離した瞬間のスナップショット バックアップ対象 0 1 2 3 4 5 ミラーボリューム 6 7 S T O R A G E 8 9 10 11 12 13 14 15 0 ミラー リング J A W S 1 2 3 9 10 11 J A W S 3 4 5 6 7 8 9 10 11 12 13 14 15 J A W S 4 5 ミラーボリューム 6 7 S T O R A N G E 8 2 S T O R A G E - バックアップ対象 0 1 12 13 14 15 0 切り離し 1 2 3 4 5 スナップショット 6 7 S T O R A G E 8 9 10 11 J A W S 12 13 14 15 0 クローン 1 2 3 4 5 6 7 S T O R A G E 8 9 10 11 J A W S 12 13 14 15
コピー・オン・ライト方式 データそのもののコピーは行なわない(ポインタ記録) データ更新時には更新前のデータを管理領域に記録する バックアップ対象(A) 0 1 2 3 4 5 6 退避領域(B) 7 0 1 2 3 4 最新メタデータ 5 6 7 S T O R A G E 8 9 10 11 12 13 14 15 8 9 10 11 12 13 14 15 J A W S バックアップ対象(A) 0 1 2 3 4 5 6 S T O R A N G E 8 9 10 11 J A W S 12 13 14 15 0 退避 1 2 3 4 5 6 7 G E 8 9 10 11 12 A1 A2 A3 A8 A9 A10 A11 A4 A5 A6 A7 A4 A5 A6 A7 A4 A5 A6 A7 B0 B1 B2 スナップショット A0 A1 A2 A3 A8 A9 A10 A11 最新メタデータ 退避領域(B) 7 A0 13 14 15 A0 A1 A2 A3 A8 A9 A10 A11 スナップショット A0 A1 A2 A3 A8 A9 A10 A11 A4
リダイレクト・オン・ライト方式 データそのもののコピーは行なわない(ポインタ記録) データ更新時には、新領域にデータを書き込む バックアップ対象(A) 0 7 A0 A1 A2 A3 S T O R A G E - A8 A9 A10 A11 8 1 9 2 10 3 11 4 12 5 13 6 最新メタデータ 14 バックアップ対象(A) 1 2 3 4 5 6 9 10 11 12 13 14 J A W S N G E A6 A7 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A4 A12 A13 A14 A5 A6 A7 最新メタデータ 7 S T O R A G E 8 A5 スナップショット 15 J A W S 0 A4 15 更新 A0 A1 A2 A3 A8 A9 A10 A11 スナップショット A0 A1 A2 A3 A8 A9 A10 A11 A4
スナップショット方式 1. スプリット・ミラー方式 2. コピー・オン・ライト方式 3. リダイレクト・オン・ライト方式 Split Mirror Copy on Write Redirect on Write 複製の有無 バックアッ プ速度 リストア速 度 スプリット・ミラー あり 速い 速い 中 コピー・オン・ライト なし 中 中 高 リダイレクト・オン・ライト なし 遅い 遅い 低 方式 コスト
スナップショット方式(EBS) 1. スプリット・ミラー方式 2. コピー・オン・ライト方式 3. リダイレクト・オン・ライト方式 Split Mirror Copy on Write Redirect on Write 詳細は非公開だが、おそらくコピー・オン・ライト方式が ベースになっている?
スナップショット取得方式 1. フルスナップショット 2. 差分スナップショット 3. 増分スナップショット 4. 永久増分スナップショット Full Snapshot Differential Snapshot Incremental Snapshot Forever Incremental Snapshot
フルスナップショット(Full Snapshot) データの完全なスナップショットを取得 3/12 3/11 3/10 3/9 3/8 対象データ 3/8 3/9 3/8 3/10 3/9 3/8 3/11 3/10 3/9 3/8 3/12 3/11 3/10 3/9 3/8 3/8 フル 3/9 フル 3/10 フル 3/11 フル 3/12 フル
差分スナップショット(Differential Snapshot) 最後のフルスナップショット以降に変更されたデータのスナップ ショットを取得 3/12 3/11 3/10 3/9 3/8 3/8 対象データ 3/8 フル 3/9 3/10 3/9 3/8 3/9 差分 3/10 フル 3/11 3/12 3/11 3/11 差分 3/12 差分
増分スナップショット(Incremental Snapshot) 最後のフルスナップショット/増分スナップショット以降に変更さ れたデータのスナップショットを取得 3/12 3/11 3/10 3/9 3/8 3/8 対象データ 3/8 フル 3/9 3/10 3/9 3/8 3/9 増分 3/10 フル 3/11 3/11 増分 3/12 3/12 増分
永久増分スナップショット(Forever Incremental Snapshot) フルスナップショットは最初の一回だけ その他は増分スナップショットと同じ 3/12 3/11 3/10 3/9 3/8 3/8 対象データ 3/8 フル 3/9 3/9 増分 3/10 3/10 増分 3/11 3/11 増分 3/12 3/12 増分
スナップショット取得方式 1. フルスナップショット 2. 差分スナップショット 3. 増分スナップショット 4. 永久増分スナップショット Full Snapshot Differential Snapshot Incremental Snapshot Forever Incremental Snapshot 方式 バックアップ速度 リストア速度 コスト フルスナップショット 遅い 速い 高 差分スナップショット 中 中 中 増分スナップショット 速い 遅い 低 永久増分スナップショット 速い 遅い 低 ※永久増分スナップショットと増分バックアップの差は、フルバックアップ取得頻度による。
スナップショット取得方針(EBS) 1. フルスナップショット 2. 差分スナップショット 3. 増分スナップショット 4. 永久増分スナップショット Full Snapshot Differential Snapshot Incremental Snapshot Forever Incremental Snapshot “AWS のバックアップは、フルスナップショットを 1 つだけ作成するこ とを必要とする永久増分スナップショットに基づいています。” 引用:Amazon Web Services ブログ 「AWS Backup のコストを最適化する」
初回のスナップショット 消しちゃったんだけど・・・
スナップショットの削除 永久増分スナップショットのスナップショットが削除されると、 増分スナップショット1がフルスナップショットの情報を保持 3/10 3/9 3/8 3/8 対象データ 3/8 フル 3/9 3/9 増分 3/10 3/9 3/8 3/8 3/9 3/8 対象データ 3/8 フル 3/9 フル 3/10 3/10 増分 3/10 3/10 増分
スナップショットの削除 最近は取得したスナップショットに対してフルスナップショットの サイズが確認できる様になったらしい。 引用:週刊AWS – 2025/2/10週
方式はなんとなくわかった
そもそも静止点を考える必要が あるのはどうして???
スナップショットと整合性 1. クラッシュ整合性 2. ファイルシステム整合性 3. アプリケーション整合性 Crash Consistent File System Consistent Application Consistent
クラッシュ整合性(Crash Consistent) ストレージデバイスとして一貫性を保持 ✕ ファイルシステムの一貫性 ✕ アプリケーションの一貫性
ファイルシステム整合性(File System Consistent) ファイルシステムの一貫性を保持 ○ ファイルシステムの一貫性 ✕ アプリケーションの一貫性 ミスったからゲー ム機の電源そのま まブチしたる ゲーム機の 電源を切りますか ▷ はい いいえ
アプリケーション整合性(Application Consistent) アプリケーションが正常動作している状態のデータの一貫性保持 ○ ファイルシステムの一貫性 ○ アプリケーションの一貫性 横スクやめて、 一狩り行こ Paused Is it okay to save my save data and then turn off the power? ▷ Yes No
スナップショットと整合性 1. クラッシュ整合性 2. ファイルシステム整合性 3. アプリケーション整合性 整合性のタイプ Crash Consistent File System Consistent Application Consistent ファイルシステムの一貫性 アプリケーションの一貫性 クラッシュ整合性 保持されない 保持されない ファイルシステム整合性 保持される 保持されない アプリケーション整合性 保持される 保持される
スナップショットと整合性(EBS) 1. クラッシュ整合性 2. ファイルシステム整合性 3. アプリケーション整合性 Crash Consistent File System Consistent Application Consistent “By default, AWS Backup creates crash-consistent backups of Amazon EBS volumes that are attached to an Amazon EC2 instance.” 引用:AWS Backup Developer Guide Amazon EBS and AWS Backup
じゃあ、本題を考えたい
スナップショットの整合性が 担保されるのはどの瞬間?
そうだ 状態遷移図、見よう。
スナップショット取得の状態遷移 引用:Amazon EBS User Guide View Amazon EBS snapshot information
いやいや、雑すぎません? その状態遷移図
スナップショット取得 ■スナップショット取得時点 スナップショット作成指示を出した瞬間 ■静止点維持 作成指示の瞬間~レスポンスを得た瞬間 引用:20190320 AWS Black Belt Online Seminar Amazon EBS
スナップショット取得 EBSのスナップショット取得時はいつまで静止点を担保すればよい? 判断根拠は? “Creates a new Amazon EBS snapshot. The new snapshot enters the pending state after the request completes.” 引用:AWS CLI Command Reference ebs start-snapshot
スナップショット取得 EBSのスナップショット取得時はいつまで静止点を担保すればよい? GUI:pending(保留中)になればOK CLI:”start-snapshot“コマンドのレスポンスを取得できればOK
まとめ EBSのスナップショットは特定時点のデータを切り出し ストレージデバイスの一貫性が保証 要件に応じてアプリケーションの整合性は利用者が考慮 WindowsならばVSSオプションを利用する スナップショットの保存は永久増分スナップショット 過去のフルバックアップを削除してもOK フルバックアップ情報は次のスナップショットに引き継がれます 静止点はpending(保留中)になるまで維持する
そのバックアップ、大丈夫ですか?
ダメ、だったみたいです 消えた背景(過去)
ご清聴ありがとうございました。