

# Amazon S3 イベント通知によるレプリケーション失敗イベントの受信
<a name="replication-metrics-events"></a>

レプリケーション設定で S3 レプリケーションメトリクスを有効にしている場合は、Amazon S3 イベント通知を設定して、オブジェクトが宛先 AWS リージョンにレプリケートされない場合に通知を受けることができます。レプリケーション設定で S3 Replication Time Control (S3 RTC) を有効にしている場合、レプリケーションの 15 分間の S3 RTC しきい値内にオブジェクトがレプリケートされない場合にも通知を受け取ることができます。

次の `Replication` イベントタイプを使用すると、保留中のバイト数、保留中のオペレーション、およびレプリケーションのレイテンシーを追跡すると、レプリケーションイベントの進行状況を 1 分単位でモニタリングできます。S3 レプリケーションメトリクスの詳細については、「[S3 レプリケーションメトリクスの使用](repl-metrics.md)」を参照してください。
+ −`s3:Replication:OperationFailedReplication`イベントタイプは、レプリケーションのターゲットであったオブジェクトがレプリケートに失敗したときに通知を受け取ります。
+ `s3:Replication:OperationMissedThreshold` イベントタイプは、S3 RTC を使用するレプリケーションの対象であったオブジェクトがレプリケーションの 15 分の閾値を超えたときに通知します。
+ `s3:Replication:OperationReplicatedAfterThreshold` イベントタイプは、S3 RTC を使用するレプリケーションの対象であったオブジェクトが 15 分の閾値を超えてレプリケートされたときに通知します。
+ `s3:Replication:OperationNotTracked` イベントタイプは、ライブレプリケーションの対象であったオブジェクト (同一リージョンレプリケーション [SRR] またはクロスリージョンレプリケーション [CRR]) がレプリケーションメトリクスによって追跡されなくなったときに通知します。

