話題の記事

【新サービス】 AWSの各種サービスのバックアップを管理するAWS Backupが登場!

AWSの各種サービスのバックアップを集中管理したり自動化をするAWS Backupという新サービスが登場しました!

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

大栗です。

先程AWSの各種サービスのバックアップの集中管理や自動化を行えるAWS Backupというサービスがリリースされたのでレポートします。

AWS Backup

AWS Backupはサービスのバックアップを集中管理したり自動化を行えるサービスです。AWSのバックアップを行うサービスとしてはAmazon DLMがありましたが、こちらは対象がEBSのみとなっていました。(APIやCLIの仕様を確認するとEBS以外にも拡張可能な形式になっていましたが。。。)

【新サービス】EBSスナップショットのライフサイクルを自動化するAmazon DLMが登場!

AWS BackupではEBS以外にも様々な各サービスも対象になっています。現在は以下の5サービスが対象になっています。今までバックアップ機能がなかったEFSにも対応しています!

  • Amazon EFS
  • Amazon DynamoDB
  • Amazon EBS
  • Amazon RDS
  • AWS Storage Gateway

特徴

サービスの特徴として以下のような点が挙げられています。

  • バックアップの集中管理
  • バックアッププロセスの自動化
  • バックアップのコンプライアンス
  • バックアップの活動監視

動作概要はAWS Backupでバックアッププランを作成して、リソースを割り当てて、バックアップを取得する、という動きです。

https://aws.amazon.com/backup/ より引用

クラウド上の各リソースや、Storage Gatewayを通してオンプレミスのデータのバックアップを取得して管理できます。

https://aws.amazon.com/backup/ より引用

対象リージョン

現在AWS Backupをサポートしているリージョンは以下の通りです。

  • 米国東部 (バージニア北部)
  • 米国東部 (オハイオ)
  • EU (アイルランド)
  • 米国西部 (オレゴン)

やってみる

実際にAWS Backupを動かして見ます。まだ東京リージョンはサポートされていないのでオレゴンで実行します。また、AWS Backupは多数のサービスがサポートされていますがEBSを対象とします。EBS以外のバックアップは別のブログが上がると期待しています。

スケジュール バックアップとオンデマンド バックアップを試してみます。

スケジュール バックアップの流れは以下のようになります。

  1. バックアップ対象の確認
  2. バックアッププランの作成
  3. バックアッププランにリソースを割り当てる
  4. バックアップの実行を待つ

オンデマンド バックアップの流れは以下のようになります。

  1. バックアップ対象の確認
  2. オンデマンド バックアップの作成

バックアップ対象

対象とするEC2配下のように作成しています。

  • インスタンスタイプ: t3.micro
  • AMI: amzn2-ami-hvm-2.0.20190115-x86_64-gp2 (ami-032509850cf9ee54e)
  • EBS
  • /dev/xvda : 10GB (gp2)
  • /dev/sdb : 20GB (gp2)

EBSにはタグを以下のように設定しています。

  • Key: blog
  • Value: aws-backup

スケジュール バックアップ

AWS Backupの設定

AWS Backupのコンソールを開きCreate Backup planをクリックします。プラン名はplan-1とします。

バックアッププランの作成

新しくバックアッププランを立てるためBuild a new planを選択します。

項目 設定値 備考
General: Rule name blog-1
Schedule: Frequency Daily 頻度は、12時間、日次、週次、月次、カスタムcron表現から選択可能です
Schedule: Backup window Customize backup window デフォルトの場合は5:00 UTCから8時間です。
Schedule: Backup window start time 05:30 AM 時刻はUTC表記
Schedule: Start backup within hours 1時間 1時間から12時間まで
Schedule: Lifecycle Transition to cold storage Never ストレージのティアを変更しないため
Schedule: Lifecycle Expire Never ストレージのティアを変更しないため

Vaultの作成

