ENGINEER BLOG ENGINEER BLOG
  • 公開日
  • 最終更新日

【S3】レプリケーション失敗通知が届かない原因と対処

この記事を共有する

目次

はじめに

Amazon S3 (以下、「S3」という)のバケットにレプリケーションルールを設定する際、レプリケーション失敗を検知できるようにしたいです。
この検知は S3 のイベント通知で実現可能ですが、筆者の検証では失敗の通知を受信できませんでした。

本記事では、S3 バケットのレプリケーション失敗通知を受信できなかった理由を説明します。
結論として、原因はレプリケーションメトリクスを無効化していたことです。

(以下、固有情報は●●●●●と筆者が置き換えています)

構成

東京リージョンの S3 バケット bucket-tokyo にレプリケーションルールを設定し、大阪リージョンの S3 バケット bucket-osaka へオブジェクトをレプリケートします。
また bucket-tokyo にイベント通知を設定¹し、レプリケーション失敗時に Amazon SNS(以下、「SNS」という)へ通知を送信します。

SNS は通知を受信したら、E メールを筆者へ送信します。
今回は故意にレプリケーションを失敗させるため、bucket-tokyo のレプリケーションルールにアタッチした IAM ロールから、レプリケーションに必要な許可を削除しました。

事象

経緯

bucket-tokyo にオブジェクトをアップロードし、bucket-osaka へのレプリケーションを試行させます。
レプリケーションルールにアタッチした IAM ロールに許可が不足しているため、bucket-osaka へはオブジェクトがレプリケートされません。
レプリケーションは失敗しているはずですが、時間が経過しても失敗通知のメールを受信しませんでした。

原因

調査の結果、原因はレプリケーションメトリクスを無効化していたことでした。
AWS ドキュメントに以下記載²がある通り、レプリケーション失敗の通知を受信するには、「イベント通知の有効化」と「レプリケーションメトリクスの有効化」が必要です。

注記
イベント通知を有効にするだけでなく、S3 レプリケーションメトリクスも有効にしてください。詳細については、「S3 レプリケーションメトリクスの有効化」を参照してください。

筆者は本仕様を把握しておらず、イベント通知のみを有効化していたため、失敗通知を受信できませんでした。
記載に従ってレプリケーションメトリクスを有効化し、再度 bucket-tokyo にオブジェクトをアップロードすると、次のとおり失敗通知³を受信できました。

{
    "Records": [
        {
            "eventVersion": "2.2",
            "eventSource": "aws:s3",
            "awsRegion": "ap-northeast-1",
            "eventTime": "2026-03-17T12:26:24.529Z",
            "eventName": "Replication:OperationFailedReplication",
            "userIdentity": {
                "principalId": "s3.amazonaws.com"
            },
            "requestParameters": {
                "sourceIPAddress": "s3.amazonaws.com"
            },
            "responseElements": {
                "x-amz-request-id": "●●●●●",
                "x-amz-id-2": "●●●●●"
            },
            "s3": {
                "s3SchemaVersion": "1.0",
                "configurationId": "event-notification-name",
                "bucket": {
                    "name": "bucket-tokyo",
                    "ownerIdentity": {
                        "principalId": "●●●●●"
                    },
                    "arn": "arn:aws:s3:::bucket-tokyo"
                },
                "object": {
                    "key": "TestFile01.txt",
                    "size": 305,
                    "eTag": "●●●●●",
                    "versionId": "●●●●●",
                    "sequencer": "●●●●●"
                }
            },
            "replicationEventData": {
                "replicationRuleId": "replication-rule-name",
                "destinationBucket": "arn:aws:s3:::bucket-osaka",
                "s3Operation": "OBJECT_PUT",
                "requestTime": "2026-03-17T12:26:01.185Z",
                "failureReason": "SrcGetAclNotPermitted"
            }
        }
    ]
}

躓いた点

bucket-tokyo にイベント通知を設定した直後、次の通知³をメールで受信しました。

