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

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

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

レプリケーションの対象

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

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

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

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

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

  • レプリケート元オブジェクトからレプリカへのオブジェクトメタデータ。レプリカからレプリケート元オブジェクトへのメタデータのレプリケーションについては、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 はレプリケート元バケット内のそのオブジェクトバージョンを削除します。しかし、レプリケート先バケット内でその削除をレプリケートすることはありません。これは、レプリケート先バケットからは、同じオブジェクトバージョンを削除しないことを意味します。これは悪意のある削除からデータを保護します。

レプリケーションの対象外

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

  • レプリケーション設定をバケットに追加する前に存在していたオブジェクト。つまり、Amazon S3 はオブジェクトをさかのぼってレプリケートすることはしません。

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

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

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

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

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

    Amazon S3 Glacier サービスの詳細については、Amazon S3 Glacier デベロッパーガイドを参照してください。

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

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

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

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

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

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

既存のオブジェクトのレプリケーション

アカウントの既存のオブジェクトレプリケーションを有効にするには、AWS Support にお問い合わせください。リクエストへの対応が遅れないようにするために、AWS Support ケースのタイトルを「Replication for Existing Objects」(既存のオブジェクトのレプリケーション) とし、次の情報を含めてください。

  • レプリケート元バケット

  • レプリケート先バケット

  • レプリケートする推定ストレージボリューム (テラバイト単位)

  • レプリケートするストレージオブジェクトの推定数