初心者向け：AWS BackupでEC2インスタンスのバックアップを手軽に実現する方法

## はじめに
バックアップはITシステムの安定運用において欠かせない要素であり、非常に重要です。

しかし、手動でバックアップを実施するのは手間がかかり、重要なタスクを見落としてしまうリスクもあります。

:::note
**そんな課題を解決するのが AWS Backup です。**
:::

本記事では、AWS Backupの概要や具体的な利用方法、さらに実際に試してみた内容を備忘録としてまとめます。

## AWS Backupとは
AWS Backup は、AWSリソースのバックアップ管理を一元化し、効率的かつ安全にデータを保護するためのサービスです。

https://aws.amazon.com/jp/backup/

従来の手動作業に頼るバックアップとは異なり、スケジュールの自動化やポリシーの一括設定が可能なため、運用負荷を大幅に軽減できます。

以下のサイトでも詳しく紹介されているので、気になる方は参考にしてみてください。

https://dev.classmethod.jp/articles/aws-backup-perfect-understand/

### AWS Backupの特徴

![スクリーンショット 2024-11-25 21.27.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/ece93307-e315-a548-dd8e-960d13397e7b.png)
引用画像：https://cloud5.jp/aws-backup-forec2/

AWS Backupの主な特徴は以下の通りです。

:::note warn
- **多様なリソースに対応**
EC2、EBS、RDS、DynamoDB、S3など、さまざまなAWSリソースのバックアップをサポート。

- **自動化と一元管理**
バックアップポリシーを作成し、一度設定すれば自動的に運用可能。

- **コスト効率の向上**
必要に応じた保存期間の設定が可能で、無駄なストレージコストを削減。
:::

## ユースケース
AWS Backupの利用が適している主なユースケースは以下の通りです。

:::note
- **システム全体のバックアップ管理**
開発、テスト、または本番環境のバックアップを一元管理したい場合。

- **法令遵守やガバナンス要件の対応**
データ保持期間のルールが厳しい業界で、自動化されたバックアップが求められるケース。

- **災害対策やデータ復旧**
地域的な災害やシステム障害に備えたデータの保護。

- **運用効率の向上**
複数のリソースで個別にバックアップを設定するのではなく、統一されたポリシーで一括管理したい場合。
:::

また、過去の記事でも関連したEC2のバックアップ手法として、EBSスナップショットやAMIについてもご紹介していますので、興味のある方は参考にしてみてください。

https://qiita.com/free-honda/items/60eeeeac2dabae67233b

## 実際にやってみた
では実際にAWS Backupを使ってEC2インスタンスのバックアップを設定してみたいと思います。

:::note warn
- **EC2: aws-backup-ec2**
:::

今回は、上記のサービスのバックアップを取得します。

### 1. AWS Backupサービスを開く

AWS Management Consoleにログインし、サービス検索から「Backup」を選択して、AWS Backupのダッシュボードを開きます。

![スクリーンショット 2024-11-25 20.31.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/7715b367-3918-8c94-f167-8a827873f251.png)

### 2. バックアッププランの作成

左側のメニューから「バックアッププランを管理」を選択し、その後「バックアッププランを作成」をクリックします。

![スクリーンショット 2024-11-25 20.32.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/b9a888e6-51d7-3d61-9146-99e219a4e26b.png)

次に、「起動オプション」では「新しいプランを立てる」を選択し、バックアッププラン名として「aws-backup-ec2」を入力します。

![スクリーンショット 2024-11-25 20.52.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/33341883-3c6d-6f34-38a8-836e3e032cff.png)

### 3. バックアップルールの設定

「ルール名」として「aws-backup-ec2-rule」を設定しました。

![スクリーンショット 2024-11-25 20.57.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/8eca8c10-9f2a-4c49-01a0-d38fce897bc9.png)

バックアップボールトは、バックアップデータを整理するためのストレージです。

:::note warn
**今回はデフォルトの「Default」を選択して設定を進めますが、新規ボールトを作成することで、暗号化キーやアクセスポリシーなどの制御も可能です。**
:::

スケジュールの頻度は「毎日」を選択しましたが、12時間ごとやカスタムCron式での設定も可能です。

### 4. ライフサイクルの設定

ライフサイクル設定では、バックアップデータをコールドストレージに移行するタイミングや有効期限を設定できます。

![スクリーンショット 2024-11-25 20.58.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/cb79a0ad-954d-3a78-8e1a-fba40471f52f.png)

ただし、現時点ではEFSのみが有効なため、今回はライフサイクルの設定を行わず、そのまま進みます。

### 5. バックアップリソースの割り当て

バックアッププランを作成した後、次にバックアップ対象となるリソースを割り当てます。バックアッププラン画面から「リソースの割り当て」を選択します。

![スクリーンショット 2024-11-25 21.07.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/f907e2c3-8e7e-0b2f-29db-e017b699e4d3.png)

リソース割り当て名として「aws-backup-ec2」を設定し、IAMロールには「デフォルトのロール」を選択しました。

![スクリーンショット 2024-11-25 21.02.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/2a6e90bc-cca7-7692-6fe9-884c66cb2c94.png)

リソース割り当て単位は「リソースID」を選択します。これにより、EC2インスタンスIDを指定してバックアップ対象を選定できます。

![スクリーンショット 2024-11-25 21.09.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/3179739d-4a63-2f6e-201c-39baa8f53f1c.png)

最後に、「リソースを割り当てる」をクリックして、バックアッププランを確定します。

### 6. バックアップの実行と確認

バックアッププランが完成すると、指定したバックアップウィンドウの時間になるとバックアップジョブが実行されます。

![スクリーンショット 2024-11-25 21.17.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/a35d376c-be57-a933-2029-c39ded167697.png)

今回は21:17に設定したので、実際にジョブが開始されたか確認します。

### 7. バックアップデータの確認

過去30日間の定期バックアップやオンデマンドバックアップの記録に「作成済み」と表示されているバックアップジョブが確認できました。

![スクリーンショット 2024-11-25 21.58.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/345fbcef-4302-2365-2f0e-37f353ec1ac6.png)

実際には、21:35頃からバックアップが作成されていることが確認できました。

![スクリーンショット 2024-11-25 22.03.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/fd2e3847-6329-21bc-d5a9-a4ad768c5d0f.png)

## まとめ

これで、AWS BackupによるEC2インスタンスの自動バックアップ設定と実行が完了しました。

:::note warn
**手動でのバックアップ作業が不要になり、バックアップのスケジュール管理が簡単にできるため、運用効率が大幅に向上しました。**
:::

この技術検証が、誰かの技術的な支えとなれば嬉しいです！

## 参考記事

https://dev.classmethod.jp/articles/aws-backup-perfect-understand/

https://dev.classmethod.jp/articles/aws-backup-for-ec2/