こんにちは、クラウドインテグレーション部の加藤ゆです。
AWS Backup for Amazon S3の一般提供が開始されましたので、利用方法について記載します。(2022/02/24現在)
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バックアップは、バックアップが配置されているのと同じAWSリージョンにのみ復元可能です。クロスリージョンバックアップは未対応。
バックアップ手法
- 最初のバックアップは完全バックアップですが、後続のバックアップはオブジェクトレベルで増分バックアップです。
- 指定対象の、すべての有効期限が切れていないバージョンをバックアップして保存しますので、S3コスト削減のためには、S3のライフサイクル設定をご利用ください。
前提
本記事では、既存のバックアッププランがあり、このプランにS3バケットを追加する方法を記載します。
S3 のバックアップを利用にするには、以下の設定が必要ですのでご注意ください。
- 利用するS3 バケットのバージョニング有効化
- IAMロール設定
- AWS Backup設定のリソース設定で「 S3 」を有効化
- アクセス制御リスト(ACL)が宛先・ソースS3バケットのどちらも有効である
1.3はいずれもデフォルトでは無効となっている設定です。
2.について、IAMポリシーをAWSバックアップ管理のIAMロールに追加する必要があります。Amazon S3 バックアップポリシーとリストア用ポリシーの作成が必要です。(※2022/02/24現在)
また、4.アクセス制御リスト(ACL)が宛先・ソースS3バケットのどちらも有効になっている必要がありますのでご注意ください。
S3バケットのバージョニング有効化方法
S3バケットのバージョニング設定はデフォルトでは無効になっています。
AmazonS3コンソールへ移動し、設定しましょう。
- [バケット] リストで、バージョン管理を有効にするバケットの名前を選択
- [プロパティ] を選択
- [バケットのバージョン管理] で、[編集] を選択
- [有効にする] を選択してから、[変更を保存] を選択
IAM ポリシーの作成
前述の通り、現時点では「デフォルトのロール」は、S3のBackupに対応していません(※2022/02/24現在)
IAMポリシー作成し、AWSバックアップ管理のIAMロールに追加して利用する必要があります。
本記事の本筋ではないので詳細な手順は割愛しますが、以下ドキュメントのポリシーを参考に作成しましょう。
Creating S3 backups - AWS Backup
Amazon S3 バックアップポリシーと、リストア用のポリシーのどちらも作成、アタッチが必要となります。
Amazon S3 バックアップポリシー(AWSBackupS3とする)を作成時のポリシー概要画面です。
参考までにご覧ください。
リストア用のポリシー(AWSBackupRestoreS3とする)も同様に作成し、実行するIAMロールへアタッチください。以下はリストア用のポリシー概要画面です。
作成したポリシー(AWSBackupS3、AWSBackupRestoreS3)をIAMロール(AWSBackupDefaultServiceRole)へアタッチしました。
このIAMロールであればS3へのアクション許可が付与済みですので、操作可能となります。
AWS Backup設定方法
Announcing the general availability of AWS Backup for Amazon S3
Preview – AWS Backup Adds Support for Amazon S3 | AWS News Blog
AWS Backup リソース設定でS3有効化
AWS Backupに移動し、[設定]と[リソースの設定]を選択
S3を有効化し、[確認]を選択
全般
[バックアッププラン]に移動して、 [リソースの割り当て]を選択
- リソース割り当て名
- 大文字と小文字が区別されます。割りあて名を指定します。
- IAM ロール
- AWS Backupが引き受けるIAMロールを設定します。
- 先ほど作成した、S3 バックアップポリシーアタッチ済みのIAMロールを指定します。
リソースを割り当てる
- [特定のリソースタイプを含める] を選択
- [リソースタイプ] 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
バックアッププランにリソースの割り当てが追加されていることが分かります。
リストア方法
AWS Backupから[バックアップボールド]へ移動
[バックアップ]セクションで、復元するリカバリポイントIDを選択し、
[アクション]メニューから[復元]を選択
S3バックアップの復元
リストアタイプ
S3バケット全体または個々のS3オブジェクト、ファイルを復元することが可能です。
オブジェクトまたはフォルダ単位の場合は最大5つまで選択できます。
復元先
同じバケット、別のバケットで復元するか、新しいバケットを作成するかを選択できます。
オブジェクト暗号化の復元
バケット内の復元されたオブジェクトの暗号化に使用するキーを選択できます。
ソースオブジェクトが暗号化されていない場合は、デフォルト「元の暗号化キーを使用」のままであれば、暗号化されずにオブジェクトが復元されます。
ロールを復元
バックアップの復元時に AWS Backup が引き受ける IAM ロールを指定します。
リストア用IAMポリシーが、AWSバックアップ管理のIAMロールにアタッチ済みである事をご確認ください。
[バックアップの復元]を選択すると、復元が開始されます。
進行状況の確認
[ジョブの復元]タブの[ジョブ]セクションで進行状況を確認できます。
ステータスが「実行中」から「完了」に変わると、オブジェクトを使用可能です。
料金
対象リージョンは、アジアパシフィック(東京)である事とします。
バックアップストレージの料金
バックアップデータのストレージ量に基づいてGB 単位で料金が発生します。
AWS Backup ストレージの料金は、バックアップデータが消費するストレージ領域の量に基づきます。 AWS リソースの最初のバックアップとして、データの完全コピーが保存されます。
増分バックアップごとに、AWS リソースの変更部分のみが保存されます。
1 か月に請求されるストレージの量は、月全体を通じて使用される平均ストレージ領域に基づきます。
ストレージ使用量はGB-月を単位として測定され、その値を月末に合計してその月の請求額が計算されます。
Amazon S3 Backup:毎月 0.06USD/GB
例:5TBのS3バケットのバックアップを作成する場合
ストレージ料金:5[TB]*1024* 0.06 = 307.2 USD/月
リストア料金
復元されたデータ量に基づいて、GB 単位で料金が発生します。
ある月に課金される復元の量は、該当月に復元されたデータの量に基づきます。 ある月に復元されたデータ量は GB 単位で測定され、これは該当月に実行された復元すべてにおけるデータ量の合計を表します。
Amazon S3 Backup:0.024USD/GB
例:5TBのバックアップを復元する場合
ストレージ料金:5[TB]*1024* 0.024 = 122.88 USD/月
追加料金発生個所
1.バージョニング有効化
AWS Backup for S3 を利用するには、S3バケットのバージョニングを有効化する必要があり、バージョニング有効化には追加料金がかかります。
それぞれ別オブジェクトとして通常のストレージ同様に扱われますので、その点ご注意ください。
Q: バージョニングの使用に対してどのように課金されますか?
通常の Amazon S3 料金は、格納またはリクエストされるオブジェクトの各バージョンについて適用されます。
2.バケットに送られるリクエスト
S3 バケットとオブジェクトに対して行われたリクエストに対して料金が発生します。リクエストの料金は、リクエストタイプに応じて異なりますので、以下資料をご参照ください。
例えば、オブジェクトをバックアップボールトにコピーするために、対象オブジェクトへ数回S3 GET を実行すると、その分のリクエスト料金が発生します。
おわり
Amazon S3でもAWS Backupが使えるようになりました!
一度設定すれば定期的にバックアップを保存することが出来るのはとても便利ですね、ご利用の環境に合わせてご活用ください。
ご覧いただき、ありがとうございました。