レプリケーションのトラブルシューティング - Amazon Simple Storage Service

レプリケーションのトラブルシューティング

レプリケーションを設定した後にオブジェクトレプリカがレプリケート先バケットに表示されない場合は、これらのトラブルシューティングのヒントを使用して問題を特定し、修正してください。

  • オブジェクトの大部分は 15 分以内にレプリケートされますが、数時間かかることもあります。まれにですが、もっと長くかかることもあります。Amazon S3 がオブジェクトをレプリケートするために要する時間はさまざまな要因に依存します (レプリケート元とレプリケート先のリージョンペア、オブジェクトのサイズなど)。大きなオブジェクトの場合は、レプリケーションには最大で数時間かかることもあります。

    レプリケートされているオブジェクトが大きい場合は、レプリケート先バケットに表示されるかどうかを確認する前に、少しの間待機してください。ソースオブジェクトのレプリケーションステータスを確認することもできます。オブジェクトのレプリケーションステータスがPENDINGの場合は、Amazon S3 がレプリケーションを完了していません。オブジェクトのレプリケーションステータスがFAILEDの場合は、レプリケート元バケットのレプリケーション設定を確認してください。

  • レプリケート元バケットのレプリケーション設定について、以下を確認します。

    • レプリケート先バケットの Amazon リソースネーム (ARN) が正しい。

    • キー名のプレフィックスが正しい。たとえば、Tax というプレフィックスが付いたオブジェクトをレプリケートする設定にした場合、Tax/document1Tax/document2 のようなキー名のオブジェクトのみがレプリケートされます。キー名が "document3" のオブジェクトはレプリケートされません。

    • ステータスはEnabledです。

  • どのバケットでもバージョニングが一時停止されていないことを確認します。レプリケート元とレプリケート先の両方のバケットで、バージョニングを有効にする必要があります。

  • レプリケート先バケットが他の AWS アカウントによって所有されている場合、バケット所有者が、レプリケート元バケットの所有者に対してオブジェクトのレプリケーションを許可するバケットポリシーをレプリケート先バケットに設定していることを確認します。例については、「レプリケート元バケットとレプリケート先バケットが異なるアカウントによって所有されている場合での、レプリケーションの設定」を参照してください。

  • オブジェクトのレプリカがレプリケート先バケットに表示されない場合、以下がレプリケーションを妨げている可能性があります。

    • レプリケート元バケットのオブジェクト自体が別のレプリケーション設定によって作成されたレプリカである場合、Amazon S3 はそのオブジェクトをレプリケートしません。たとえば、バケット A からバケット B へ、バケット B からバケット C へのレプリケーション設定を設定した場合、Amazon S3 はバケット B にあるオブジェクトのレプリカをバケット C へレプリケートしません。

    • レプリケート元バケット所有者は、オブジェクトをアップロードするためのアクセス許可を他の AWS アカウントに付与できます。デフォルトでは、レプリケート元バケット所有者は、他のアカウントによって作成されたオブジェクトに対するアクセス許可を持ちません。レプリケーション設定では、レプリケート元バケット所有者がアクセス許可を持つオブジェクトのみがレプリケートされます。レプリケート元バケット所有者は、作成されたオブジェクトに対する明示的なアクセス許可をバケット所有者に与えることを条件として、オブジェクトを作成する権限を他の AWS アカウントに与えることができます。ポリシーの例については、「バケット所有者はフルコントロール権限を持ちながら、オブジェクトをアップロードするためのクロスアカウントアクセス許可を付与する」を参照してください。

  • レプリケーション設定に、特定のタグを持つオブジェクトのサブセットをレプリケートするためのルールを追加するとします。この場合、Amazon S3 がオブジェクトをレプリケートするには、オブジェクトの作成時に特定のタグキーと値を割り当てる必要があります。まずオブジェクトを作成して、それから既存のオブジェクトにタグを追加した場合、Amazon S3 はそのオブジェクトをレプリケートしません。

  • バケットポリシーで次のいずれかのアクションでレプリケーションのロールへのアクセスを拒否した場合、レプリケーションは失敗します。

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

    "s3:GetReplicationConfiguration", "s3:ListBucket", "s3:GetObjectVersion", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging"

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

    "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags"

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