EC2を定期的に自動バックアップする方法を解説します。
バックアップ方法
EBSのスナップショットとAMIの2種類があります。
- スナップショット
- データコピーのイメージ。インスタンスを構成する管理情報は含まれない
- 圧縮されS3に保管される。(直接参照は出来ない)
- 差分バックアップ
- AMI
- スナップショットに加えて以下の管理情報を含む
- インスタンスのルートボリュームのテンプレート (オペレーティングシステム、アプリケーションなど)
- AWSアカウントがAMIを使用してインスタンスを起動可能にするための起動許可
- インスタンスの起動時にインスタンスにアタッチするボリュームを指定するブロックデバイスマッピング
- スナップショットに加えて以下の管理情報を含む
上記のとおりAMIはスナップショットを包含しています。
既存のEC2インスタンスのAMIを作成するとインスタンスにアタッチされている全てのボリュームのスナップショットが作成されます。
自動バックアップを行うためのサービス
スナップショット、AMIは以下のAWSサービスを利用することで簡単に定期的な自動バックアップが出来ます。
- Amazon Data Lifecycle Manager
- スケジュールによるEBS-backed AMI作成、指定ボリュームのスナップショット作成
- スケジュールは日次、週次、月次、年次、cron式による指定が可能
- バックアップのライフサイクルは世代数、または期間による指定が可能
- 別リージョンへの保存も可能
- AWS Backup
- EC2だけではなく様々なサービスのバックアップをサポート
- スケジュールによる定期AMI取得
- スケジュールは毎時、12時間毎、日次、週次、月次、cron式による指定が可能
- バックアップのライフサイクルは期間による指定のみが可能(世代数の指定は不可)
- 別リージョンへの保存も可能
- オンラインバックアップ(バックアップの即時実行)も可能
- オプションでポイントインタイムリカバリ(PITR)もサポート
リストア方法
AWS Backup場合、復元ポイントを指定するだけで簡単にリストアが可能です。
スナップショットから復元する場合は一手間必要で、スナップショットからAMIを作成し、そのAMIからインスタンスを作成します。
バックアップ時の注意点
・ EC2を起動したままバックアップすることは可能ですがデータの不整合が発生する可能性があるためEC2を停止した状態でのバックアップが推奨
・ バックアップの開始時間は指定できますがいつ終了するかは分かりませんので余裕を持って考えましょう。XX時間以内に終わらなければエラーとする設定は可能です。
リストア時の注意点
・ Windowsでドメイン参加している場合、同じSIDで登録されているインスタンスが無いかを確認する。
・スナップショットから作成するボリュームと復元用インスタンスは同一のアベイラビリティーゾーンに存在する必要がある。
・AMIからインスタンスを再作成した場合、設定は復元されますがEC2インスタンスとしては新規作成(再作成)になるので、EIPの付け替えやELBへのアタッチ等は再度行う必要がある。
参考資料
- 20190320 AWS Black Belt Online Seminar Amazon EBS
- AWSトレーニングでよくいただくご質問シリーズ – 第一回 Amazon Machine Image (AMI) とスナップショットの違い
以上