S3 on Outposts のオブジェクトのレプリケート - Amazon Simple Storage Service

S3 on Outposts のオブジェクトのレプリケート

AWS Outposts で S3 レプリケーションを有効にすると、Amazon S3 on Outposts を設定して、S3 オブジェクトを異なる Outposts 間、または同じ Outpost のバケット間で自動的にレプリケートできます。S3 Replication on Outposts を使用すると、同じまたは異なる Outposts、または異なるアカウント間でデータの複数のレプリカを管理できるため、データの常駐要件を満たすことができます。S3 Replication on Outposts は、準拠したストレージのニーズとアカウント間のデータ共有を強化するのに役立ちます。レプリカがソースデータと同一であることを確認する必要がある場合は、S3 Replication on Outposts を使用して、元のオブジェクトの作成時間、タグ、バージョン ID などのすべてのメタデータを保持するオブジェクトのレプリカを作成できます。

S3 Replication on Outposts では、バケット間のオブジェクトレプリケーションのステータスをモニタリングするための詳細なメトリクスと通知も提供されます。Amazon CloudWatch を使用して、レプリケーション保留中のバイト数、レプリケーション保留中のオペレーション、およびソースバケットとターゲットバケット間のレプリケーションレイテンシーを追跡することで、レプリケーションの進行状況を監視できます。設定の問題をすばやく診断して修正するには、レプリケーションオブジェクトの障害に関する通知を受け取るように Amazon EventBridge を設定することもできます。詳細については、「レプリケーションの管理」を参照してください。

レプリケーション設定

S3 on Outposts はレプリケーション設定を XML 形式で保存します。レプリケーション設定 XML ファイルで、AWS Identity and Access Management (IAM) ロールと 1 つ以上のルールを指定します。

<ReplicationConfiguration> <Role>IAM-role-ARN</Role> <Rule> ... </Rule> <Rule> ... </Rule> ... </ReplicationConfiguration>

S3 on Outposts はユーザーの許可なしにオブジェクトをレプリケートすることはできません。レプリケーション設定で指定した IAM ロールを使用して S3 on Outposts アクセス許可を付与します。S3 on Outposts は、ユーザーに代わってオブジェクトをレプリケートするための IAM ロールを引き受けます。レプリケーションを開始する前に、必要なアクセス許可を IAM ロールに付与する必要があります。S3 on Outposts に対するこれらのアクセス許可の詳細については、「IAM ロールの作成」を参照してください。

次のシナリオでは、レプリケーション設定にルールを 1 つ追加します。

  • すべてのオブジェクトをレプリケートします。

  • オブジェクトのサブセットをレプリケートします。ルールにフィルターを追加して、オブジェクトのサブセットを特定します。フィルターでは、ルールが適用されるオブジェクトのサブセットを特定するために、オブジェクトキープレフィックス、タグ、またはその両方の組み合わせを指定します。

オブジェクトの異なるサブセットをレプリケートする場合は、レプリケーション設定に複数のルールを追加します。各ルールでは、オブジェクトの異なるサブセットを選択するフィルターを指定します。例えば、tax/ または document/ のいずれかのキープレフィックスを持つオブジェクトをレプリケートするとします。このためには、tax/ キープレフィックスフィルターを指定するルールと、document/ キープレフィックスを指定するもう 1 つのルールの 2 つのルールを追加します。

S3 on Outposts のレプリケーション設定とレプリケーションルールの詳細については、Amazon Simple Storage Service API リファレンスのReplicationConfiguration」を参照してください。

S3 Replication on Outposts の要件

レプリケーションには以下が必要です。

  • 送信先の Outpost CIDR 範囲は、ソースの Outpost サブネットテーブルに関連付けられている必要があります。詳細については、「レプリケーションルールの作成の前提条件」を参照してください。

  • レプリケート元とレプリケート先の両方のバケットで、S3 バージョニングを有効にする必要があります。バージョニングの詳細については、S3 on Outposts バケットの S3 バージョニングの管理 を参照してください。

  • Amazon S3 on Outposts には、ユーザーに代わってレプリケート元バケットのオブジェクトをレプリケート先バケットにレプリケートするアクセス許可が必要です。つまり、GET および PUT のアクセス許可を S3 on Outposts に委任するには、サービスロールを作成する必要があります。

    1. サービスロールを作成する前に、レプリケート元バケットに対する GET アクセス許可とレプリケート先バケットに対する PUT アクセス許可が必要です。

    2. S3 on Outposts にアクセス許可を委任するサービスロールを作成するには、まず IAM エンティティ (ユーザーまたはロール) が iam:CreateRole および iam:PassRole アクションを実行できるようにアクセス許可を設定する必要があります。次に、IAM エンティティがサービスロールを作成できるようにします。S3 on Outposts がユーザーに代わってサービス ロールを引き受け、GET および PUT のアクセス許可を S3 on Outposts に委任するには、必要な信頼とアクセス許可のポリシーをロールに割り当てる必要があります。S3 on Outposts に対するこれらのアクセス許可の詳細については、「IAM ロールの作成」を参照してください。サービスロールの作成の詳細については、「サービスのロールの作成」を参照してください。

レプリケーションの対象

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

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

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

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

    • S3 on Outposts は、デフォルトでは削除マーカーをレプリケートしません。

    • ただし、タグベース以外のルールには削除マーカーレプリケーションを追加できます。レプリケーション設定で削除マーカーレプリケーションを有効にする場合は、「S3 コンソールの使用」を参照してください。

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

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

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

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

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

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

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

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

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

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

S3 Replication on Outposts でサポートされていないものは何ですか?

S3 レプリケーションの以下の機能は、現時点では S3 on Outposts でサポートされていません。

  • S3 Replication Time Control (S3 RTC) S3 Replication on Outposts のオブジェクトトラフィックはオンプレミスネットワーク (ローカルゲートウェイ) を経由するため、S3 RTC はサポートされていません。ローカルゲートウェイの詳細については、AWS Outposts ユーザーガイドの「ローカル ゲートウェイの操作」を参照してください。

  • バッチオペレーションの S3 レプリケーション