Amazon S3 がレプリケートするもの - Amazon Simple Storage Service

Amazon S3 がレプリケートするもの

Amazon S3 は、レプリケーションに設定されているバケット内の特定のアイテムのみをレプリケートします。

レプリケーション設定でレプリケートされるものは何ですか?

デフォルトで、Simple Storage Service (Amazon S3) は以下をレプリケートします。

  • レプリケーション設定の追加後に作成されたオブジェクト。

  • 暗号化されていないオブジェクト

  • Simple Storage Service (Amazon S3) のマネージドキー (SSE-S3) または AWS Key Management Service (SSE-KMS) に保存されている KMS キーの下で保管時に暗号化されたオブジェクト。

    AWS KMS に保存された KMS キーで暗号化されたオブジェクトをレプリケートするには、オプションを明示的に有効にする必要があります。オブジェクトのレプリケートされたコピーは暗号化されます。この暗号化には、ソースオブジェクトに使用されたのと同じタイプのサーバー側の暗号化が使用されます。サーバーサイドの暗号化の詳細については、「サーバー側の暗号化を使用したデータの保護」を参照してください。

  • レプリケート元オブジェクトからレプリカへのオブジェクトメタデータ。レプリカからレプリケート元オブジェクトへのメタデータのレプリケーションについては、Amazon S3 レプリカの変更同期によるメタデータ変更のレプリケートをご参照ください。

  • バケット所有者がオブジェクトとアクセスコントロールリスト (ACL) の読み取り権限を持つ、レプリケート元バケットのオブジェクトのみをレプリケートします。

    リソース所有者の詳細については「Amazon S3 のバケットとオブジェクトの所有権」を参照してください。

  • レプリケート元バケットとレプリケート先バケットが同じアカウントによって所有されていない場合のレプリカの所有権の変更を Amazon S3 に指示しない限り、オブジェクト ACL は更新されます。

    詳細については、「レプリカ所有者の変更」を参照してください。

    Amazon S3 が 2 つの ACL を同期させるまでしばらく時間がかかる可能性があります。オーナーシップのこの変更は、バケットにレプリケーション設定を追加した後に作成されたオブジェクトにのみ適用されます。

  • オブジェクトタグ、存在する場合。

  • S3 オブジェクトロックの保持情報 (ある場合)。

    Amazon S3 で保持情報が適用されているオブジェクトをレプリケートすると、それらと同じ保持制御がレプリカに適用され、レプリケート先バケットに設定されているデフォルトの保持期間は上書きされます。レプリケート元バケット内のオブジェクトに保持制御が適用されておらず、デフォルトの保持期間が設定されているレプリケート先バケットにレプリケートすると、レプリケート先バケットのデフォルトの保持期間がオブジェクトのレプリカに適用されます。詳細については、「S3 オブジェクトロックの使用」を参照してください。

削除オペレーションがレプリケーションに与える影響

レプリケート元バケットからオブジェクトを削除すると、デフォルトで次のアクションが実行されます。

  • オブジェクトバージョン ID を指定せずに DELETE リクエストを行った場合、Amazon S3 は削除マーカーを追加します。Amazon S3 では、削除マーカーを次のように扱います。

    • 最新バージョンのレプリケーション設定を使用している (すなわち、レプリケーション設定ルールでFilter要素を指定している) 場合、Amazon S3 は削除マーカーをレプリケートしません。ただし、タグベース以外のルールには削除マーカーレプリケーションを追加できます。詳細については、「バケット間での削除マーカーのレプリケーション」を参照してください。

    • Filter要素を指定しない場合、Amazon S3 はレプリケーション設定がバージョン V1 であるとみなし、ユーザーアクションの結果として生じた削除マーカーをレプリケートします。ただし、ライフサイクルアクションによって Amazon S3 がオブジェクトを削除した場合、削除マーカーはレプリケート先のバケットにはレプリケートされません。

  • DELETE リクエストで削除するオブジェクトバージョン ID を指定した場合、Amazon S3 はレプリケート元バケット内のそのオブジェクトバージョンを削除します。しかし、レプリケート先バケット内でその削除をレプリケートすることはありません。これは、レプリケート先バケットからは、同じオブジェクトバージョンを削除しないことを意味します。これは悪意のある削除からデータを保護します。

