2023年11月27日にAWS Backupで復元テストの機能がリリースされたので触ってみました。
AWS Backupとは
AWS内のリソースのバックアップ、リストアを一元管理できるサービスです。
EC2,RDS,S3,DynamoDBなどの様々なサービスに対応しており、これらのサービスのバックアップデータをAWS Backupで管理することによってバックアップ、リストアの運用負荷を軽減することが可能となっています。
復元テストプランの作成
既にAWS Backupで取得されているEC2のAMIを使用して復元テストを実施します。
復元テストを実施するにはまず復元テストプランを作成する必要があります。
AWSマネジメントコンソールのAWS Backupの画面左メニューから「復元テスト」を選択して「復元テストプランを作成」を選択します。
「全般」で復元テストプランの名前やテストの実行頻度、開始時間を設定します。
開始時間に関してはバックアッププランと同じく設定した時刻に実行されない可能性もありますので御注意下さい。
「回復ポイントの選択」でバックアップデータが格納されているボールトや復元テストに使用する復旧ポイント(=バックアップデータ)を選択します。
PITRでの復元テストを実行する場合は「PITR対応のリソースタイプをテストする際には~」のチェックボックスにチェックを入れます。
但しAWS BackupでPITRに対応しているのはS3,RDS,Aurora,SAP HANA on EC2のみとなるためこれ以外のサービスではPITRでの復元テストは実行できません。
設定が完了したら最下部の「復元テストプランを作成」を選択します。
続いて復元テストを実行するリソースの設定を行います。
「全般」でリソース割り当て名、AWS Backupが復元テストを実行するためのIAMロール、復元したリソースを削除するまでの時間を設定します。
「保護されたリソース」で復元対象のAWSリソースを選択します。
今回はEC2を選択しました。
EC2を復元する場合はインスタンスタイプ、復元先のVPCとサブネット、セキュリティグループなどが選択できます。
設定可能なパラメーターが少々少ない気がするので、ここのパラメータは今後増えていくことに期待したいです。
EC2の終了保護はデフォルトで無効化されていて有効化はできません。
各種設定完了後、最下部の「リソースを割り当てる」を選択すると復元テストプランの作成は完了です。
復元テストの実行確認
AWS Backupのジョブ画面から復元ジョブを選択すると実行履歴が確認できます。
「復元時刻」で復元(リストア)に要した時間も確認できますがこの時間はAWSとして保証しているリストア時間ではないためあくまで参考値として扱う必要があります。
簡単ではありますがAWS Backupの復元テストを試してみました。
この機能を使ってリストアとリストア先環境でアプリケーションの正常性確認を定期的に行うことにより実際に障害が発生した際にも自信を持ってバックアップからの復旧を行うことができそうです。