Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Cette section contient des conseils de résolution des problèmes relatifs à la réplication Amazon S3 et des informations sur les erreurs de réplication par lot S3.
Conseils pour la résolution des problèmes de réplication S3
Si les réplicas d’objets ne figurent pas dans le compartiment de destination après la configuration de la réplication, utilisez les conseils de dépannage suivants pour identifier les problèmes et les résoudre.
-
La plupart des objets se répliquent en 15 minutes. Le temps nécessaire à Amazon S3 pour répliquer un objet dépend de plusieurs facteurs, y compris de la paire de régions source et de destination et de la taille de l’objet. Pour les objets volumineux, la réplication peut prendre plusieurs heures. Pour plus de visibilité sur les temps de réplication, vous pouvez utiliser le Contrôle du temps de réplication S3 (S3 RTC).
Si l’objet répliqué est volumineux, attendez un moment avant de vérifier s’il apparaît dans la destination. Vous pouvez également vérifier le statut de réplication de l’objet source. Si le statut de réplication de l’objet est
PENDING
, cela signifie qu’Amazon S3 n’a pas terminé la réplication. Si le statut de réplication de l’objet estFAILED
, vérifiez la configuration de réplication définie sur le compartiment source.En outre, pour recevoir des informations sur les échecs de réplication, vous pouvez configurer une réplication des notifications d’événements Amazon S3. Pour plus d’informations, consultez Recevoir des événements d’échec de réplication avec des notifications d’événements Amazon S3.
-
Pour vérifier le statut de réplication d’un objet, vous pouvez appeler l’opération d’API
HeadObject
. L’opération d’APIHeadObject
renvoie le statut de réplicationPENDING
,COMPLETED
ouFAILED
d’un objet. En réponse à un appel d’APIHeadObject
, le statut de réplication est renvoyé dans l’en-têtex-amz-replication-status
.Note
Pour exécuter
HeadObject
, vous devez disposer d’un accès en lecture sur l’objet que vous demandez. Une demandeHEAD
possède les mêmes options qu’une demandeGET
, sans effectuer d’opérationGET
. Par exemple, pour exécuter uneHeadObject
requête à l'aide de AWS Command Line Interface (AWS CLI), vous pouvez exécuter la commande suivante. Remplacez
par vos propres informations.user input placeholders
aws s3api head-object --bucket
amzn-s3-demo-source-bucket
--keyindex.html
-
Si
HeadObject
renvoie les objets avec un statut de réplicationFAILED
, vous pouvez utiliser la réplication par lot S3 pour répliquer les objets ayant échoué. Pour de plus amples informations, veuillez consulter Réplication d’objets existants via la réplication par lot. Vous pouvez également charger à nouveau les objets ayant échoué dans le compartiment source, ce qui lancera la réplication des nouveaux objets. -
Dans la configuration de réplication du compartiment source, procédez aux vérifications suivantes :
-
L’Amazon Resource Name (ARN) du compartiment de destination est correct.
-
Le préfixe de nom de clé est correct. A titre d’exemple, si vous définissez la configuration pour répliquer des objets avec le préfixe
Tax
, seuls les objets dotés de noms de clésTax/document1
ouTax/document2
seront répliqués. Tout objet avec le nom de clédocument3
n’est pas répliqué. -
Le statut de la règle de réplication est
Enabled
.
-
-
Vérifiez que la gestion des versions n’a pas été suspendue sur aucun compartiment dans la configuration de la réplication. La gestion des versions doit être activée pour les compartiments source et de destination.
-
Si une règle de réplication est définie pour Transférer la propriété de l'objet au propriétaire du compartiment de destination, le rôle AWS Identity and Access Management (IAM) utilisé pour la réplication doit disposer de cette
s3:ObjectOwnerOverrideToBucketOwner
autorisation. Cette autorisation est accordée sur la ressource (dans ce cas, le compartiment de destination). Par exemple, la déclarationResource
suivante montre comment accorder cette autorisation sur le compartiment de destination :{ "Effect":"Allow", "Action":[ "s3:ObjectOwnerOverrideToBucketOwner" ], "Resource":"arn:aws:s3:::
amzn-s3-demo-destination-bucket
/*" } -
Si le compartiment de destination appartient à un autre compte, le propriétaire du compartiment de destination doit également accorder l’autorisation
s3:ObjectOwnerOverrideToBucketOwner
au propriétaire du compartiment source, conformément à la politique de compartiment de destination. Pour utiliser l’exemple de politique de compartiment suivant, remplacez
par vos propres informations :user input placeholders
{ "Version": "2012-10-17", "Id": "Policy1644945280205", "Statement": [ { "Sid": "Stmt1644945277847", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
123456789101
:role/s3-replication-role
" }, "Action": [ "s3:ReplicateObject", "s3:ReplicateTags", "s3:ObjectOwnerOverrideToBucketOwner" ], "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket
/*" } ] }Note
Si les paramètres de propriété de l’objet du compartiment de destination incluent Propriétaire du compartiment appliqué, vous n’avez pas besoin de mettre à jour le paramètre pour Remplacer la propriété de l’objet par le propriétaire du compartiment de destination dans la règle de réplication. Le changement de propriété de l’objet se produira par défaut. Pour plus d’informations sur la modification du propriétaire d’un réplica, consultez Modification du propriétaire d’un réplica.
-
Si vous définissez la configuration de réplication dans un scénario entre comptes, dans lequel les compartiments source et de destination appartiennent à des propriétaires différents Comptes AWS, les compartiments de destination ne peuvent pas être configurés en tant que compartiment Requester Pays. Pour de plus amples informations, veuillez consulter Utilisation de compartiments de paiement par le demandeur pour les transferts de stockage et l’utilisation.
-
Si les objets sources d’un compartiment sont chiffrés côté serveur avec des clés AWS Key Management Service (AWS KMS) (SSE-KMS), la règle de réplication doit être configurée pour inclure les objets chiffrés par AWS KMS. Assurez-vous de sélectionner Répliquer les objets chiffrés avec AWS KMS dans les paramètres de Chiffrement de la console Amazon S3. Sélectionnez ensuite une AWS KMS clé pour chiffrer les objets de destination.
Note
Si le compartiment de destination se trouve dans un autre compte, spécifiez une clé gérée par le AWS KMS client qui appartient au compte de destination. N’utilisez pas la clé par défaut gérée par Amazon S3 (
aws/s3
). L’utilisation de la clé par défaut chiffre les objets à l’aide de la clé gérée par Amazon S3 appartenant au compte source, empêchant ainsi le partage de l’objet avec un autre compte. Par conséquent, le compte de destination ne pourra pas accéder aux objets du compartiment de destination.Pour utiliser une AWS KMS clé appartenant au compte de destination pour chiffrer les objets de destination, le compte de destination doit accorder les
kms:Encrypt
autorisationskms:GenerateDataKey
et au rôle de réplication dans la politique de clé KMS. Pour utiliser l’exemple de déclaration suivant dans votre stratégie de clé KMS, remplacez
par vos propres informations :user input placeholders
{ "Sid": "AllowS3ReplicationSourceRoleToUseTheKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
123456789101
:role/s3-replication-role
" }, "Action": ["kms:GenerateDataKey", "kms:Encrypt"], "Resource": "*" }Si vous utilisez un astérisque (
*
) pour la déclarationResource
dans la stratégie de clé AWS KMS , la stratégie autorise l’utilisation de la clé KMS uniquement pour le rôle de réplication. La stratégie n’autorise pas le rôle de réplication à augmenter ses autorisations.Par défaut, la stratégie de clé KMS accorde à l’utilisateur root des autorisations complètes sur la clé. Ces autorisations peuvent être déléguées à d’autres utilisateurs du même compte. À moins que la stratégie de clé KMS source ne contienne des déclarations
Deny
, l’utilisation d’une politique IAM pour accorder des autorisations de rôle de réplication à la clé KMS source est suffisante.Note
Les stratégies de clé KMS qui limitent l’accès à des plages d’adresses CIDR, à des points de terminaison de cloud privé virtuel (VPC) ou à des points d’accès S3 spécifiques peuvent entraîner l’échec de la réplication.
Si les clés KMS source ou de destination accordent des autorisations en fonction du contexte de chiffrement, vérifiez que les clés de compartiment Amazon S3 sont activées pour les compartiments. Si les clés de compartiment S3 sont activées dans les compartiments, le contexte de chiffrement doit être la ressource au niveau du compartiment, comme suit :
"kms:EncryptionContext:arn:aws:arn": [ "arn:aws:s3:::
amzn-s3-demo-source-bucket
" ] "kms:EncryptionContext:arn:aws:arn": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket
" ]Outre les autorisations accordées par la stratégie de clé KMS, le compte source doit ajouter les autorisations minimales suivantes à la politique IAM du rôle de réplication :
{ "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "
Source-KMS-Key-ARN
" ] }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Encrypt" ], "Resource": [ "Destination-KMS-Key-ARN
" ] }Pour plus d'informations sur la réplication d'objets chiffrés avec AWS KMS, consultez la section Réplication d'objets chiffrés.
-
Si le compartiment de destination appartient à un autre Compte AWS, vérifiez que le propriétaire du compartiment dispose d'une politique de compartiment sur le compartiment de destination qui autorise le propriétaire du compartiment source à répliquer des objets. Pour obtenir un exemple, consultez Configuration de la réplication pour des compartiments dans des comptes distincts.
-
Pour utiliser Object Lock avec la réplication, vous devez accorder deux autorisations supplémentaires sur le compartiment S3 source dans le rôle AWS Identity and Access Management (IAM) que vous utilisez pour configurer la réplication. Les deux autorisations supplémentaires sont
s3:GetObjectRetention
ets3:GetObjectLegalHold
. Si le rôle dispose d’une déclaration d’autorisations3:Get*
, cette déclaration répond à l’exigence. Pour de plus amples informations, veuillez consulter Utilisation du verrouillage d’objet avec la réplication S3. -
Si vos objets ne se répliquent toujours pas une fois que vous avez validé les autorisations, vérifiez la présence de déclarations
Deny
explicites dans les emplacements suivants :-
Les déclarations
Deny
figurant dans les politiques du compartiment source ou de destination. La réplication échoue si la politique de compartiment refuse l’accès au rôle de réplication pour l’une des actions suivantes :Compartiment source :
"s3:GetReplicationConfiguration", "s3:ListBucket", "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging"
Compartiments de destination :
"s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags"
-
Les déclarations
Deny
ou les limites des autorisations associées au rôle IAM peuvent entraîner l’échec de la réplication. -
Deny
les instructions AWS Organizations contenues dans les politiques de contrôle des services (SCPs) associées aux comptes source ou de destination peuvent entraîner l'échec de la réplication. -
Deny
les instructions AWS Organizations contenues dans les politiques de contrôle des ressources (RCPs) associées aux compartiments source ou de destination peuvent entraîner l'échec de la réplication.
-
-
Si un réplica d’objet ne figure pas dans le compartiment de destination, les problèmes suivants ont pu empêcher la réplication :
-
Amazon S3 ne réplique pas un objet figurant dans un compartiment source qui est lui-même un réplica créé par une autre configuration de réplication. Par exemple, si vous définissez une configuration de réplication à partir du compartiment A vers le compartiment B vers le compartiment C, Amazon S3 ne réplique pas les réplicas d’objets dans le compartiment B vers le compartiment C.
-
Le propriétaire d'un compartiment source peut accorder d'autres Comptes AWS autorisations pour télécharger des objets. Par défaut, le propriétaire du compartiment source ne possède aucune autorisation pour les objets créés par d’autres comptes. La configuration de réplication réplique uniquement les objets pour lesquels le propriétaire du compartiment source dispose des autorisations d’accès. Pour éviter ce problème, le propriétaire du compartiment source peut accorder d'autres Comptes AWS autorisations pour créer des objets de manière conditionnelle, en exigeant des autorisations d'accès explicites sur ces objets. Pour un exemple de politique, consultez Octroi d’autorisations intercomptes pour charger des objets tout en garantissant que le propriétaire du compartiment dispose d’un contrôle total.
-
-
Supposons que vous ajoutiez une règle dans la configuration de réplication pour répliquer un sous-ensemble d’objets dotés d’une balise spécifique. Dans ce cas, vous devez attribuer une clé et une valeur de balise spécifiques au moment de la création de l’objet pour qu’Amazon S3 puisse répliquer l’objet. Si vous commencez par créer un objet, puis ajoutez la balise à l’objet existant, Amazon S3 ne réplique pas l’objet.
-
Utilisez les notifications d’événements Amazon S3 pour vous avertir dans les cas où les objets ne sont pas répliqués vers leur Région AWS de destination. Les notifications d'événements Amazon S3 sont disponibles via Amazon Simple Queue Service (Amazon SQS), Amazon Simple Notification Service (Amazon SNS) ou. AWS Lambda Pour de plus amples informations, veuillez consulter Recevoir des événements d’échec de réplication avec des notifications d’événements Amazon S3.
Vous pouvez également consulter les raisons de l’échec de la réplication en utilisant les notifications d’événements Amazon S3. Pour consulter la liste des raisons d’échec, consultez Raisons de l’échec de la réplication Amazon S3.
Erreurs de réplication par lot
Pour résoudre les problèmes liés aux objets qui ne sont pas répliqués vers le compartiment de destination, vérifiez les différents types d’autorisations pour vos compartiments, le rôle de réplication et le rôle IAM utilisés pour créer la tâche de réplication par lot. Assurez-vous également de vérifier les paramètres de blocage de l’accès public et les paramètres de propriété d’objets S3 de vos compartiments.
Pour d’autres conseils de résolution des problèmes relatifs à l’utilisation des opérations par lot, consultez Résolution des problèmes d’opérations par lot.
Vous pouvez rencontrer l’une des erreurs suivantes avec la réplication par lot :
-
La génération du manifeste n’a trouvé aucune clé correspondant aux critères du filtre.
Cette erreur se produit pour l’une des raisons suivantes :
-
Quand des objets du compartiment source sont stockés dans la classe de stockage S3 Glacier Flexible Retrieval ou S3 Glacier Deep Archive.
Pour utiliser la réplication par lot sur ces objets, commencez par les restaurer dans la classe de stockage S3 Standard en utilisant une opération Restaurer (
S3InitiateRestoreObjectOperation
) dans une tâche d’opérations par lot. Pour plus d’informations, consultez Restauration d’un objet archivé et Restaurer des objets (opérations par lot). Une fois les objets restaurés, vous pouvez les répliquer à l’aide d’une tâche de réplication par lot. -
Lorsque les critères de filtre fournis ne correspondent à aucun objet valide dans le compartiment source.
Vérifiez et corrigez les critères de filtre. Par exemple, dans la règle de réplication par lot, le critère de filtre recherche tous les objets du compartiment source avec le préfixe
Tax/
. Si le nom du préfixe a été saisi de manière inexacte, avec une barre oblique au début et à la fin,/Tax/
, plutôt qu’à la fin uniquement, aucun objet S3 n’a été trouvé. Pour résoudre l’erreur, corrigez le préfixe, dans ce cas, de/Tax/
àTax/
dans la règle de réplication.
-
-
L’opération par lot a un statut d’échec pour une raison : le rapport de tâche n’a pas pu être écrit dans votre compartiment de rapports.
Cette erreur se produit si le rôle IAM utilisé pour la tâche d’opérations par lot ne parvient pas à placer le rapport de fin à l’emplacement spécifié lors de la création de la tâche. Pour résoudre cette erreur, vérifiez que le rôle IAM dispose de l’autorisation
s3:PutObject
pour le compartiment dans lequel vous souhaitez enregistrer le rapport de fin des opérations par lot. Nous vous recommandons de transmettre le rapport dans un compartiment autre que le compartiment source.Pour obtenir des conseils supplémentaires sur la résolution de cette erreur, consultez Aucun rapport de tâche n’est fourni en cas de problème d’autorisation ou lorsqu’un mode de conservation du verrouillage d’objet S3 est activé.
-
L’opération par lot est terminée avec des échecs et le nombre total d’échecs n’est pas égal à 0.
Cette erreur se produit en cas de problèmes d’autorisations d’objet insuffisantes avec la tâche de réplication par lot en cours d’exécution. Si vous utilisez une règle de réplication pour votre tâche de réplication par lot, assurez-vous que le rôle IAM utilisé pour la réplication dispose des autorisations appropriées pour accéder aux objets depuis le compartiment source ou de destination. Vous pouvez également consulter le Rapport de fin de la réplication par lot pour connaître les raisons spécifiques de l’échec de la réplication Amazon S3.
-
La tâche par lot s’est correctement exécutée, mais le nombre d’objets attendus dans le compartiment de destination n’est pas le même.
Cette erreur se produit lorsqu’il existe une incompatibilité entre les objets répertoriés dans le manifeste fourni dans la tâche de réplication par lot et les filtres que vous avez sélectionnés lors de la création de la tâche. Vous pouvez également recevoir ce message lorsque les objets de votre compartiment source ne correspondent à aucune règle de réplication et ne sont pas inclus dans le manifeste généré.
Les échecs des opérations par lot se produisent après l’ajout d’une nouvelle règle de réplication à une configuration de réplication existante
Les opérations par lot tentent de répliquer des objets existants pour chaque règle de la configuration de réplication du compartiment source. En cas de problème avec l’une des règles de réplication existantes, des échecs peuvent survenir.
Le rapport de fin de la tâche d’opérations par lot explique les raisons de l’échec de la tâche. Pour obtenir une liste des erreurs courantes, consultez Raisons de l’échec de la réplication Amazon S3.