AWS Backup for Amazon S3 利用方法

記事タイトルとURLをコピーする

こんにちは、クラウドインテグレーション部の加藤ゆです。
AWS Backup for Amazon S3の一般提供が開始されましたので、利用方法について記載します。(2022/02/24現在)

aws.amazon.com

AWS Backup for Amazon S3 とは?

AWS Backupは既に存在していますが、S3はサポートされていなかったため、利用できませんでした。
今回の一般提供開始により、AWS BackupでサポートされるサービスのセットにAmazonS3が追加されたので、AWS Backup によるS3のバックアップが出来るようになりました
ただし、S3バックアップは、クロスリージョンバックアップは未対応ですのでご注意ください。

何ができる?

AWSを使用したサービスのバックアップを自動で取ろうとすると、定期的に取得し、保存するプログラムを自分で組むといった手間がかかるところですが、
AWS Backupの利用により 一度設定すれば定期的にバックアップを保存することが出来るようになります。

たとえば以下の目的で利用ができるのではないでしょうか。

  • S3バケットのバックアップ
  • オブジェクトを含むS3バケット単位の復元
  • オブジェクト単位の復元

サポートされているS3ストレージクラス

Creating S3 backups - AWS Backup

以下S3ストレージクラスに保存されているS3データをバックアップできます。
S3 Glacier Flexible RetrievalとS3 Glacier Deep Archive以外であれば利用可能です。バックアップしたS3データは、S3Standardストレージクラスに復元されます。

  • S3標準
  • S3標準-アクセス頻度が低い(IA)
  • S3ワンゾーン
  • S3ワンゾーン-IA
  • S3 Glacier Instant Retrieval
  • S3インテリジェントティアリング(S3 INT)

AWS Backup for Amazon S3 の制限

以下の制限がありますので、ご利用前にご確認ください。

Creating S3 backups - AWS Backup

  • コールドストレージへの移行不可

    • S3バックアップのコールドストレージへの移行はサポート外です。
  • バックアップサイズ

    • 最大1PBのサイズまたは2,400万未満のオブジェクトである必要があります。1 PBを超える場合は制限解除申請をしてください。
  • 暗号化キー

    • AWS Backupは、 SSE-Cで暗号化されたオブジェクトをバックアップしません。
  • 復元リージョン

  • バックアップ手法

    • 最初のバックアップは完全バックアップですが、後続のバックアップはオブジェクトレベルで増分バックアップです。
    • 指定対象の、すべての有効期限が切れていないバージョンをバックアップして保存しますので、S3コスト削減のためには、S3のライフサイクル設定をご利用ください。

前提

本記事では、既存のバックアッププランがあり、このプランにS3バケットを追加する方法を記載します。
S3 のバックアップを利用にするには、以下の設定が必要ですのでご注意ください。

  1. 利用するS3 バケットのバージョニング有効化
  2. IAMロール設定
  3. AWS Backup設定のリソース設定で「 S3 」を有効化
  4. アクセス制御リスト(ACL)が宛先・ソースS3バケットのどちらも有効である

1.3はいずれもデフォルトでは無効となっている設定です。
2.について、IAMポリシーをAWSバックアップ管理のIAMロールに追加する必要があります。Amazon S3 バックアップポリシーとリストア用ポリシーの作成が必要です。(※2022/02/24現在)

また、4.アクセス制御リスト(ACL)が宛先・ソースS3バケットのどちらも有効になっている必要がありますのでご注意ください。

S3バケットのバージョニング有効化方法

docs.aws.amazon.com

S3バケットのバージョニング設定はデフォルトでは無効になっています。
AmazonS3コンソールへ移動し、設定しましょう。

  • [バケット] リストで、バージョン管理を有効にするバケットの名前を選択
  • [プロパティ] を選択
  • [バケットのバージョン管理] で、[編集] を選択
  • [有効にする] を選択してから、[変更を保存] を選択

f:id:swx-yuki-kato:20220224112042p:plain

f:id:swx-yuki-kato:20220222112758p:plain

IAM ポリシーの作成

前述の通り、現時点では「デフォルトのロール」は、S3のBackupに対応していません(※2022/02/24現在)
IAMポリシー作成し、AWSバックアップ管理のIAMロールに追加して利用する必要があります。

本記事の本筋ではないので詳細な手順は割愛しますが、以下ドキュメントのポリシーを参考に作成しましょう。

Creating S3 backups - AWS Backup

Amazon S3 バックアップポリシーと、リストア用のポリシーのどちらも作成、アタッチが必要となります。

docs.aws.amazon.com

Amazon S3 バックアップポリシー(AWSBackupS3とする)を作成時のポリシー概要画面です。
参考までにご覧ください。

f:id:swx-yuki-kato:20220222131906p:plain

リストア用のポリシー(AWSBackupRestoreS3とする)も同様に作成し、実行するIAMロールへアタッチください。以下はリストア用のポリシー概要画面です。
f:id:swx-yuki-kato:20220224103412p:plain

作成したポリシー(AWSBackupS3、AWSBackupRestoreS3)をIAMロール(AWSBackupDefaultServiceRole)へアタッチしました。
このIAMロールであればS3へのアクション許可が付与済みですので、操作可能となります。

f:id:swx-yuki-kato:20220225104128p:plain

AWS Backup設定方法

Announcing the general availability of AWS Backup for Amazon S3

Preview – AWS Backup Adds Support for Amazon S3 | AWS News Blog

docs.aws.amazon.com

AWS Backup リソース設定でS3有効化

AWS Backupに移動し、[設定]と[リソースの設定]を選択 f:id:swx-yuki-kato:20220222104817p:plain

S3を有効化し、[確認]を選択 f:id:swx-yuki-kato:20220222105033p:plain

全般

