CloudMirrorレプリケーション サービスの概要

StorageGRID Webscaleで、あるS3バケットに追加されたオブジェクトを指定して1つ以上のデスティネーション バケットにレプリケートする必要がある場合は、そのバケットに対してCloudMirrorレプリケーションを有効にすることができます。

CloudMirrorレプリケーションは、グリッドのアクティブなILMポリシーとは別に動作します。CloudMirrorサービスは、ソース バケットに格納された時点でオブジェクトをレプリケートし、できるだけ早くデスティネーション バケットに配信します。レプリケート オブジェクトの配信は、オブジェクトの取り込みが成功したときにトリガーされます。

StorageGRID Webscaleでは、設定XMLでルールごとに異なるデスティネーションを指定することにより、レプリケーションのデスティネーションとして複数のバケットを設定できます。バージョン管理に対応している / していないバケットでCloudMirrorレプリケーションを設定することもでき、バージョン管理に対応している/していないバケットをデスティネーションとして指定できます。バージョン管理に対応しているバケットとしていないバケットを組み合わせて使用することができます。たとえば、バージョン管理に対応しているバケットをバージョン管理に対応していないソース バケットのデスティネーションとして指定することも、その逆を指定することも可能です。また、バージョン管理に対応していないバケット間でレプリケートすることもできます。

CloudMirrorレプリケーション サービスの削除は、AWS Simple Storage Serviceが提供するクロスリージョン レプリケーション サービスの削除と同様に機能します。つまり、ソース バケット内のオブジェクトを削除してもデスティネーションのレプリケート オブジェクトは削除されません。ソースとデスティネーションの両方のバケットがバージョン管理に対応している場合は、削除マーカーがレプリケートされます。デスティネーション バケットがバージョン管理に対応していない場合は、ソース バケット内のオブジェクトを削除しても削除マーカーはデスティネーション バケットにレプリケートされず、デスティネーション オブジェクトも削除されません。

StorageGRID Webscaleは、デスティネーション バケットにレプリケートされたオブジェクトを「レプリカ」としてマークします。デスティネーションのStorageGRID Webscaleバケットはレプリカとしてマークされたオブジェクトを再びレプリケートしないため、意図しないレプリケーションのループが発生することはありません。このレプリカ マーキングはStorageGRID Webscaleの内部処理で、AWS S3バケットをデスティネーションとして使用する際にAWSのクロスリージョン レプリケーションを使用することには支障はありません。

デスティネーション バケット内ではイベントは一意になるとは限らず、その順序も保証されません。確実に配信することを目的とした処理の結果として、ソース オブジェクトの同一のコピーが複数デスティネーションに配信されることがあります。まれに、複数の異なるStorageGRID Webscaleサイトから同じオブジェクトが同時に更新された場合、デスティネーション バケットでの処理の順序がソース バケットでのイベントの順序と一致しないことがあります。

通常、CloudMirrorレプリケーションは外部のS3バケットをデスティネーションとして使用するように設定します。ただし、他のStorageGRID Webscale環境や任意のS3互換サービスを使用するようにレプリケーションを設定することもできます。