{
    "Service": "Amazon S3",
    "Event": "s3:TestEvent",
    "Time": "2026-03-17T12:03:28.519Z",
    "Bucket": "bucket-tokyo",
    "RequestId": "●●●●●",
    "HostId": "●●●●●"
}

この通知の Event は「s3:TestEvent」であり、レプリケーション失敗とは関係がありません。
次の記載⁴のとおり、イベント通知を有効化すると、テスト通知として「s3:TestEvent」が送信されます

When a notification is enabled, Amazon S3 publishes a test notification. This is to ensure that the topic exists and that the bucket owner has permission to publish the specified topic.

筆者はイベント通知の設定直後にレプリケーション失敗の検証を行ったため、テスト通知を「レプリケーション失敗の通知」と誤認して混乱しました。

レプリケーションメトリクスについて

レプリケーションメトリクスは、レプリケーションルールの設定にて有効にできます。
レプリケーションルールの新規作成⁵または編集画面で、「追加のレプリケーションオプション」の「レプリケーションメトリクス」にチェックを入れます。

レプリケーションメトリクスを有効化すると、Amazon CloudWatch に次のメトリクスが出力されます⁶。

  • レプリケーション保留中のバイト数
  • レプリケーションレイテンシー
  • レプリケーション保留中のオペレーション
  • オペレーション失敗レプリケーション

このメトリクスは、レプリケーションメトリクスを有効にした S3 バケットの「メトリクス」タブでも参照できます。
たとえば、「オペレーション失敗レプリケーション」は次のように表示されていました⁷。

まとめ

本記事では、S3 バケットのレプリケーション失敗通知を受信できなかった理由を説明しました。

原因はレプリケーションメトリクスを無効化していたことであり、レプリケーション失敗通知を受信するには、「イベント通知の有効化」と「レプリケーションメトリクスの有効化」が必要です。

本記事が少しでもお役に立てば幸いです。

参考文献

¹ "イベント通知を作成 - S3 バケット ●●●●● | S3 | ap-northeast-1". Amazon Web Services. https://ap-northeast-1.console.aws.amazon.com/s3/bucket/●●●●●/property/notification/create?region=ap-northeast-1, (参照 2026-03-17)
² "Amazon S3 イベント通知によるレプリケーション失敗イベントの受信 - Amazon Simple Storage Service". AWS Documentation. https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/replication-metrics-events.html, (参照 2026-03-17)
³ no-reply@sns.amazonaws.comより受信したメールから引用。例示にあたり、筆者にてフォーマットを整形している。 (参照 2026-03-17)
⁴ "Event notification types and destinations - Amazon Simple Storage Service". AWS Documentation. https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-event-types-and-destinations.html, (参照 2026-03-17)
⁵ "レプリケーションルールを作成 - S3 バケット ●●●●● | S3 | ap-northeast-1". Amazon Web Services. https://ap-northeast-1.console.aws.amazon.com/s3/management/●●●●●/replication/create?region=ap-northeast-1, (参照 2026-03-17)
⁶ "S3 レプリケーションメトリクスの使用 - Amazon Simple Storage Service". AWS Documentation. https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/repl-metrics.html, (参照 2026-03-17)
⁷ "●●●●● - S3 バケット | S3 | ap-northeast-1". Amazon Web Services. https://ap-northeast-1.console.aws.amazon.com/s3/buckets/●●●●●?region=ap-northeast-1&tab=metrics, (参照 2026-03-17)

この記事は私が書きました

Hirano

記事一覧

AWSの知見を身につけるため、一大決心でP&Sに入社しました。 目標はシステム改善に大きく貢献できるエンジニアになることです。 簡単な内容であっても自身が戸惑った点を投稿することで、同じ苦労をしている方の助けになれば嬉しいです!

Hirano

この記事を共有する

クラウドのご相談

CONTACT

クラウド導入や運用でお悩みの方は、お気軽にご相談ください。
専門家がサポートします。

サービス資料ダウンロード

DOWNLOAD

ビジネスをクラウドで加速させる準備はできていますか?
今すぐサービス資料をダウンロードして、詳細をご確認ください。