Amazon S3 バックアップ - AWS Backup

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon S3 バックアップ

概要:

AWS Backup は、S3 にデータを保存するアプリケーションの一元化されたバックアップと復元を単独で、またはデータベース、ストレージ、コンピューティングのための他の AWS サービスと共にサポートします。S3 バックアップでは、多くの機能を使用できます (Backup Audit Manager を含む)。

で 1 つのバックアップポリシーを使用して AWS Backup 、アプリケーションデータのバックアップの作成を一元的に自動化できます。 は、さまざまな AWS サービスやサードパーティーアプリケーション間でバックアップ AWS Backup を一元管理され、暗号化された 1 つの場所 (バックアップボールトと呼ばれる) に自動的に整理するため、一元的なエクスペリエンスを通じてアプリケーション全体のバックアップを管理できます。S3 の場合は、継続的バックアップを作成し、S3 に保存されているアプリケーションデータを復元し、ワンクリックでバックアップをポイントインタイムに復元できます。

バックアップ階層化

Amazon S3 は、低コストのウォームストレージ階層へのバックアップ階層化をサポートする唯一のリソースです。詳細については、「バックアップ階層化」を参照してください。

S3 バックアップの前提条件

Amazon S3 のバックアップと復元のアクセス許可とポリシー

S3 リソースをバックアップ、コピー、復元するには、ロールに適切なポリシーが必要です。これらのポリシーを追加するには、「AWS 管理ポリシー」を参照してください。S3 バケットのバックアップと復元に使用するロールに、AWSBackupServiceRolePolicyForS3BackupAWSBackupServiceRolePolicyForS3Restore を追加します。

十分なアクセス許可がない場合は、組織の管理者 (admin) アカウントの管理者に、目的のロールにポリシーを追加するよう依頼してください。

詳細については、「IAM ユーザーガイド」の「管理ポリシーとインラインポリシー」を参照してください。https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html

バックアップとバージョニング

AWS Backup Amazon S3 で使用するには、S3 バケットで S3 バージョニングを有効にする必要があります。 Amazon S3

S3 バージョンの場合、「ライフサイクルの有効期限を設定する」ことをお勧めします。

バックアップの開始時にバケット内のすべてのオブジェクト (すべてのバージョンを含む) が復旧ポイント (完了したバックアップ) に保存されます。これには、各オブジェクトの最新バージョン、旧バージョン、削除マーカー、ライフサイクルアクションを保留中のオブジェクトが含まれます。

ストレージコストは、削除が予定されているオブジェクト (期限切れになるオブジェクト) を含む、バックアップ内のすべてのオブジェクトに対して計算されます。CLI またはスクリプトを使用して、有効期限切れが予定されているオブジェクトを対象から削除できます。

S3 ライフサイクルポリシーの設定について詳しくは、このページの指示に従ってください。

Amazon S3 のバックアップに関する考慮事項

