AWS Backup で対象とするサービスの選択が可能になりました!

AWS Backup で対象とするサービスを選択することが可能となりました。これによりタグを利用して実行する際に重複して取得してしまうケースの回避が可能です!!
2020.05.24

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

園部です。

AWS Backup で対象とするサービスをオプトイン&オプトアウトの形で柔軟にコントロールすることが可能となりました!

AWS Backup は、サービスのオプトインをサポートするようになりました。 これにより、AWS のお客様は、サポートされている AWS サービスの AWS Backup サポートをアカウントレベルでオプトイン (またはオプトアウト) できます。 サービスのオプトインは、設定が簡単なソリューションを提供するもので、AWS Backup サービスのカバレッジが必要なものを正確に反映するようにします。 また、タグ付け戦略を変更せずに、AWS Backup が新しいサービスのサポートを導入するときに、お客様が簡単にオプトインできるようにします。

引用: AWS Backup がバックアップの選択をカスタマイズするための新しいオプションのサポートを開始

このサービスアップデートの肝となる部分は以下の部分となります。

タグ付け戦略を変更せずに、AWS Backup が新しいサービスのサポートを導入するときに、お客様が簡単にオプトインできるようにします。

AWS Backup では EC2だけではなく EBS, EFS, RDS など複数のサービスを対象としています。またスケジュール実行をする際に、対象リソースをタグで選択することが可能です。ここまでくるとお察しの良い方はお気づきかもしれませんが、同一タグを付与したリソースがある場合、意図しないサービスも対象となるケースがあります。

例えば、、各リソースに以下のようなタグを付与しているとします。そして AWS Backup で Backup / On タグが付与されているリソースを対象にすると...

  • EC2 に Backup / On
  • EBS に Backup / On

今回、事象の再現と新しい機能での回避方法をやってみます!!

やってみた

事前準備

まずは EC2 を用意して、以下のような Backup / On とタグを付与します。

ここでは EC2 にアタッチされている2つの EBS に対してはタグを付与していません。

AWS Backup の対象サービスもデフォルトのままです。

AWS Backup プラン作成

AWS Backup の詳細設定は割愛しますが、ポイントとなる部分だけ共有していきます。詳細な設定について知りたい方が是非弊社メンバーのブログをご確認ください。

では、ポイントだけ見ていきます。今回は定期実行を想定しており、検証なので 毎時45分に実行する設定をしています。

リソースの割り当て単位を タグ とし Backup / On を指定します。

パターン1: EC2 のみタグを付与し、全サービス対象にバックアップ実行

必要な対象に対して詳細に、タグが付与されているので意図した動作が実行されます。

注:昨日実施した結果を記事としています

17:45 にプランが開始、 18:11 に正常終了しています。

AMI と スナップショットの結果を見ていきます。

  • AMI は対象とした EC2 に対して 1つ取得されています。

  • スナップショット は AMI 実行にともない EBS のスナップショットが取得されています。

パターン2: EC2 / EBS にタグを付与し、全サービスを対象にバックアップ実行

次に EBS にも Backup / On のタグを付与します。

同じ AWS Backup プランによって、実行されるのを待ちます。

18:45 にプランが開始、 19:11 に正常終了しています。 今回は、EC2 と EBS が対象となり実行された結果が表示されています。

この場合では AMI と スナップショットはどのような結果となるかを見ていきます。

  • AMI は対象とした EC2 に対して 1つ取得されています。

  • スナップショット は AMI 実行にともない EBS のスナップショットが取得される分と EBS 単体でそれぞれ取得 されています。

時間差も6分程度であり、同じ対象に対して取得してしまうのは、不要なものと考えるケースが多いと思います。

このようなことが起きる背景としては 2つほど考えられます。

  • AWS Backup は当初 EC2 レベルではサポートされていなかったため EBS を個別にしていたが EC2 も対応した際に、既存の AWS Backup プランを利用するために 同様のタグを EC2 にも付与して EBS から削除を行わなかった
  • 今回は、検証用で簡単なタグを付与しましたが、適切なタグがない・付与が困難などの理由から既存の広い範囲で利用されているタグを利用した

そこで今回の新機能が活躍します!!

パターン3: EC2 / EBS にタグを付与し、EC2 を対象にバックアップ実行

AWS Backup >>> 設定 >>> リソースを設定 を選択

必要なサービスに限定します。今回であれば EC2 のみを有効とします。

この状態としたまま AWS Backup の実行を待ちます。

19:45 にプランが開始、 20:11 に正常終了しています。 今回は、EC2 が対象となり実行された結果が表示されています。

この場合では AMI と スナップショットはどのような結果となるかを見ていきます。

  • AMI は対象とした EC2 に対して 1つ取得されています。

  • スナップショット は AMI 実行にともない EBS のスナップショットが取得されています。

本来意図していた パターン1 と同様の結果が得られました!

さいごに

バックアップは重要です。そのため AWS Backup のようなマネージドなサービスは積極的に活用したいサービスの一つです。ただし、今回のように意図しない重複したバックアップがなされていたり、不要なバックアップが残っているケースがあります。バックアップとはいえ、塵も積もれば山となり、コストを圧迫する要因となっていることがあります。定期的に意図した内容で取得されているか?そして、今回のような新しい機能によってより必要な対象を的確に取得できないかを見直すことも重要なタスクではないかと思います。

本筋とは離れますが、タグを利用したリソース管理は非常に重要な手段となっています(なりつつあります)。今回は問題の原因となっているかのような表現になっていますが、適切に利用することで増え続けるリソースを的確にコントロールすることが可能です。こちらはまた別の機会に記事に出来ればと考えています。