AWS

AWS Backupを利用してリソースを復元する

NEW 2026年8月27日

目次Category


はじめに

今回の記事では、AWS Backupを使用してAWSリソースのバックアップと復元を行います。

バックアップ対象としてAmazon DynamoDBのテーブルを作成し、AWS Backupからオンデマンドバックアップを取得します。
その後、元データを削除して障害を再現し、作成したRecovery Pointから新しいDynamoDBテーブルとして復元します。

今回実施する作業
  1. バックアップ対象のDynamoDBテーブルを作成する
  2. テストデータを登録する
  3. Backup Vaultを作成する
  4. オンデマンドバックアップを取得する
  5. Recovery Pointを確認する
  6. 元データを削除して障害を再現する
  7. Recovery PointからDynamoDBテーブルを復元する
  8. 復元されたデータを確認する
  9. Backup Planによる自動バックアップを確認する
  10. 作成したリソースを削除する
今回の構成
DynamoDB
 ojt-backup-[name]-01
    │
    │ id:001
    │ message:AWS Backup test
    ↓ Backup

AWS Backup
    └── Backup Vault
        ojt-backup-vault-[name]-01
            └── Recovery Point
                    ↓ Restore

DynamoDB
 ojt-backup-restore-[name]-01

今回のポイントは、バックアップ作成 → 元データ削除 → バックアップから復元 → 削除前のデータを確認という一連の流れです。

0. AWS Backupについて

AWS Backupとは

AWS Backupは、AWS上のさまざまなリソースのバックアップを一元的に管理・自動化するためのフルマネージドサービスです。バックアップのスケジュールや保存期間などをAWS Backup側でまとめて管理できます。

Amazon EBS
Amazon EC2
Amazon DynamoDB
Amazon EFS
Amazon RDS
Amazon S3
      │
      ↓
  AWS Backup
      │
      ├── バックアップ
      ├── 保存期間管理
      ├── スケジュール管理
      └── 復元
AWS Backupの主な用語

Backup Vault
バックアップを保存・整理するための入れ物です。

Backup Plan
いつバックアップするかのスケジュールや、どのくらい保存するかなどを定義する設定です。

On-demand backup
スケジュールを待たず、その場ですぐに実行するバックアップです。

Recovery Point
復元に使用するバックアップです。

1. バックアップ対象のDynamoDBテーブルを作成する

1-1. DynamoDBテーブルを作成する

1-1. DynamoDBテーブルを作成する

1. AWSマネジメントコンソールで「DynamoDB」を検索します。

2. Amazon DynamoDBを開きます。

3. 左側メニューから「テーブル」を開きます。

4. 「テーブルの作成」をクリックします。

テーブル名:
ojt-backup-[name]-01

パーティションキー:
id

データ型:
文字列(String)

ソートキー:
設定しない

5. その他は基本的にデフォルトのままとします。

6. 「テーブルの作成」をクリックします。

7. テーブルのステータスが「ACTIVE」になることを確認します。

[name]について
[name] の部分は、自分の識別名へ置き換えてください。

1-2. テストデータを登録する

1-2. テストデータを登録する

1. ojt-backup-[name]-01 を開きます。

2. 「テーブルアイテムを探索」をクリックします。

3. 「項目を作成」をクリックします。

4. idに 001 を入力します。

5. 新しい属性として文字列を追加します。

属性名:message
値:AWS Backup test

6. 「項目を作成」をクリックします。

7. 以下のデータが表示されることを確認します。

id:001
message:AWS Backup test

2. Backup Vaultを作成する

Backup Vaultについて

AWS Backupで取得したバックアップはBackup Vaultで保存・整理します。

2-1. Backup Vaultを作成する

2-1. Backup Vaultを作成する

1. AWS Backupを開きます。

2. 左側メニューから「バックアップボールト」を開きます。

3. 「バックアップボールトを作成」をクリックします。

バックアップボールト名:
ojt-backup-vault-[name]-01

暗号化キー:
デフォルトのAWS Backup KMSキー

4. その他はデフォルトのままとします。