AWS BackupではVaultという単位のバックアップを管理できます。ここではVaultはデフォルトを使わずに新しく作成します。Backup vaultの項でCreate new Backup vaultをクリックします。

ポップアップが出てくるので、以下の設定でVaultを作成します。

項目 設定値 備考
Backup vault name blog-01
KMS encryption master key (default) aws/backup AWS BackupデフォルトのKMSキー
Backup vault tags Name: blog-1

元の画面に戻って作成したVaultを選択します。

バックアッププランにタグを設定します。タグを設定してCreate planをクリックして作成します。

項目 設定値 備考
Key Name
Value plan-01

このようにバックアッププランが作成されます。

バックアッププランにリソースを割り当てる

作成したバックアッププランに対してバックアップ対象のリソースを割り当てます。

バックアッププランのResource assignmentsの項のAssign resourcesをクリックします。

以下のように設定してAssign resourcesをクリックします。

項目 設定値 備考
General: Resource assignment name assignment-1
General: IAM Role Default role Defaultの場合自動でRoleが作成されます。既存で作成したRoleを選択することも可能。
Assign resources: Assign by Tag タグとリソースIDから選択可能
Assign resources: Key Name 今回はEBSのタグ情報
Assign resources: Value aws-backup 今回はEBSのタグ情報

リソース割当が作成されます。

タグを使ってリソース割当を行う場合に対象リソースが分かりにくくなると思うので、タグエディタを使って検索すると良いでしょう。(自分は何度もタグの設定をミスりました)

[AWS]タグエディタを使ってリソースタグを一括編集する

バックアップの実行

バックアップの実行ですがスケジュール バックアップなので決めた時間帯までおとなしく待ちます。するとバックアップのジョブが作成されます。

作成されたジョブが実行されてスナップショット処理が実行されます。

しばらくするとジョブが完了します。

取得されたスナップショットの説明ではThis snapshot is created by the AWS Backup service.と記述されていました。

ここまではAmazon DLMとほぼ同等の機能ですが、AWS BackupではVaultという機能があるので同じジョブで取得したバックアップをまとめて管理できます。Backup vaultsの画面で対象Vaultを見ると取得したバックアップの一覧が見えます。

オンデマンド バックアップ

オンデマンド バックアップは任意のタイミングで取得するバックアップです。

AWS BackupのコンソールからProtected resourcesを選びCreate on-demand backupをクリックします。

オンデマンド バックアップの設定を行います。対象リソースの設定は以下のように実施します。タグベースではなくリソースIDを指定します。

項目 設定値 備考
Resource: Resource type EBS
Resource: Volume ID 任意のEBSボリューム
Resource: Backup window Customize backup window
Resource: Start backup within hours 1時間 1時間から12時間まで
Schedule: Lifecycle Expire Never ストレージのティアを変更しないため

Vaultは先程作成したblog-01を使用して、IAM Roleはデフォルトのものを使用します。設定したらCreate on-demand backupをクリックします。

項目 設定値 備考
Resource: Backup vault blog-01 先程作成した
Resource: IAM Role Default role Defaultの場合自動でRoleが作成されます。既存で作成したRoleを選択することも可能。

作成したバックアップのジョブが表示されます。

完了すると、スケジュール バックアップの場合と同様にEBSのスナップショットが作成されます。

さいごに

AWSのバックアップサービスであるAmazon DLMが半年前にリリースされたのに、もう別のバックアップサービスがリリースされており、混沌としています。AWS Backupは最初からEBS以外のサービスも対象とされており、取得したバックアップの管理機能も備えているので、今後の本命なのだと思われます。今後のバックアップはAmazon DLMだ!と言って変更された方は面倒だと思いますが、EBS以外のバックアップを行う場合にはAWS Backupを検討してはいかがでしょうか?(まだ東京に来ていないけど。。。)

次は今まで出来なかったEFSのバックアップについても検証を行いたいと思います。