[バックアッププラン]に移動して、 [リソースの割り当て]を選択 f:id:swx-yuki-kato:20220222110310p:plain

  • リソース割り当て名
    • 大文字と小文字が区別されます。割りあて名を指定します。
  • IAM ロール
    • AWS Backupが引き受けるIAMロールを設定します。
    • 先ほど作成した、S3 バックアップポリシーアタッチ済みのIAMロールを指定します。

f:id:swx-yuki-kato:20220222111510p:plain

リソースを割り当てる

  • [特定のリソースタイプを含める] を選択
  • [リソースタイプ] S3を選択
    • 1つまたは複数のS3バケット名を選択可能
  • [リソースの割り当て] を選択

※3.4のオプションで、タグまたはリソースIDを使用してS3リソースを割り当てることも可能です。S3バケット数が多い場合は、タグを使用してS3バケットをバックアッププランに割り当ててご利用ください。

数千のS3バケットがある場合は、タグを使用してS3バケットをバックアッププランに割り当てることをお勧めします。AWS Backupは、S3バケット内のタグをバックアッププランに割り当てられたタグと照合し、アプリケーションが使用する他のAWSサービスとともにS3リソースを一元的にバックアップします。

Preview – AWS Backup Adds Support for Amazon S3 | AWS News Blog

f:id:swx-yuki-kato:20220222111745p:plain

バックアッププランにリソースの割り当てが追加されていることが分かります。

f:id:swx-yuki-kato:20220222113152p:plain

リストア方法

AWS Backupから[バックアップボールド]へ移動

[バックアップ]セクションで、復元するリカバリポイントIDを選択し、
[アクション]メニューから[復元]を選択 f:id:swx-yuki-kato:20220224100357p:plain

S3バックアップの復元

f:id:swx-yuki-kato:20220224115128p:plain f:id:swx-yuki-kato:20220224102230p:plain

リストアタイプ

S3バケット全体または個々のS3オブジェクト、ファイルを復元することが可能です。
オブジェクトまたはフォルダ単位の場合は最大5つまで選択できます。

復元先

同じバケット、別のバケットで復元するか、新しいバケットを作成するかを選択できます。

オブジェクト暗号化の復元

バケット内の復元されたオブジェクトの暗号化に使用するキーを選択できます。
ソースオブジェクトが暗号化されていない場合は、デフォルト「元の暗号化キーを使用」のままであれば、暗号化されずにオブジェクトが復元されます。

ロールを復元

バックアップの復元時に AWS Backup が引き受ける IAM ロールを指定します。
リストア用IAMポリシーが、AWSバックアップ管理のIAMロールにアタッチ済みである事をご確認ください。

[バックアップの復元]を選択すると、復元が開始されます。

進行状況の確認

[ジョブの復元]タブの[ジョブ]セクションで進行状況を確認できます。 f:id:swx-yuki-kato:20220224102527p:plain

ステータスが「実行中」から「完了」に変わると、オブジェクトを使用可能です。
f:id:swx-yuki-kato:20220224104849p:plain

料金

対象リージョンは、アジアパシフィック(東京)である事とします。

aws.amazon.com

バックアップストレージの料金

バックアップデータのストレージ量に基づいてGB 単位で料金が発生します。

AWS Backup ストレージの料金は、バックアップデータが消費するストレージ領域の量に基づきます。  AWS リソースの最初のバックアップとして、データの完全コピーが保存されます。
増分バックアップごとに、AWS リソースの変更部分のみが保存されます。
1 か月に請求されるストレージの量は、月全体を通じて使用される平均ストレージ領域に基づきます。
ストレージ使用量はGB-月を単位として測定され、その値を月末に合計してその月の請求額が計算されます。

f:id:swx-yuki-kato:20220224111258p:plain

Amazon S3 Backup:毎月 0.06USD/GB

例:5TBのS3バケットのバックアップを作成する場合
ストレージ料金:5[TB]*1024* 0.06 = 307.2 USD/月

リストア料金

復元されたデータ量に基づいて、GB 単位で料金が発生します。

ある月に課金される復元の量は、該当月に復元されたデータの量に基づきます。 ある月に復元されたデータ量は GB 単位で測定され、これは該当月に実行された復元すべてにおけるデータ量の合計を表します。

f:id:swx-yuki-kato:20220224111426p:plain

Amazon S3 Backup:0.024USD/GB

例:5TBのバックアップを復元する場合
ストレージ料金:5[TB]*1024* 0.024 = 122.88 USD/月

追加料金発生個所

1.バージョニング有効化

AWS Backup for S3 を利用するには、S3バケットのバージョニングを有効化する必要があり、バージョニング有効化には追加料金がかかります。
それぞれ別オブジェクトとして通常のストレージ同様に扱われますので、その点ご注意ください。

Q: バージョニングの使用に対してどのように課金されますか?

通常の Amazon S3 料金は、格納またはリクエストされるオブジェクトの各バージョンについて適用されます。

よくある質問 - Amazon S3 |AWS

2.バケットに送られるリクエスト

S3 バケットとオブジェクトに対して行われたリクエストに対して料金が発生します。リクエストの料金は、リクエストタイプに応じて異なりますので、以下資料をご参照ください。

例えば、オブジェクトをバックアップボールトにコピーするために、対象オブジェクトへ数回S3 GET を実行すると、その分のリクエスト料金が発生します。

料金 - Amazon S3 |AWS

おわり

Amazon S3でもAWS Backupが使えるようになりました!
一度設定すれば定期的にバックアップを保存することが出来るのはとても便利ですね、ご利用の環境に合わせてご活用ください。

ご覧いただき、ありがとうございました。

加藤 由有希 エンジニアブログの記事一覧はコチラ

クラウドインテグレーション部 所属

2020年4月に新卒入社