5. 「ボールトを作成」をクリックします。

6. ojt-backup-vault-[name]-01 が表示されていることを確認します。

3. オンデマンドバックアップを作成する

オンデマンドバックアップについて

本来はBackup Planを使って定期バックアップを設定できますが、今回はバックアップ動作をすぐ確認するためオンデマンドバックアップを使用します。

3-1. オンデマンドバックアップを作成する

3-1. オンデマンドバックアップを作成する

1. AWS Backupのオンデマンドバックアップ作成画面を開きます。

2. リソースタイプとして「DynamoDB」を選択します。

3. リソースとして ojt-backup-[name]-01 を選択します。

4. 「今すぐバックアップを作成」を選択します。

5. 保持期間を設定します。例:7日

6. Backup Vaultとして ojt-backup-vault-[name]-01 を選択します。

7. IAMロールはデフォルトのロールを選択します。

8. 「オンデマンドバックアップを作成」をクリックします。

3-2. バックアップジョブを確認する

3-2. バックアップジョブを確認する

1. 左側メニューから「ジョブ」を開きます。

2. 今回作成したバックアップジョブを探します。

3. ステータスが「Completed(完了)」になることを確認します。

3-3. Recovery Pointを確認する

3-3. Recovery Pointを確認する

1. 「バックアップボールト」を開きます。

2. ojt-backup-vault-[name]-01 を選択します。

3. Recovery Pointが作成されていることを確認します。

4. リソースタイプがDynamoDBであることを確認します。

4. 元データを削除して障害を再現する

この章で行うこと

バックアップから復元できることを確認するため、今回はDynamoDBテーブルそのものではなく、登録した1件のデータだけを削除します。

4-1. テストデータを削除する

4-1. テストデータを削除する

1. DynamoDBから ojt-backup-[name]-01 を開きます。

2. 「テーブル項目を探索」を開きます。

3. id:001 / message:AWS Backup test のデータを選択します。

4. 「項目を削除」をクリックします。

5. 削除後、テーブルにデータが存在しないことを確認します。

5. Recovery PointからDynamoDBを復元する

DynamoDBの復元について

DynamoDBのバックアップを復元する場合、既存テーブルを直接上書きせず、新しいテーブルとして復元します。

元テーブル:
ojt-backup-[name]-01
↓ Restore
復元テーブル:
ojt-backup-restore-[name]-01

5-1. バックアップから復元する

5-1. バックアップから復元する

1. AWS Backupを開きます。

2. 左側メニューから「保護されたリソース」を開きます。

3. ojt-backup-[name]-01 を選択します。

4. 作成したRecovery Pointを選択します。

5. 「復元」をクリックします。

6. 新しいテーブル名に ojt-backup-restore-[name]-01 を入力します。

7. Restore roleはAWS Backupのデフォルトロールを選択します。

8. その他は基本的にデフォルトとします。

9. 「バックアップを復元」をクリックします。

5-2. 復元ジョブを確認する

5-2. 復元ジョブを確認する

1. AWS Backupの「ジョブ」を開きます。

2. 「復元ジョブ」を確認します。

3. 今回実行したRestore Jobを探します。

4. ステータスが「Completed」になることを確認します。

5-3. 復元されたデータを確認する

5-3. 復元されたデータを確認する

1. Amazon DynamoDBを開きます。

2. ojt-backup-restore-[name]-01 が作成されていることを確認します。

3. テーブルのステータスが「ACTIVE」になることを確認します。

4. 「テーブル項目を探索」を開きます。

5. 以下のデータが存在することを確認します。

id:001
message:AWS Backup test

削除前のデータが確認できれば復元成功です。

6. Backup Planを作成する

Backup Planとは

オンデマンドバックアップは「今すぐ1回バックアップする」方法です。実際のシステムではBackup Planを使用して定期バックアップを自動化できます。

毎日1回バックアップ
↓
Backup Vaultへ保存
↓
7日間保持
↓
期限が来たら削除

6-1. Backup Planを作成する

6-1. Backup Planを作成する

1. AWS Backupから「バックアッププラン」を開きます。