サポートされているすべてのレプリケーションイベントタイプの詳細な説明については、「[SQS、SNS、および Lambda でサポートされているイベントタイプ](notification-how-to-event-types-and-destinations.md#supported-notification-event-types)」を参照してください。

S3 イベント通知によってキャプチャされた失敗コードのリストについては、「[Amazon S3 レプリケーションの失敗の理由](#replication-failure-codes)」を参照してください。

S3 イベント通知は、Amazon Simple Queue Service (Amazon SQS)、Amazon Simple Notification Service (Amazon SNS)、または AWS Lambda を使用して受信できます。詳細については、「[Amazon S3 イベント通知](EventNotifications.md)」を参照してください。

Amazon S3 イベント通知を設定する手順については、[Enabling event notifications](how-to-enable-disable-notification-intro.md) を参照してください。

**注記**  
イベント通知を有効にするだけでなく、S3 レプリケーションメトリクスも有効にしてください。詳細については、「[S3 レプリケーションメトリクスの有効化](repl-metrics.md#enabling-replication-metrics)」を参照してください。

次は Amazon S3 が `s3:Replication:OperationFailedReplication` イベントを発行するために送信するメッセージの例です。詳細については、「[イベントメッセージの構造](notification-content-structure.md)」を参照してください。

```
{
  "Records": [
    {
      "eventVersion": "2.2",
      "eventSource": "aws:s3",
      "awsRegion": "us-east-1",
      "eventTime": "2024-09-05T21:04:32.527Z",
      "eventName": "Replication:OperationFailedReplication",
      "userIdentity": {
        "principalId": "s3.amazonaws.com"
      },
      "requestParameters": {
        "sourceIPAddress": "s3.amazonaws.com"
      },
      "responseElements": {
        "x-amz-request-id": "123bf045-2b4b-4ca8-a211-c34a63c59426",
        "x-amz-id-2": "12VAWNDIHnwJsRhTccqQTeAPoXQmRt22KkewMV8G3XZihAuf9CLDdmkApgZzudaIe2KlLfDqGS0="
      },
      "s3": {
        "s3SchemaVersion": "1.0",
        "configurationId": "ReplicationEventName",
        "bucket": {
          "name": "amzn-s3-demo-bucket1",
          "ownerIdentity": {
            "principalId": "111122223333"
          },
          "arn": "arn:aws:s3:::amzn-s3-demo-bucket1"
        },
        "object": {
          "key": "replication-object-put-test.png",
          "size": 520080,
          "eTag": "e12345ca7e88a38428305d3ff7fcb99f",
          "versionId": "abcdeH0Xp66ep__QDjR76LK7Gc9X4wKO",
          "sequencer": "0066DA1CBF104C0D51"
        }
      },
      "replicationEventData": {
        "replicationRuleId": "notification-test-replication-rule",
        "destinationBucket": "arn:aws:s3:::amzn-s3-demo-bucket2",
        "s3Operation": "OBJECT_PUT",
        "requestTime": "2024-09-05T21:03:59.168Z",
        "failureReason": "AssumeRoleNotPermitted"
      }
    }
  ]
}
```

## Amazon S3 レプリケーションの失敗の理由
<a name="replication-failure-codes"></a>

次の表は、Amazon S3 レプリケーションが失敗した理由を示しています。Amazon S3 イベント通知で `s3:Replication:OperationFailedReplication` イベントを受信し、`failureReason` 値を見ると、これらの理由を確認できます。

失敗の理由は、S3 バッチレプリケーション完了レポートでも確認できます。詳細については、「[バッチレプリケーション完了レポート](s3-batch-replication-batch.md#batch-replication-completion-report)」を参照してください。


| レプリケーションの失敗の理由 | 説明 | 
| --- | --- | 
| `AssumeRoleNotPermitted` | Amazon S3 は、レプリケーション設定またはバッチオペレーションジョブで指定された AWS Identity and Access Management (IAM) ロールを引き受けることができません。 | 
| `DstBucketInvalidRegion` | 宛先バケットがバッチオペレーションジョブで指定されたのと同じ AWS リージョンにありません。このエラーはバッチレプリケーションに固有のものです。 | 
| `DstBucketNotFound` | Amazon S3 は、レプリケーション設定で指定されたレプリケート先バケットを見つけることができません。 | 
| `DstBucketObjectLockConfigMissing` | オブジェクトロックが有効になっているレプリケート元バケットからオブジェクトをレプリケートするには、レプリケート先バケットでもオブジェクトロックが有効になっている必要があります。このエラーは、レプリケート先バケットでオブジェクトロックが有効になっていない可能性があることを示しています。詳細については、「[オブジェクトロックの考慮事項](object-lock-managing.md)」を参照してください。 | 
| `DstBucketUnversioned` | S3 レプリケート先バケットでバージョニングが有効になっていません。S3 レプリケーションでオブジェクトをレプリケートするには、レプリケート先バケットのバージョニングを有効にします。 | 
| `DstDelObjNotPermitted` | Amazon S3 は、レプリケート先バケットに削除マーカーをレプリケートできません。レプリケート先バケットに対する `s3:ReplicateDelete` 権限がない可能性があります。 | 
| `DstKmsKeyInvalidState` | レプリケート先バケットの AWS Key Management Service (AWS KMS) キーが無効な状態です。必要な AWS KMS キーを確認して有効にします。AWS KMS キーの管理について詳しくは、*AWS Key Management Service デベロッパーガイド*の「[AWS KMS キーのキーステータス](https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)」を参照してください。 | 
| `DstKmsKeyNotFound` | レプリケーション設定でレプリケート先バケットに設定されている AWS KMS キーは存在しません。 | 
| `DstMultipartCompleteNotPermitted` | Amazon S3 は、レプリケート先バケットでオブジェクトのマルチパートアップロードを完了できません。レプリケート先バケットに対する `s3:ReplicateObject` 権限がない可能性があります。 | 
| `DstMultipartInitNotPermitted` | Amazon S3 は、レプリケート先バケットへのオブジェクトのマルチパートアップロードを開始できません。レプリケート先バケットに対する `s3:ReplicateObject` 権限がない可能性があります。 | 
| `DstMultipartUploadNotPermitted` | Amazon S3 は、レプリケート先バケットにマルチパートアップロードオブジェクトをアップロードできません。レプリケート先バケットに対する `s3:ReplicateObject` 権限がない可能性があります。 | 
| `DstObjectHardDeleted` | S3 バッチレプリケーションでは、レプリケート先バケットからオブジェクトのバージョン ID で削除されたオブジェクトの再レプリケーションはサポートされません。このエラーはバッチレプリケーションに固有のものです。 | 
| `DstPutAclNotPermitted` | Amazon S3 は、レプリケート先バケットにオブジェクトアクセスコントロールリスト (ACL) をレプリケートできません。レプリケート先バケットに対する `s3:ReplicateObject` 権限がない可能性があります。 | 
| `DstPutLegalHoldNotPermitted` | イミュータブルなオブジェクトをレプリケートしている際は、Amazon S3 ではレプリケート先オブジェクトに Object Lock のリーガルホールドを設定できません。レプリケート先バケットに対する `s3:PutObjectLegalHold` 権限がない可能性があります。詳細については、「[リーガルホールド](object-lock.md#object-lock-legal-holds)」を参照してください。 | 
|  `DstPutObjectNotPermitted` | Amazon S3 は、レプリケート先バケットにオブジェクトをレプリケートできません。これは、レプリケート先バケットに必要なアクセス許可 (`s3:ReplicateObject` または `s3:ObjectOwnerOverrideToBucketOwner` アクセス許可) がない場合、または AWS KMS キーポリシーによってソースのレプリケーションロールが宛先バケットで AWS KMS キー (`kms:Decrypt` および `kms:GenerateDataKey*` アクション) を使用することが許可されていない場合に発生する可能性があります。 | 
|  `DstPutRetentionNotPermitted` | イミュータブルなオブジェクトをレプリケートしている際は、Amazon S3 では送信先オブジェクトに保持期間を設定することができません。レプリケート先バケットに対する `s3:PutObjectRetention` 権限がない可能性があります。 | 
| `DstPutTaggingNotPermitted` | Amazon S3 は、レプリケート先バケットにオブジェクトタグをレプリケートできません。レプリケート先バケットに対する `s3:ReplicateObject` 権限がない可能性があります。 | 
| `DstVersionNotFound ` | Amazon S3 は、メタデータをレプリケートする必要があるレプリケート先バケットで必要なオブジェクトバージョンを見つけることができません。 | 
| `InitiateReplicationNotPermitted` | Amazon S3 は、オブジェクトのレプリケーションを開始できません。バッチオペレーションジョブに対する `s3:InitiateReplication` 権限がない可能性があります。このエラーはバッチレプリケーションに固有のものです。 | 
| `SrcBucketInvalidRegion` | レプリケート元バケットがバッチオペレーションジョブで指定されたのと同じ AWS リージョンにありません。このエラーはバッチレプリケーションに固有のものです。 | 
| `SrcBucketNotFound` | Amazon S3 はレプリケート元バケットを見つけることができません。 | 
| `SrcBucketReplicationConfigMissing` | Amazon S3 はソースバケットのレプリケーション設定を見つけることができませんでした。 | 
| `SrcGetAclNotPermitted` |  Amazon S3 は、レプリケート元バケットにあるオブジェクトにアクセスしてレプリケートを行うことができません。レプリケート元バケットオブジェクトに対する `s3:GetObjectVersionAcl` 権限がない可能性があります。 ソースバケットのオブジェクトは、バケット所有者が所有している必要があります。ACL が有効になっている場合は、[オブジェクト所有権] が [希望するバケット所有者] または [オブジェクトライター] に設定されているかどうかを確認してください。オブジェクト所有権が [希望するバケット所有者] に設定されている場合、バケット所有者がオブジェクト所有者になるためには、ソースバケットオブジェクトに `bucket-owner-full-control` ACL が必要です。ソースアカウントは、オブジェクト所有権を [バケット所有者の強制] に設定して、ACL を無効にすることで、バケット内のすべてのオブジェクトの所有権を取得できます。  | 
| `SrcGetLegalHoldNotPermitted` | Amazon S3 は S3 オブジェクトロックのリーガルホールド情報にアクセスできません。 | 
| `SrcGetObjectNotPermitted` | Amazon S3 は、レプリケート元バケットにあるオブジェクトにアクセスしてレプリケートを行うことができません。レプリケート元バケットに対する `s3:GetObjectVersionForReplication` 権限がない可能性があります。 | 
| `SrcGetRetentionNotPermitted` | Amazon S3 は S3 オブジェクトロックの保持期間情報にアクセスできません。 | 
| `SrcGetTaggingNotPermitted` | Amazon S3 はレプリケート元バケットのオブジェクトタグ情報にアクセスできません。レプリケート元バケットに対する `s3:GetObjectVersionTagging` 権限がない可能性があります。 | 
| `SrcHeadObjectNotPermitted` | Amazon S3 はレプリケート元バケットからオブジェクトメタデータを取得できません。レプリケート元バケットに対する `s3:GetObjectVersionForReplication` 権限がない可能性があります。 | 
| `SrcKeyNotFound` | Amazon S3 は、レプリケートするソースオブジェクトキーを見つけることができません。ソースオブジェクトはレプリケーションが完了する前に削除された可能性があります。 | 
| `SrcKmsKeyInvalidState` | レプリケート元バケットの AWS KMS キーは有効な状態ではありません。必要な AWS KMS キーを確認して有効にします。AWS KMS キーの管理について詳しくは、*AWS Key Management Service デベロッパーガイド*の「[AWS KMS キーのキーステータス](https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)」を参照してください。 | 
| `SrcObjectNotEligible` | 一部のオブジェクトはレプリケーションの対象外です。これは、オブジェクトのストレージクラスが原因であるか、オブジェクトタグがレプリケーション構成と一致しないことが原因である可能性があります。 | 
| `SrcObjectNotFound` | ソースオブジェクトが存在しません。 | 
| `SrcReplicationNotPending` | Amazon S3 はすでにこのオブジェクトをレプリケートしています。このオブジェクトはもう保留中レプリケーションではなくなっています。 | 
| `SrcVersionNotFound` | Amazon S3 は、レプリケートするソースオブジェクトバージョンを見つけることができません。ソースオブジェクトバージョンはレプリケーションが完了する前に削除された可能性があります。 | 

### 関連トピック
<a name="replication-metrics-related-topics"></a>

[ライブレプリケーションのアクセス許可の設定](setting-repl-config-perm-overview.md)

[レプリケーションのトラブルシューティング](replication-troubleshoot.md)