このトピックでは、バージョン管理、ライフサイクルルール、サーバ側暗号化、保持ポリシーなどの機能と併用した場合の、クロスリージョンレプリケーションや同一リージョンレプリケーション (SRR) を含むデータレプリケーションの動作について説明します。
バージョン管理を使用したデータレプリケーション
データレプリケーションをバージョン管理と併用する場合、以下の制限事項が適用されます。
データレプリケーションは、バージョン管理の状態 (有効または無効) が同じである 2 つのバケット間でのみ有効にしてください。データ同期中に、ソースバケットまたは宛先バケットのバージョン管理の状態を変更しないでください。
データ同期中に、ソースバケットまたは宛先バケットのバージョン管理を一時停止しないでください。バージョン管理を一時停止するには、まずデータレプリケーションルールを削除する必要があります。
バージョン管理が有効なソースバケットからオブジェクトを削除すると、次のシナリオが発生します。
リクエストタイプ | データ同期ポリシー | 結果 |
オブジェクトのバージョン ID を指定せずに削除リクエストが送信される | 追加と変更の同期 | オブジェクトはソースバケットまたは宛先バケットから削除されません。代わりに、OSS はソースバケットに削除マーカーを作成します。この削除マーカーは宛先バケットにレプリケーションされます。 |
追加、削除、変更の同期 | ||
オブジェクトのバージョン ID を指定した削除リクエストが送信される | 追加と変更の同期 | オブジェクトはソースバケットからのみ削除されます。宛先バケットからは削除されません。 |
追加、削除、変更の同期 | オブジェクトはソースバケットと宛先バケットの両方から削除されます。 |
ライフサイクルルールを使用したデータレプリケーション
バージョン管理とデータレプリケーションを併用すると、宛先バケットに複数の旧バージョンが作成され、ストレージ消費量が増加します。ストレージコストを削減するには、ライフサイクルルールを使用してストレージコストを管理し、カスタムのデータ保持ポリシーを実装します。
データレプリケーションをライフサイクルルールと併用する場合は、次の点にご注意ください。
データレプリケーションは、ライフサイクルルールの結果をソースバケットから宛先バケットにレプリケーションしますが、ルール自体はレプリケーションしません。宛先バケットで同じライフサイクルルールを適用したい場合は、宛先バケットに同じルールを設定する必要があります。
宛先バケット内のオブジェクトレプリカは、オブジェクトが宛先バケットにレプリケーションされた時間ではなく、ソースバケット内の元のオブジェクトの作成時間を保持します。
オブジェクトのレプリケーション中にライフサイクルルールによってソースバケット内のオブジェクトが削除された場合でも、そのオブジェクトのレプリケーションが完了することがあります。この場合、オブジェクトレプリカは宛先バケットに保持されます。
バージョン管理が有効なバケットでクロスリージョンレプリケーションを使用すると、ソースバケットの削除マーカーが宛先バケットにレプリケーションされます。この操作により、削除マーカーが宛先バケット内のオブジェクトの現行バージョンになり、以前の現行バージョンは非現行バージョンになります。宛先バケットに非現行バージョンを削除するライフサイクルルール (例:1 日後に削除) が設定されている場合、条件が満たされるとオブジェクトの非現行バージョンは完全に削除されます。したがって、意図しないデータ損失を防ぐため、非現行バージョンを削除するライフサイクルルールを設定する際には注意が必要です。
サーバ側暗号化を使用したデータレプリケーション
同一アカウント内のデータレプリケーションは、暗号化されていないオブジェクト、および KMS で管理されるキー (SSE-KMS) または OSS で管理されるキー (SSE-OSS) を使用したサーバ側暗号化で暗号化されたオブジェクトをサポートします。詳細については、「サーバ側暗号化」をご参照ください。
SSE-KMS を使用する場合、暗号化と復号に使用されるキーは、カスタマーマスターキー (CMK) ID が指定されているかどうかによって異なります。
CMK ID を指定しない場合、KMS によって管理されるデフォルトの CMK が暗号化と復号に使用されます。
CMK ID を指定した場合、指定された CMK が暗号化と復号に使用されます。
データレプリケーションをサーバ側暗号化と併用すると、次のシナリオが発生します。
ソースオブジェクトの暗号化ステータス | 宛先バケットの暗号化方式 | データレプリケーションルールの構成 | 宛先オブジェクトの暗号化方式 | 説明 |
暗号化なし | 暗号化なし | - | 暗号化なし | 宛先バケットの暗号化方式を使用します。 |
SSE-OSS | SSE-OSS | |||
SSE-KMS、CMK ID の指定なし | SSE-KMS、CMK ID の指定なし | |||
SSE-KMS、CMK ID1 の指定あり | CMK ID の構成なし | SSE-KMS、CMK ID1 を指定 | データレプリケーションルールで構成された CMK ID が優先されます。 | |
ID2 の CMK 構成 | SSE-KMS、CMK ID2 を指定 | |||
SSE-OSS | - | - | SSE-OSS | ソースオブジェクトの暗号化方式を使用します。 |
SSE-KMS | - | KMS で暗号化されたオブジェクトをレプリケートしない | レプリケートされない | データレプリケーションルールの構成に依存します。 |
CMK ID を構成 | SSE-KMS、指定された CMK ID を使用 |
保持ポリシーを使用したデータレプリケーション
バケットの保持ポリシー (WORM) がロックされると、バケット内のオブジェクトのアップロードと読み取りは可能ですが、保持期間が終了するまでオブジェクトの変更 (上書き) や削除はできません。
保持ポリシーの詳細については、「保持ポリシー」をご参照ください。
データレプリケーションを保持ポリシーと併用すると、次のシナリオが発生します。
ソースオブジェクトは WORM 保護下にあるか | ソースバケットで許可される操作 | ターゲットオブジェクトは WORM 保護下にあるか | 操作は宛先バケットにレプリケートされるか |
いいえ | オブジェクトの追加 | はい | いいえ |
オブジェクトの上書き | はい | いいえ | |
オブジェクトの削除 | はい | いいえ | |
いいえ | オブジェクトの追加 | いいえ | はい |
オブジェクトの上書き | いいえ | はい | |
オブジェクトの削除 | いいえ | はい | |
はい | オブジェクトの追加 | 影響なし。 | はい |