2. 「バックアッププランを作成」をクリックします。

3. 「新しいプランを立てる」を選択します。

バックアッププラン名:
ojt-backup-plan-[name]-01

バックアップルール名:
daily-backup

Backup Vault:
ojt-backup-vault-[name]-01

バックアップ頻度:
毎日

4. その他は基本的にデフォルトとします。

5. 「プランを作成」をクリックします。

6-2. Backup Planへリソースを割り当てる

6-2. Backup Planへリソースを割り当てる

1. ojt-backup-plan-[name]-01 を開きます。

2. 「リソースを割り当て」をクリックします。

3. リソース割り当て名に ojt-backup-assignment-[name]-01 を入力します。

4. IAMロールはデフォルトロールを選択します。

5. リソース選択方法としてResource IDを使用します。

6. リソースタイプとしてDynamoDBを選択します。

7. 対象として ojt-backup-[name]-01 を選択します。

8. 「リソースを割り当て」をクリックします。

7. On-demand backupとBackup Planの違い

使い分け

On-demand backup
今すぐバックアップしたい場合に使用します。設定変更前、システム更新前、バックアップ動作のテストなどが例です。

Backup Plan
定期的に自動バックアップしたい場合に使用します。毎日・毎週のバックアップや一定期間の保持などに利用します。

On-demand backup = 手動バックアップ
Backup Plan      = 自動バックアップ

8. AWS Backupのメリットと今回のポイント

  • 複数のAWSサービスのバックアップを一元管理できる
  • 定期バックアップを自動化できる
  • バックアップの保存期間を管理できる
  • Recovery Pointからリソースを復元できる
  • サービスごとにバックアップ用スクリプトを作成する必要性を減らせる

AWS Backup:AWSリソースのバックアップを一元管理するサービス
Backup Vault:バックアップを保存・整理する場所
Recovery Point:復元に使用するバックアップ
On-demand backup:必要なタイミングで実行するバックアップ
Backup Plan:バックアップのスケジュールや保存期間を定義する設定

9. ハンズオンで作成したリソースを削除する

削除前に確認
削除対象が今回のハンズオンで作成したリソースであることを確認してください。Backup VaultはRecovery Pointが残っている状態では削除できないため、先にRecovery Pointを削除します。

9-1. Backup Planを削除する

9-1. Backup Planを削除する

ojt-backup-plan-[name]-01 を選択して削除します。定期バックアップが実行されないよう、先にBackup Planを削除します。

9-2. Recovery Pointを削除する

9-2. Recovery Pointを削除する

ojt-backup-vault-[name]-01 を開き、今回作成したRecovery Pointを削除します。

9-3. Backup Vaultを削除する

9-3. Backup Vaultを削除する

Recovery Pointが存在しないことを確認してから ojt-backup-vault-[name]-01 を削除します。

9-4. DynamoDBテーブルを削除する

9-4. DynamoDBテーブルを削除する
ojt-backup-[name]-01
ojt-backup-restore-[name]-01

上記2つのテーブルを削除します。

9-5. IAMロールを確認する

9-5. IAMロールを確認する

AWS Backupの操作で新しいIAMロールが作成された場合は、他のリソースで使用されていないことを確認し、不要な場合のみ削除します。

まとめ

今回のハンズオンでは、DynamoDBのデータをAWS Backupでバックアップし、Recovery Pointから新しいDynamoDBテーブルへ復元する一連の流れを確認しました。

DynamoDBにデータを作成
↓
AWS Backupでバックアップ
↓
Recovery Pointを作成
↓
元データを削除
↓
Recovery Pointから復元
↓
削除前のデータを確認

AWS Backupは、バックアップを取得するだけではなく、「何をバックアップするか」「いつバックアップするか」「どのくらい保持するか」「どこに保存するか」「必要になったときにどう復元するか」までを一元的に管理するためのサービスです。

参考にした記事

AWS Backupの各機能について、以下のAWS公式ドキュメントを参考にしました。

この記事を書いた人

義田蓮巨

reo_yoshida

義田蓮巨