はじめに
皆様、こんにちは!
ネットワールド SEの福村です。
今回はAWS Backupの"アイテムレベルのリストア"を検証しましたので記載してきたいと思います。
概要
"アイテムレベルのリストア"とはEBS上に作成した特定のファイルをバックアップデータから検索してS3に復元する機能となります。
通常、特定のファイルを復元する際はEBSを復元した後、復元したEBSをEC2からアタッチして特定のファイルを取得するのが一般的かと思います。アイテムリストアですと復元するのは特定のファイルのみになります。
バックアップ取得後にバックアップインデックスを有効にすることで、Vaultに格納したバックアップデータの中身を参照することが可能となります。
大まかな概要図としては以下になります。

リストア時のコスト比較
コスト比較の一例として以下を想定しています。
- テキストファイルは1KB、EC2のEBSディスクは30GBと想定
- AWS Backupの格納先はどちらのパターンもウォームストレージを想定
- アイテムレベルのリストアの復元先はS3を想定
- S3上のテキストファイル及びEBSファイルは1時間だけ展開想定
- 下記とは別にアイテムレベルのリストアを実施する際に必要なバックアップインデックスが約36.4円 ($0.24 / 100万ファイル)かかるため注意!

リストア自体はアイテムレベルのリストアの方が安いですが、バックアップインデックスの費用が嵩んでしまうなという印象でした。
※コスト比較についてあくまでも一例です。各環境に併せて最新の資料を確認の上算出してください。
手順
手順としては以下になります。
- EC2にテストデータ格納
- AWS Backupの設定
- バックアップアイテム(ファイル)を検索
- ファイルをS3へ復元
- S3から復元したファイルを取得
EC2にテストデータ格納
EC2上に対象のテストファイルを格納します。

AWS Backupの設定
バックアップを取得するめに、カスタムロールとして以下のポリシーが必要になります。

カスタムロールを作成します。

バックアッププランを作成します。この際、バックアップインデックスを有効化します。

ロールについては作成したカスタムロールを選定します。
バックアップの対象はEC2のEBSを選定します。

バックアップアイテム(ファイル)を検索
バックアップ取得後にリストア対象のアイテム(ファイル)を検索します。格納先のVaultの復旧ポイントから検索バックアップを選択します。

条件を付けて検索を実施します。今回はEC2上に格納した際のファイルのパスを指定して検索を実施します。

ファイルをS3へ復元
検索が終了するとジョブから結果を確認可能です。
アイテムを選択し、復元を選択します。

復元先のS3のバケットと作成したカスタムロールを選択し、復元を実行します。


復元先のS3バケットにファイルが復元されました。

S3から復元したファイルを取得
S3のバケットからファイルをダウンロードします。
以下のコマンドを実施し、ファイルを取得しています。
※今回の環境ではEC2からアクセスできるようS3のゲートウェイエンドポイントを展開しています。
aws s3 cp s3://バケット名/ファイルパス ローカルの保存先パス

実際にファイルを開いてデータが保持されていることを確認できました。

免責事項
- 本ブログ(以降:本書)の記載にあたりまして、細心の注意を払っておりますが、正確性・完全性を保証するものではありません。
- 本書の利用によって生じたあらゆる損害に関して、一切の責任を負いかねます。