S3 リソースをバックアップする際には、以下の点を考慮する必要があります。

  • フォーカスオブジェクトメタデータのサポート – タグ、アクセスコントロールリスト (ACLs)、ユーザー定義メタデータ、元の作成日、バージョン ID のメタデータ AWS Backup をサポートします。これにより、元の作成日、バージョン ID、ストレージクラス、および ETag を除くバックアップデータとメタデータをすべて復元できます。

  • S3 オブジェクトを復元すると、元のオブジェクトがチェックサム機能を使用していなくても、 はチェックサム値 AWS Backup を適用します。

  • S3 オブジェクトキー名は、ほとんどの UTF-8 エンコード可能な文字列で構成できます。Unicode 文字 #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF を使用できます。

    このリストにない文字を含むオブジェクトキー名は、バックアップから除外される場合があります。

  • コールドストレージの移行 – AWS Backup ライフサイクル管理ポリシーを使用して、バックアップの有効期限のタイムラインを定義します。S3 バックアップのコールドストレージ移行はサポートされていません。

  • 定期的なバックアップ AWS Backup の場合、 はオブジェクトメタデータへのすべての変更を追跡するために最善を尽くします。ただし、1 分以内にタグまたは ACL を複数回更新すると、 AWS Backup `では、すべての中間状態がキャプチャされない場合があります。

  • AWS Backup は、SSE-C-encryptedオブジェクトのバックアップをサポートしていません。 AWS Backup また、 は、バケットポリシー、設定、名前、アクセスポイントなどのバケット設定のバックアップもサポートしていません。

  • AWS Backup は、 での S3 のバックアップをサポートしていません AWS Outposts。

  • CloudTrail ログ記録 – データ読み取りイベントをログに記録する場合は、別のターゲットバケットに配信される CloudTrail ログが必要になります。CloudTrail ログを、それを記録するバケットに保存すると、無限ループにより予期しない料金が発生する可能性があります。

    詳細については、「CloudTrail ユーザーガイド」の「データイベント」を参照してください。

  • サーバーアクセスログ記録 – サーバーアクセスログ記録を有効にする場合は、ログを別のターゲットバケットに配信する必要があります。これらのログを、それを記録するバケットに保存すると、無限ループが発生します。詳細については、「Amazon S3 サーバーアクセスログを有効にします」を参照してください。

サポートされているバケットのタイプと数量

AWS Backup は、汎用 S3 バケットのバックアップと復元をサポートしています。ディレクトリバケットは、現時点ではサポートされていません

AWS アカウントで許可されるバケットなどのリソースの数量の上限 (クォータと呼ばれる) は、サービスによって異なります。Amazon S3 のクォータAWS Backup のクォータとは異なります。

各 AWS アカウントで、デフォルトで最大 100 個のバケットのバックアップを作成できます。最大 1,000 個までバケットのクォータ引き上げをリクエストできます。

バケット数が 1,000 個を超えるアカウントにはクォータ制限が適用されます。リクエストがクォータを超えると、ジョブが失敗する可能性があります。アカウントで作成されるバケット数を 1,000 個に制限することがベストプラクティスです。

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

AWS Backup では、次の S3 ストレージクラスに保存されている S3 データをバックアップできます。

  • S3 Standard

  • S3 Standard – Infrequent Access (IA)

  • S3 1 ゾーン - IA

  • S3 Glacier インスタント取得

  • S3 Intelligent-Tiering (S3 INT)

ストレージクラス S3 Intelligent-Tiering (INT) 内のオブジェクトのバックアップは、それらのオブジェクトにアクセスします。このアクセスにより、S3 Intelligent-Tiering がトリガーされ、これらのオブジェクトは Frequent Access に自動的に移行されます。

S3 Standard - Infrequent Access (IA) クラスや S3 One Zone-IA クラスを含む Infrequent Access 階層にアクセスするバックアップは、Frequent Access の S3 ストレージ料金 (Infrequent Access または Archive Instant Access 階層に適用) に移行します。

アーカイブストレージクラスの S3 Glacier Flexible Retrieval と S3 Glacier Deep Archive はサポートされていません。

Amazon S3 のストレージ料金に関する詳細については、「Amazon S3 の料金」を参照してください。

S3 バックアップタイプ

を使用すると AWS Backup、オブジェクトデータ、タグ、アクセスコントロールリスト (ACLs)、ユーザー定義メタデータなど、S3 バケットの次のタイプのバックアップを作成できます。

  • 継続的バックアップでは、過去 35 日間の任意のポイントインタイムに復元できます。S3 バケットの継続的バックアップは、1 つのバックアッププランでのみ設定してください。

    サポートされているサービスのリストと、 AWS Backup を使って連続バックアップを取る方法については「ポイントインタイムリカバリ」を参照してください。

  • 定期的バックアップでは、データのスナップショットを使用して、指定した期間 (最大 99 年間) データを保持できます。定期的バックアップは、1 時間、12 時間、1 日、1 週間、または 1 年間などの頻度でスケジュールできます。 AWS Backup は、バックアッププランで定義したバックアップウィンドウ中に定期的バックアップを行います。

    でバックアッププランをリソースに適用する方法については、 AWS Backup 「バックアッププランの作成」を参照してください。

S3 バックアップにはクロスアカウントコピーとクロスリージョンコピーを使用できますが、継続的バックアップのコピーにはポイントインタイムリストア機能はありません。

S3 バケットの継続的バックアップと定期的バックアップは、どちらも同じバックアップボールトにある必要があります。

AWS Backup for S3 は、Amazon EventBridge を介した S3 イベントの受信に依存しています。S3 バケット通知設定でこの設定を無効にすると、設定がオフになっているバケットの継続的バックアップは停止します。詳細については、「EventBridge の使用」を参照してください。

どちらのバックアップタイプでも、最初のバックアップはフルバックアップで、後続のバックアップは増分バックアップです。

S3 バックアップタイプの比較

S3 リソースのバックアップ戦略には、継続的バックアップのみ、定期的 (スナップショット) バックアップのみ、あるいはその両方の組み合わせが含まれます。以下の情報は、組織にとって最適な方法を選択するのに役立ちます。

継続的バックアップの場合のみ、次の項目が該当します。

  • 既存データの最初のフルバックアップが完了すると、S3 バケットデータの変更は発生時に追跡されます。

  • 変更履歴により、継続的バックアップの保持期間中は PITR (ポイントインタイムリストア) を使用できます。復元ジョブを実行するには、復元するポイントインタイムを選択します。

  • 各継続的バックアップの保持期間は最大 35 日間です。

  • CLI で作成したバックアッププランの場合、Amazon S3 の高度なバックアップ設定 (バックアップにタグと ACL を含めるオプションを含む) はデフォルトで有効になっています。これらはバックアップオプションで除外できます。構文の例については、「Amazon S3 の高度なバックアップ設定」を参照してください。

定期的 (スナップショット) バックアップ(定期的またはオンデマンド)の場合のみ、次の項目が該当します。

  • AWS Backup は S3 バケット全体をスキャンし、各オブジェクトの ACL とタグを取得し、前のスナップショットにあったが、作成中のスナップショットには見つからなかったすべてのオブジェクトに対して Head リクエストを開始します。

  • バックアップはポイントインタイム整合性があります。

  • 記録されるバックアップ日時は、バックアップジョブが作成された時刻ではなく、 がバケットのトラバーサル AWS Backup を完了した時刻です。

  • バケットの最初のバックアップはフルバックアップです。それ以降の各バックアップは増分となり、前回のスナップショットからのデータの変化を表します。

  • 定期的バックアップによって作成されたスナップショットの保持期間は最大 99 年です。

継続的バックアップと定期的/スナップショットバックアップの組み合わせの場合に、次の項目が該当します。

  • 既存データ (各バケット) の最初のフルバックアップが完了すると、バケット内の変更は発生時に追跡されます。

  • 継続的復旧ポイントからポイントインタイムリストアを実行できます。

  • スナップショットはポイントインタイム整合性があります。

  • スナップショットは継続的復旧ポイントから直接取得されることから、バケットを再スキャンする必要がないため、処理を速められます。

  • スナップショットと継続的復旧ポイントはデータ系列を共有するため、スナップショットと継続的復旧ポイント間のデータの保存は重複しません。

  • バックアップにタグや ACLs を含めるなどの高度な Amazon S3 バックアップ設定がcontinuous復旧ポイントに対して変更されると、 はその復旧ポイント AWS Backup を停止し、更新された設定 (複数可) で新しいものを作成します。

S3 バケットの継続的バックアップジョブが実行されている場合でも、定期的な (スナップショット) バックアップジョブを開始できます。ただし、次の動作が適用されます。

  • スナップショットバックアップジョブは、既存の継続的バックアップと同じバックアップオプション (ACL とオブジェクトタグの設定) を使用します。

  • スナップショットジョブに継続的バックアップが使用するバックアップオプションとは異なるバックアップオプションを指定しても、スナップショットジョブは継続的バックアップの設定を使用し、「Completed with issues」ステータスで完了します。

    この場合、次のステータスメッセージが表示されます。"Periodic/snapshot backup for bucket <bucket name> has different backup options than the continuous backup. When using continuous backups along with snapshot backups for the same bucket, the snapshot will use the same settings for backing up ACLs and Object tags as the continuous backup."

次の表は、既存の継続的復旧ポイントの BackupOptions を変更するときにフルスキャンが必要になるタイミングを示しています。

BackupOptions が変更された場合のフルスキャン動作
以前の BackupOptions 新しい BackupOptions フルスキャン
backupACLs と backupObjectTags が有効 backupACLs と backupObjectTags が無効 不可
backupACLs と backupObjectTags が有効 backupACLs が有効、backupObjectTags が無効 不可
backupACLs と backupObjectTags が有効 backupACLs が無効、backupObjectTags が有効 不可
backupACLs と backupObjectTags が無効 backupACLs と backupObjectTags が有効 あり
backupACLs が有効、backupObjectTags が無効 backupACLs と backupObjectTags が有効 あり
backupACLs が無効、backupObjectTags が有効 backupACLs と backupObjectTags が有効 あり

S3 バックアップ完了ウィンドウ

以下の表は、S3 バケットの最初のフルバックアップの完了時間の目安となるように、さまざまなサイズのサンプルバケットを示しています。バックアップ時間は、各バケットのサイズ、内容、構成、設定によって異なります。

[バケットサイズ] オブジェクト数 初期バックアップが完了するまでの推定時間
425 GB (ギガバイト) 1 億 3500 万 31 時間
800 TB (テラバイト) 6 億 7000 万 38 時間
6 PB (ペタバイト) 50 億 100 時間
370 TB (テラバイト) 75 億 180 時間

S3 バックアップのベストプラクティスとコストに関する考慮事項

大規模なバケットのベストプラクティス

3 億個を超えるオブジェクトを含むバケットの場合:

  • 3 億個を超えるオブジェクトを含むバケットでは、バケットの最初のフルバックアップ時にバックアップ速度が 1 秒あたり最大 17,000 オブジェクトに達することがあります (増分バックアップでは速度が異なります)。3 億個未満のオブジェクトを含むバケットは、1 秒あたり 1,000 オブジェクトに近い速度でバックアップされます。

  • 継続的バックアップが推奨されます。

  • バックアップのライフサイクルを 35 日以上に予定している場合は、継続的バックアップが保存されているのと同じボールトにあるバケットのスナップショットバックアップを有効にすることもできます。

バックアップ戦略の最適化

  • 少なくとも毎日、またはそれ以上の頻度でバックアップを行うアカウントでは、バックアップ内のデータについてのバックアップ間の変更が最小限であれば、継続的バックアップを使用することでコスト上のメリットが得られます。

  • より大きなバケットで、変更の頻度が低いものは、継続的バックアップのメリットがあります。これは、バケット全体のスキャンとオブジェクトごとの複数のリクエストを、既存のオブジェクト (前回のバックアップから変更されていないオブジェクト) に対して実行する必要がない場合にコスト削減につながるためです。

  • 1 億個を超えるオブジェクトを含むバケットで、全体のバックアップサイズに比べて削除率が小さい場合、2 日間の保持期間の継続的バックアップと、保持期間の長いスナップショットバックアップの両方を含むバックアッププランでは、コスト面でのメリットが得られる可能性があります。

  • 定期的 (スナップショット) バックアップ時間は、バケットスキャンが不要なときのバックアッププロセスの開始時間と一致します。継続的バックアップとスナップショットバックアップの両方を含むバケットでは、スナップショットバックアップは継続的復旧ポイントから取得されるため、スキャンは不要です。

オブジェクトのライフサイクルと削除マーカー

  • S3 ライフサイクルポリシーには、「期限切れのオブジェクト削除マーカーを削除」というオプション機能があります。この機能をオフにすると、削除マーカー (場合によっては数百万単位) がクリーンアッププランなしで期限切れになります。この機能のないバケットをバックアップすると、時間とコストに影響する問題が 2 つ生じます。

    • 削除マーカーはオブジェクトと同様にバックアップされます。オブジェクトと削除マーカーの比率によっては、バックアップ時間と復元時間が影響を受ける可能性があります。

    • バックアップされるオブジェクトとマーカーにはそれぞれ最低料金が適用されます。各削除マーカーには 128 KiB のオブジェクトと同じ料金がかかります。

ストレージクラスのコストに関する考慮事項

  • 単一の S3-GIR (Amazon S3 Glacier Instant Retrieval) 内の各オブジェクトに対して、 AWS Backup は複数の呼び出しを実行します。それにより、バックアップの実行時に取得料金が発生します。

    S3-IA および S3 One Zone-IA ストレージクラスのオブジェクトを持つバケットにも同様の取得コストが適用されます。

AWS サービスコストの最適化

  • バックアップ戦略の一部として CloudTrail AWS KMS、Amazon CloudWatch、Amazon GuardDuty の機能を使用すると、S3 バケットデータストレージを超える追加コストが発生する可能性があります。これらの機能の調整に関する詳細については、以下を参照してください。

    • Amazon S3 ユーザーガイドAmazon S3 バケットキーを使用した SSE-KMS のコストの削減

    • CloudTrail のコストを削減するには、 AWS KMS イベントを除外し、S3 データイベントを無効にします。

      • AWS KMS イベントを除外する: CloudTrail ユーザーガイドコンソールで証跡を作成する (基本的なイベントセレクタ) では、証跡からこれらの AWS KMS イベントをフィルタリングするイベントを除外するオプションを使用できます (デフォルト設定にはすべての KMS イベントが含まれます)。

        • KMS イベントをログまたは除外するオプションは、証跡の管理イベントをログに記録する場合にのみ使用できます。管理イベントをログに記録しないように選択した場合は、KMS イベントはログに記録されず、KMS イベントログ設定は変更できません。

        • AWS KMS Encrypt、、 などの アクションはDecryptGenerateDataKey通常、大量のイベント (99% 以上) を生成します。これらのアクションは、[読み取り] イベントとしてログに記録されるようになりました。DisableDelete、および ScheduleKey などのボリュームの小さい関連 KMS アクション (通常、KMS イベントボリュームの 0.5% 未満を占める) は、[書き込み] イベントとしてログに記録されます。

        • EncryptDecryptGenerateDataKey のようなボリュームの大きなイベントを除外し、DisableDeleteScheduleKey などの関連イベントを記録する場合は、[書き込み] 管理イベントを記録することを選択し、[ AWS KMS イベントの除外] チェックボックスをオフにします。

      • S3 データイベントを無効にする: デフォルトでは、証跡とイベントデータストアはデータイベントを記録しません。コスト削減のため、初回バックアップの前に S3 データイベントを無効にします。

    • CloudWatch コストを削減するには、CloudWatch Logs の設定を無効にするための証跡更新時に、CloudTrail イベントの CloudWatch Logs への送信を停止することができます。

    • Amazon GuardDuty ユーザーガイド」の「GuardDuty の使用コストの見積もり」。

S3 バックアップのメッセージ

バックアップジョブが完了または失敗すると、次のメッセージが表示されます。次の表は、ステータスメッセージの考えられる原因を特定するのに役立ちます。

シナリオ ジョブのステータス メッセージ

スナップショットまたは最初の継続的バックアップで、すべてのオブジェクトのバックアップに失敗しました

FAILED

「No objects were backed up from the source bucket BucketName. To get notified of these failures, enable SNS event notifications.」

バックアップロールには、オブジェクトバージョンの ACL を取得するアクセス許可がありません。したがって、どのオブジェクトもバックアップされません。

後続の継続的バックアップで、すべてのオブジェクトのバックアップに失敗しました。

COMPLETED

「No objects were backed up from the source bucket BucketName. To get notified of these failures, enable SNS event notifications.」

Amazon S3 の高度なバックアップ設定

AWS Backup には、Amazon S3 バックアップに含まれるメタデータを制御するための高度な設定が用意されています。必要に応じて、アクセスコントロールリスト (ACL) とオブジェクトタグを除外できます。これは、オブジェクトが ACL とオブジェクトタグなしで設定されている場合に役立ちます。つまり、S3 リソースに ACL やオブジェクトタグを使用しない場合は、バックアップの対象から除外すると便利です。

ACL とオブジェクトタグのバックアップの設定

ACL とオブジェクトタグのバックアップオプションは、 AWS Backup コンソールまたは を使用して設定できます AWS CLI。

Console
コンソールを使用して ACL とタグのオプションを設定する
  1. https://console.aws.amazon.com/backup/ で AWS Backup コンソールを開きます。

  2. ナビゲーションペインで、[バックアッププラン] を選択して、[バックアッププランを作成] を選択します。

  3. バックアッププランの設定で、[アドバンストバックアップ設定] を展開します。

  4. Amazon S3 リソースに対して次のオプションを設定します。

    • [ACL をバックアップ]: チェックボックスをオンすると ACL が含まれます。オフのままにすると除外されます。

      [オブジェクトタグをバックアップ]: チェックボックスをオンにすると、バックアップにオブジェクトタグが含まれます。

  5. バックアッププランの設定を完了し、[プランを作成] を選択します。

AWS CLI

以下のバックアップオプションを使用して、Amazon S3 バックアップでアクセスコントロールリスト (ACL) とオブジェクトタグを選択的に含めたり除外したりできます。

BackupACLs

オブジェクト ACL をバックアップに含めるかどうかを制御します。ACL を除外するには、disabled に設定します。デフォルト: enabled

BackupObjectTags

オブジェクトタグをバックアップに含めるかどうかを制御します。タグを除外するには、disabled に設定します。デフォルト: enabled

を使用して ACL とタグのオプションを設定する AWS CLI

を使用して ACL およびオブジェクトタグのバックアップオプションを設定するには AWS CLI、高度なバックアップ設定で update-backup-plan コマンドを使用します。

aws backup update-backup-plan \ --backup-plan-id "your-backup-plan-id" \ --backup-plan '{ "BackupPlanName": "MyS3BackupPlan", "Rules": [{ "RuleName": "MyS3BackupRule", "TargetBackupVaultName": "MyBackupVault", "ScheduleExpression": "cron(0 2 ? * * *)", "Lifecycle": { "DeleteAfterDays": 30 }, "RecoveryPointTags": {}, "CopyActions": [], "EnableContinuousBackup": false }], "AdvancedBackupSettings": [{ "ResourceType": "S3", "BackupOptions": { "BackupACLs": "disabled", "BackupObjectTags": "disabled" } }] }'

BackupOptions パラメータでメタデータを含めるかどうかを制御します。

  • "BackupACLs": "disabled" - バックアップから ACL を除外します

  • "BackupObjectTags": "disabled" - バックアップからオブジェクトタグを除外します

  • "BackupACLs": "enabled" - バックアップに ACL を含めます (デフォルト)

  • "BackupObjectTags": "enabled" - バックアップにオブジェクトタグを含めます (デフォルト)