🐷

[AWS Backup]ボールトロックとライフサイクルの保持期間を同一にしたときの動作

に公開

AWS Backupを触る機会があったので、前から気になっていたボールトロックを試してみました。

前置き

AWS Backupのボールトロックをご存知でしょうか。
ボールトロックを設定することで、バックアップボールト内のバックアップを保護することができます。

バックアップボールト?ボールトロック?

  • バックアップボールト
    Vault(保管庫)の名前が示す通りバックアップを保管するコンテナ(入れ物)です。Amazon S3のバケットのようなものですね。
    バックアップは復旧ポイントとして指定したバックアップボールトに保管されます。

https://docs.aws.amazon.com/ja_jp/aws-backup/latest/devguide/vaults.html

  • AWS Backup ボールトロック
    バックアップボールトのオプション機能で、ボールト内のバックアップを設定した条件で削除から保護します。

https://docs.aws.amazon.com/ja_jp/aws-backup/latest/devguide/vault-lock.html

ボールトロックのメリット
AWS Backup ボールトロックには、次のようないくつかの利点があります。

  • バックアップボールトに保存および作成するすべてのバックアップの WORM (write-once, read-many) 構成。
  • バックアップボールトのバックアップ (復旧ポイント) を不注意または悪意のある削除から保護する追加の保護レイヤー。
  • 特権ユーザー ( AWS アカウント ルートユーザーを含む) による早期削除を防ぎ、組織のデータ保護ポリシーと手順を満たす保持期間の適用。
  • ボールトロックモードについて
    ボールトロックにはガバナンスモードとコンプライアンスモードがあります。
    どちらもバックアップ操作は同じですが、ボールトロックの管理方法に違いがあります。

[ガバナンスモード]
適切なIAM権限があればボールトロックの設定を変更/削除できます。
https://repost.aws/ja/knowledge-center/backup-delete-vault-lock

ガバナンスモードの Vault Lock を削除するには、適切な AWS Identity and Access Management (IAM) の権限が必要です。Backup Vault を削除するための必要な IAM 権限は backup:DeleteBackupVaultLockConfiguration です。

[コンプライアンスモード]
ボールトロック設定時に猶予期間を指定します。この猶予期間を経過した後はボールトロックの設定を変更/削除できなくなります(ルートアカウントを含む)。

本題

例えばバックアップボールトに対して以下のような設定にしたとします。

・バックアップルール
 頻度:毎日
 合計保持期間: 3日

・バックアップボールトロック
 ボールトロックモード:コンプライアンスモード
 最小保持期間: 3日
 最大保持期間: 指定なし

・期待する動作
バックアップが3日間は保護されて、3日後に削除される。
=>ライフサイクルによるバックアップ削除が失敗しない、バックアップが残り続けない。

先に結論

期待通りの動作となります。3日分のバックアップ(復旧ポイント)が残っています。

以下はバックアップ保持期間の大まかなタイムラインです。

検証

バックアップボールトにボールトロックを設定して動作を確認します。
設定内容は以下となります。

■バックアップルール

・バックアップルール
 頻度:毎日
 合計保持期間: 3日

まずバックアッププランを作成して、保管先のボールトやバックアップルールを設定します。

AWS Backup > Backup plans > [Backup plan name] > Backup rules

■バックアップボールトロック

・バックアップボールトロック
 ボールトロックモード:コンプライアンスモード
 最小保持期間: 3日
 最大保持期間: 指定なし

作成済みのボールトからボールトロックの設定をします。

AWS Backup > Vaults > [Vault name]

コンプライアンスモードの開始日(Compliance mode start date)は半年先くらいにしました。
検証が終わったら削除しますが、忘れて完全ロック(イミュータブル)されると手間になりますので。

◼️バックアップの削除を試してみる
ボールトロックされている状態ではAdministratorAccess権限を付与したIAMユーザーでも、バックアップ(復旧ポイント)削除はできませんでした。

バックアップを削除するには先にボールトロックを解除(削除)する必要があります。

料金について

バックアップボールトの作成およびボールトロック機能には料金は発生しません。ただしバックアップボールト内のバックアップデータに対する保管料金は発生します。
詳しくは料金ページをご確認ください。
https://aws.amazon.com/jp/backup/pricing/

まとめ

ボールトロックは思わぬ削除トラブルを未然に防いでくれます。
ただし単純にバックアップを保護する目的であれば、コンプライアンスモードではなくガバナンスモードをお勧めします。

MEGAZONE株式会社 Tech Blog

Discussion