レプリケーション設定でレプリケートされないものは何ですか?

デフォルトで、Simple Storage Service (Amazon S3) は以下をレプリケートしません。

  • 別のレプリケーションルールによって作成されたレプリカである、レプリケート元バケットのオブジェクト。例えば、バケット A がレプリケート元でバケット B がレプリケート先であるレプリケーションを設定するとします。ここで、バケット B をレプリケート元、バケット C をレプリケート先とする別のレプリケーション設定を追加したとします。この場合、バケット A のオブジェクトのレプリカであるバケット B のオブジェクトは、バケット C にレプリケートされません。

    レプリカであるオブジェクトをレプリケートするには、バッチレプリケーションを使用します。バッチレプリケーションの設定の詳細については、「既存のオブジェクトのレプリケーション」を参照してください。

  • 既に別のレプリケート先にレプリケートされている、レプリケート元バケット内のオブジェクト。例えば、既存のレプリケーション設定でレプリケート先バケットを変更した場合、Simple Storage Service (Amazon S3) がそのオブジェクトを再度レプリケートすることはありません。

    以前にレプリケートされたオブジェクトをレプリケートするには、バッチレプリケーションを使用します。バッチレプリケーションの設定の詳細については、「既存のオブジェクトのレプリケーション」を参照してください。

  • バッチレプリケーションでは、レプリケート先バケットからオブジェクトのバージョン ID で削除されたオブジェクトの再レプリケーションはサポートされません。これらのオブジェクトを再レプリケートするには、バッチコピージョブを使用してソースオブジェクトを所定の場所でコピーします。これらのオブジェクトを所定の場所でコピーすると、レプリケート元バケットにオブジェクトの新しいバージョンが作成され、レプリケート先へのレプリケーションが自動的に開始されます。

    バッチコピーの詳細については、「バッチ操作を使用してオブジェクトをコピーする例」を参照してください。

  • お客様が用意した暗号化キー (SSE-C) を使用し、サーバー側の暗号化で作成されたオブジェクト。

  • デフォルトでは、異なる AWS アカウント からレプリケートする場合、レプリケート元バケットに追加された削除マーカーはレプリケートされません。

    削除マーカーの複製方法については、「バケット間での削除マーカーのレプリケーション」をご参照ください。

  • S3 Glacier Flexible Retrieval または S3 Glacier Deep Archive のストレージクラスに保存されているオブジェクト。

    Amazon S3 Glacier サービスの詳細については、Amazon S3 Glacier 開発者ガイドを参照してください。

  • バケット所有者が十分な許可を持っていないレプリケート元バケット内のオブジェクト。

    オブジェクト所有者がバケット所有者にアクセス許可を付与する方法の詳細については、「バケット所有者はフルコントロール権限を持ちながら、オブジェクトをアップロードするためのクロスアカウントアクセス許可を付与する」を参照してください。

  • バケットレベルのサブリソースの更新

    たとえば、ライフサイクル設定を変更したり、レプリケート元バケットに通知設定を追加した場合、これらの変更はレプリケート先バケットには適用されません。この機能により、レプリケート元バケットとレプリケート先バケットで異なる設定を指定できます。

  • ライフサイクル設定によって実行されたアクション。

    たとえば、ライフサイクル設定がレプリケート元バケットでのみ有効である場合、Amazon S3 は失効したオブジェクトに削除マーカーを作成しますが、その削除マーカーはレプリケートされません。同じライフサイクル設定をレプリケート元バケットとレプリケート先バケットの両方に適用する場合は、両方で同じライフサイクル設定を有効にします。ライフサイクル設定についての詳細は、ストレージのライフサイクルの管理 を参照してください。