AWS Organizations のバックアップポリシーを使ってデータバンカーアカウントの論理的にエアギャップのあるボールトへのデータコピーを構成する

AWS Organizations のバックアップポリシーを使ってデータバンカーアカウントの論理的にエアギャップのあるボールトへのデータコピーを構成する

2026.01.23

いわさです。

バックアップポリシーを使うと AWS Organizations の対象スコープの AWS アカウントに対して強制的に AWS Backup のバックアッププランを構成させることができます。

https://dev.classmethod.jp/articles/aws-organizations-aws-backup-policy/

そして、AWS Backup を構成する時、保存先に論理的にエアギャップのあるボールトを選択することでデータ保護戦略を実現することができます。
ランサムウェア対策などでよく採用されるのですが、バックアップコンテナをデータバンカーアカウントと呼ばれる別のアカウントに保存し、さらにエアギャップボールトを使うことで悪意のあるバックアップデータの削除から保護することができます。

https://dev.classmethod.jp/articles/ga-backup-logically-air-gapped-vault/

今回このバックアップポリシーを使って、データバンカーアカウントにある論理的にエアギャップのあるボールトへバックアップを保存する構成をとって見たのでその様子を紹介します。

マルチアカウント設計と論理的エアギャップボールトの準備

以下の記事は re:Invent 2022 でのデータ回復力に関するセッションのレポートです。

https://dev.classmethod.jp/articles/stg206-data-resiliency-design-patterns/

次のように、ワークロードアカウントから取得したバックアップデータをデータバンカーアカウントへ保存します。
そして、攻撃を受けて復旧が必要な際には侵害された元のワークロードアカウントではなくて、リカバリーアカウントを用意しておきそこで復旧します。

image.png

アカウント設計や手法は以下なども参考になります。

https://aws.amazon.com/jp/blogs/news/building-cyber-resiliency-with-aws-backup-logically-air-gapped-vault/

で、今回はこのデータバンカーアカウント相当のものを AWS Organizations 上に用意しておき、そこで論理的エアギャップボールトを作成します。
組織内の複数のメンバーアカウント上で取得されたバックアップデータをここに格納する想定です。

2766AFC8-54FF-4351-B81D-6882BFD3E18F_1_105_c.jpeg

ボールトの ARN を使用するのでコピーしておきましょう。

バックアップポリシーの作成

続いて、AWS Organizations でバックアップポリシーを構成します。

BA3A8B9C-9E01-471D-9DF8-D300D9635BB1_1_105_c.jpeg

404F491E-FDEF-45B2-91FB-659988B2913C.png

バックアッププランの中に複数のバックアップルールを作成することができます。
バックアップルールでどういうスケジュールでバックアップをどこに保存するのかなどを定義します。

このバックアップツールの中でターゲット論理エアギャップボールトというものがあります。
ただし、ここに先程作成したデータバンカーアカウントの論理エアギャップボールトの ARN を指定してみましたがダメでした。

1099AD47-A41D-4BCC-B980-F4D029D53E1D_1_105_c.jpeg

ここで指定できるのは次の形式で、各メンバーアカウント上に対象リージョンの論理エアギャップボールトである必要があります。
直接クロスアカウントで論理エアギャップボールトを保存先に指定することはできないということですね。

0B886F84-6BF4-4446-ABE4-726A473119AA_1_105_c.jpeg

コピー先として指定する

ただし、バックアップルールの中ではバックアップのコピー先を指定する機能があります。
こちらを使うことでプライマリバックアップに加えてセカンダリのバックアップを保存することができます。

D95F5314-6A52-4C84-8FF9-9B1C7C8C974D_1_105_c.jpeg

そしてここでデータバンカーアカウントの論理的エアギャップボールトを指定することができます。

B1D9847C-C7C0-42B9-8DC2-D48D2063E9DE.png

プライマリバックアップ側で指定するのは各メンバーアカウントのボールトになります。
標準ボールトに加えて論理的エアギャップボールトへ直接保存することも出来まして、本来ここはオプションのはずなのですがなぜかこのバックアップポリシー作成のユーザーインターフェース上は指定する必要がありました。対処方法は後述します。

1B5F0141-2EED-4AA0-A9FA-4CF9B35452AC_1_105_c.jpeg

ポリシーを OU にアタッチ

ポリシーを作成したらメンバーアカウントに適用する必要があるので、アカウントや OU を指定してアタッチします。

14166EAB-ACA9-4AD7-8139-BBC9819FE486.png

スコープ内のメンバーアカウント内で確認してみると、バックアッププランが自動で作成されていることを確認しました。

6A7F94F7-7F9A-4430-97F9-F65FCF886033_1_105_c.jpeg

バックアッププランの中のバックアップルールももちろん自動作成されていました。
送信先バックアップボールトにデータバンカーアカウントの論理的エアギャップボールトが指定されていることが確認できますね。

1485E739-A560-4120-AB63-DC070FFA38CC_1_105_c.jpeg

なお、対象アカウント上のローカルのバックアップボールトはバックアップポリシーで自動作成されるわけではないので、事前に作成しておく必要があります。そうなのか。

2641B8D0-BCB2-4CF6-8543-CDEF378A8638_1_105_c.jpeg

バックアップポリシーでプライマリの論理的エアギャップボールトを指定しない方法

先程バックアップポリシー上のバックアップルールではプライマリの論理的エアギャップボールトの指定が必須っぽかったです。
例えば UI 上からターゲット論理エアギャップボールトを削除しようとすると変更内容が保存できません。

0EAD3DC9-EBDA-4AD2-AE98-0A8A85BB6C70_1_105_c.jpeg

ただし、バックアップポリシーはユーザーインターフェース以外に JSON を使っても作成・編集が可能でして、この JSON でポリシーを直接編集ことで対処できました。
以下の部分を削除します。

C3D8C623-3016-4759-9DF7-AE5147DFBC40.png

メンバーアカウントのバックアップルール上で次のようにプライマリの論理エアギャップボールトが未指定になっていることを確認しました。なるほど。

5F56DBE3-B7F1-4E37-B436-5F54D8963EE4_1_105_c.jpeg

さいごに

本日は AWS Organizations のバックアップポリシーを使ってデータバンカーアカウントの論理的にエアギャップのあるボールトへのデータコピーを構成してみました。

バックアップポリシーを使ってデータバンカーアカウントの論理エアギャップボールトにバックアップを集めることは出来そうですね。
細かいターゲットリソースの指定がバックアップポリシーだとできなかったり、事前に各アカウントにプライマリボールトを用意しておく必要があるのでちょっと中途半端なような気もするのですが、、、こういうものなのかな。
バックアップポリシーを使う方の参考になれば幸いです。

この記事をシェアする

FacebookHatena blogX

関連記事