16
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

EC2のバックアップ3手法の比較

Last updated at Posted at 2022-05-06

EC2のバックアップ(スナップショット)を自動で取得する場合、以下の3手法があります。

  • Amazon Event Bridge
  • Amazon Data Lifecycle Manager
  • AWS Backup

調べる限りは AWS Backup を推す声が多かったですが、自分で試すのが一番だと思い、一通り試してみました。

Amazon Event Bridge

まずはAmazon Event Bridgeを使用します。昔はCloudWatch Eventsというサービスを使用していましたが、今のAmazonの推奨はEvent Bridgeのようです。
image.png
定期実行するには、ルールタイプにスケジュールを選択します。
image.png
Cron式で取得する時間を指定します。Cron式が正しく指定されていると、以後10回のトリガー日の欄にバックアップされる日時が羅列されます。
image.png
ターゲットタイプをAWSのサービスとし、ターゲットにEBS作成スナップショットを選択、ボリュームIDを入力します。
IAMロールは、CloudWatch Events時代は手動で作成する必要がありましたが、EventBridgeでは本画面から自動で作成してくれます。
image.png
あとは、タグをつけて作成するだけです。指定した時間になると、スナップショットが作成されます。
image.png
注意点としては、上記で指定したタグが、EBSスナップショットに自動で付与されるわけではないという点です。

Amazon Data Lifecycle Manager

Event Bridgeでは自動でバックアップを作成できましたが、削除は実施できません。そこで、次は自動で世代管理まで行ってくれる Data Lifecycle Manager を使用してみます。
Data Lifecycle Managerでは、タグを指定して、そのタグを持つボリューム・インスタンスに対してスナップショットを取得します。
image.png
テストなので、1時間ごとにスナップショットを取得し、1世代のみ残すようにします。
image.png
DLMの設定が完了したら、ボリュームにタグ付けを忘れないようにしましょう。
image.png
スナップショットの作成は、公式ドキュメントによると指定時刻より1時間以内に開始されます。

最初のスナップショット作成オペレーションは、指定された開始時刻から 1 時間以内に開始されます。その後に続くスナップショット作成オペレーションは、スケジュールされた時刻の 1 時間以内に開始されます。
引用元:スナップショットのライフサイクルの自動化

指定した時刻の約30分後にスナップショットが保存されていることが確認できました。
image.png
数時間後再度確認すると、スナップショットの保存時刻が書き換わっており、新しいものが作成されて古いものが削除されていることが確認できます。
image.png

AWS Backup

最後はAWS Backupです。AWS Backupは、バックアッププランの作成リソースの割り当ての2段階で設定する必要があります。

バックアッププランの作成

EC2だけでなく、他のさまざまなサービスを横断的にバックアップするサービスなので、設定項目が多いです。バックアップの開始時刻(画面中のバックアップウインドウの開始時間)は、指定時刻より8時間以内に開始がデフォルト値となっていますが、変更すれば1時間以内にすることができます。
image.png

リソースの割り当て

バックアッププランの作成後は、リソースを割り当てます。すべてのEC2を指定することもできますが、今回はテスト用のEC2のみ設定します。
image.png

バックアップ結果の確認

数日後にバックアップされているか確認します。AWS Backupを利用すると、バックアップがAMIで作成されるようです。15:30にバックアップするように設定しましたが、設定時刻から20~30分後にバックアップが行われていることが確認できます。
image.png

まとめ

ここまで紹介したバックアップ方式3種を表にまとめると以下になります。

Event Bridge Data Lifecycle Manager AWS Backup
バックアップの時刻指定 △(1時間以内) △(1時間以内)
バックアップ頻度 最短1分 最短1時間 最短1日
バックアップの世代管理 × △(一定日数経過後の削除のみ)
バックアップ対象の指定 EBSのボリュームID EBS・EC2に付与されているタグ 全て or リソースID・タグ
EC2以外のバックアップ × ×

私が考えた各サービスの使い分けは以下です。

Event Bridge

基本的には、 Data Lifecycle ManagerAWS Backup を利用するのが扱いやすそうですが、整合性確保のためにスナップショット取得前に自動でサービスを終了させ、取得後に自動で起動するようにしたいというような場面では、cron式で時刻指定ができる Event Bridge が使いやすいと思います。(但し、スナップショットの管理に課題が発生しますが)

Data Lifecycle Manager

EC2内でバックアップが完結するのであれば、設定項目も少ない Data Lifecycle Manager が使いやすいと思います。最短1時間ごとの高頻度バックアップにも対応し、タグの管理のみでバックアップを決められるのが便利です。

AWS Backup

EC2以外のサービスも含め、まとめてバックアップを管理したい場合は、 AWS Backup 一択です。また、すべてのEC2インスタンスに対してバックアップを実行するように設定が可能であるため、一度設定しておけばインスタンスが追加された際も(タグ等を付与することなく)バックアップ対象にできるのは魅力的ではないかと思います。



どのサービスにも、一長一短があるように感じたので、上手く使い分けていきたいと思います。

16
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?