Configuration d’une réplication pour des compartiments dans le même compte - Amazon Simple Storage Service

Configuration d’une réplication pour des compartiments dans le même compte

La réplication en direct correspond à la copie automatique et asynchrone d’objets entre des compartiments figurant dans la même région ou dans des Régions AWS différentes. La réplication en direct copie les objets nouvellement créés et les mises à jour d’objets à partir d’un compartiment source vers un ou plusieurs compartiments de destination. Pour plus d’informations, consultez Réplication d’objets au sein des régions et entre elles.

Lorsque vous configurez la réplication, vous ajoutez des règles de réplication au compartiment source. Les règles de réplication définissent les objets du compartiment source à répliquer, ainsi que le ou les compartiments de destination dans lesquels les objets répliqués seront stockés. Vous pouvez créer une règle pour répliquer tous les objets ou un sous-ensemble d’objets d’un compartiment à l’aide de préfixes de nom de clé ou d’autres balises d’objet, ou les deux. Un compartiment de destination peut se trouver dans le même Compte AWS que le compartiment source, mais il peut également se trouver dans un autre compte.

Si vous spécifiez un ID de version d’objet à supprimer, Amazon S3 supprime cette version de l’objet dans le compartiment source. Mais le service ne réplique pas la suppression dans le compartiment de destination. En d’autres termes, il ne supprime pas la même version de l’objet dans le compartiment de destination. Les données sont ainsi protégées contre les suppressions malveillantes.

Lorsque vous ajoutez une règle de réplication à un compartiment, celle-ci est activée par défaut et entre en fonctionnement dès que vous l’enregistrez.

Dans cet exemple, vous configurez la réplication en direct pour les compartiments source et de destination qui appartiennent au même Compte AWS. Des exemples sont fournis pour l’utilisation de la console Amazon S3, d’AWS Command Line Interface (AWS CLI), et des kits AWS SDK pour Java et AWS SDK pour .NET.

Prérequis

Avant d’utiliser les procédures suivantes, assurez-vous que vous avez configuré les autorisations nécessaires pour la réplication, selon que les compartiments source et de destination sont détenus par des comptes identiques ou différents. Pour plus d’informations, consultez Configuration des autorisations pour la réplication en direct.

Note
  • Si vous souhaitez répliquer des objets chiffrés, vous devez également accorder les autorisations de clés AWS Key Management Service (AWS KMS) nécessaires. Pour plus d’informations, consultez Réplication d’objets chiffrés (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C).

  • Pour utiliser le verrouillage d’objet 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 et s3:GetObjectLegalHold. Si le rôle dispose d’une déclaration d’autorisation s3:Get*, cette déclaration répond à l’exigence. Pour plus d’informations, consultez Utilisation du verrouillage d’objet avec la réplication S3.

Suivez ces étapes pour configurer une règle de réplication quand le compartiment de destination se trouve dans le même Compte AWS que le compartiment source.

Si le compartiment de destination se trouve dans un compte différent du compartiment source, vous devez ajouter une politique de compartiment au compartiment de destination pour accorder au propriétaire du compte du compartiment source l’autorisation d’effectuer des réplications d’objets dans le compartiment de destination. Pour plus d’informations, consultez (Facultatif) Étape 3 : octroi d’autorisations lorsque les compartiments source et destination appartiennent à différents Comptes AWS.

  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon S3 à l’adresse https://console.aws.amazon.com/s3/.

  2. Dans le volet de navigation de gauche, choisissez Compartiments à usage général.

  3. Dans la liste de compartiments, choisissez le nom du compartiment que vous souhaitez utiliser.

  4. Sélectionnez Gestion, faites défiler jusqu’à Règles de réplication, puis sélectionnez Créer une règle de réplication.

  5. Dans la section Configuration de la règle de réplication, sous Nom de la règle de réplication, saisissez un nom pour votre règle afin de l’identifier facilement plus tard. Ce nom est obligatoire et doit être unique dans le compartiment.

  6. Sous Statut, Activé est sélectionné par défaut. Un règle activée entre en fonctionnement dès que l’avez enregistrée. Si vous souhaitez activer la règle ultérieurement, sélectionnez Désactivé.

  7. Si le compartiment possède des règles de réplication existantes, il vous est demandé de définir une priorité pour la règle. Vous devez définir une priorité pour la règle pour éviter les conflits provoqués par les objets inclus dans l’étendue de plusieurs règles. En cas de chevauchement de règles, Amazon S3 utilise la priorité des règles pour déterminer la règle à appliquer. Plus le nombre est élevé, plus la priorité est haute. Pour plus d’informations sur la priorité des règles, consultez Éléments du fichier de configuration de réplication.

  8. Sous Compartiment source, vous disposez des options suivantes pour définir la source de réplication :

    • Pour répliquer l’ensemble du compartiment, choisissez Appliquer à tous les objets du compartiment.

    • Pour répliquer tous les objets ayant le même préfixe, choisissez Limit the scope of this rule using one or more filters (Limiter la portée de cette règle en utilisant un ou plusieurs filtres). Cela limite la réplication à tous les objets dont les noms commencent par le préfixe que vous spécifiez (par exemple, pictures). Saisissez un préfixe dans la zone Préfixe.

      Note

      Si vous entrez un préfixe correspondant à un nom de dossier, vous devez insérer le caractère / (barre oblique) à la fin (par exemple, pictures/).

    • Pour répliquer tous les objets avec une ou plusieurs balises d’objet, sélectionnez Ajouter une balise et saisissez la paire clé-valeur dans les zones. Répétez la procédure pour ajouter une autre balise. Vous pouvez combiner un préfixe et des balises. Pour en savoir plus sur les balises d’objet, consultez Catégorisation de vos objets à l’aide de balises.

    Le nouveau schéma XML de configuration de la réplication prend en charge le balisage de préfixe et de balise, et la priorité des règles. Pour plus d’informations sur le nouveau schéma, consultez Considérations relatives à la rétrocompatibilité. Pour plus d’informations sur le XML utilisé avec l’API Amazon S3 qui fonctionne derrière l’interface utilisateur, reportez-vous à Éléments du fichier de configuration de réplication. Le nouveau schéma est décrit comme configuration de réplication XML V2.

  9. Sous Destination, sélectionnez le compartiment où vous souhaitez qu’Amazon S3 réplique les objets.

    Note

    Le nombre de compartiments de destination est limité au nombre de Régions AWS dans une partition donnée. Une partition est un regroupement de Régions. AWS dispose actuellement de trois partitions : aws (Régions Standard), aws-cn (Régions Chine) et aws-us-gov (Régions AWS GovCloud (US)). Vous pouvez utiliser Service Quotas pour demander une augmentation de votre limite de compartiments de destination.

    • Pour répliquer vers un compartiment ou plusieurs compartiments de votre compte, sélectionnez Choisir un compartiment dans ce compte et saisissez ou recherchez le nom du compartiment de destination.

    • Pour répliquer vers un ou plusieurs compartiments dans un autre Compte AWS, sélectionnez Choisir un compartiment dans un autre compte et saisissez le nom et l’ID de compte du compartiment de destination.

      Si la destination se trouve dans un compte différent du compartiment source, vous devez ajouter une politique de compartiment aux compartiments de destination pour accorder au propriétaire du compte du compartiment source l’autorisation d’effectuer des réplications d’objets. Pour plus d’informations, consultez (Facultatif) Étape 3 : octroi d’autorisations lorsque les compartiments source et destination appartiennent à différents Comptes AWS.

      (Facultatif) Si vous souhaitez aider à normaliser la propriété des nouveaux objets dans le compartiment de destination, choisissez Remplacer la propriété de l’objet par le propriétaire du compartiment de destination. Pour plus d’informations sur cette option, consultez Consultez Contrôle de la propriété des objets et désactivation des listes ACL pour votre compartiment.

    Note

    Si la gestion des versions n’est pas activée sur le compartiment de destination, un message d’avertissement avec le bouton Activer la gestion des versions s’affiche. Cliquez sur ce bouton pour activer la gestion des versions sur le compartiment.

  10. Configurez un rôle AWS Identity and Access Management (IAM) pouvant être endossé par Amazon S3 pour répliquer des objets en votre nom.

    Pour configurer un rôle IAM, dans la section Rôle IAM, sélectionnez l’une des options suivantes dans la liste déroulante des rôles IAM :

    • Nous vous recommandons vivement de choisir Create new role (Créer un nouveau rôle) pour demander à Amazon S3 de créer nouveau rôle IAM pour vous. Lorsque vous enregistrez la règle, une nouvelle stratégie est générée pour le rôle IAM correspondant aux compartiments source et cible que vous choisissez.

    • Vous pouvez également choisir d’utiliser un rôle IAM existant. Dans ce cas, vous devez choisir un rôle qui octroie à Amazon S3 les autorisations nécessaires pour la réplication. La réplication échoue si ce rôle n’accorde pas à Amazon S3 les autorisations suffisantes pour suivre votre règle de réplication.

    Important

    Lorsque vous ajoutez une règle de réplication à un compartiment, vous devez disposer de l’autorisation iam:PassRole pour pouvoir transmettre le rôle IAM qui accorde les autorisations de réplication Amazon S3. Pour plus d’informations, consultez Octroi d’autorisations à un utilisateur pour transférer un rôle à un Service AWS dans le Guide de l’utilisateur IAM.

  11. Pour répliquer des objets du compartiment source chiffrés avec le chiffrement côté serveur avec des clés AWS Key Management Service (AWS KMS) (SSE-KMS), sous Chiffrement, sélectionnez Répliquer les objets chiffrés avec AWS KMS. Sous Clés AWS KMS pour le chiffrement des objets de destination se trouvent les clés source que la réplication est autorisée à utiliser. Toutes les clés source KMS sont incluses par défaut. Vous pouvez choisir un alias ou un ID de clé afin de restreindre la sélection des clés KMS.

    Les objets chiffrés parAWS KMS keys que vous ne sélectionnez pas ne seront pas répliqués. Une clé KMS ou un groupe de clés KMS est sélectionné pour vous, mais vous pouvez choisir les clés KMS que vous souhaitez utiliser si vous le souhaitez. Pour en savoir plus sur l’utilisation de AWS KMS avec une réplication, consultez Réplication d’objets chiffrés (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C).

    Important

    Lorsque vous répliquez des objets qui sont chiffrés avec AWS KMS, le débit de demandes AWS KMS double dans la Région source et augmente dans la Région de destination dans les mêmes proportions. Ces taux d’appel accrus vers AWS KMS sont dus à la manière dont les données sont chiffrées à nouveau à l’aide de la clé KMS que vous définissez pour la région de destination de la réplications. AWS KMS possède un quota de débit de demandes par compte d’appel et par région. Pour obtenir des informations sur les quotas par défaut, consultez Quotas AWS KMS – nombre de demandes par seconde : variable dans le Guide du développeur AWS Key Management Service.

    Si votre taux de demandes d’objet PUT Amazon S3 actuel lors de la réplication est supérieur à la moitié de la limite de taux AWS KMS par défaut pour votre compte, nous vous recommandons de demander une augmentation de votre quota de taux de demandes AWS KMS. Pour demander une augmentation, contactez-nous afin de créer un cas dans le Centre Support. Par exemple, supposons que votre taux de demandes d’objet PUT actuel est de 1 000 demandes par seconde et que vous utilisez AWS KMS pour chiffrer vos objets. Dans ce cas, nous vous recommandons de demander au Support d’augmenter votre limite de débit de demandes AWS KMS à 2 500 demandes par seconde pour vos Régions source et de destination (s’il s’agit de Régions différentes) afin de vous assurer qu’aucune limitation ne sera appliquée par AWS KMS.

    Pour consulter votre taux de demandes d’objet PUT dans le compartiment source, affichez PutRequests dans les métriques de demande Amazon CloudWatch pour Amazon S3. Pour obtenir des informations sur l’affichage des métriques CloudWatch, consultez Utilisation de la console S3.

    Si vous avez choisi de répliquer des objets chiffrés avec AWS KMS, procédez comme suit :

    1. Sous AWS KMS key pour le chiffrement des objets de destination, spécifiez votre clé KMS de l’une des manières suivantes :

      • Pour choisir parmi une liste de clés KMS disponibles, choisissez Choisir parmi vos clés AWS KMS keys, puis sélectionnez votre Clé KMS dans la liste des clés disponibles.

        La Clé gérée par AWS (aws/s3) et la clé gérée par le client apparaissent toutes deux dans cette liste. Pour plus d’informations sur les clés gérées par le client, consultez Clés de client et clés AWS dans le Guide du développeur AWS Key Management Service.

      • Pour saisir l’Amazon Resource Name (ARN) de la clé KMS, choisissez Saisir l’ARN de AWS KMS key, puis saisissez l’ARN de votre clé KMS dans le champ qui s’affiche. Cela chiffre les réplicas dans le compartiment de destination. Vous trouverez l’ARN de votre clé KMS dans la console IAM, sous Clés de chiffrement.

      • Pour créer une clé gérée par le client dans la console AWS KMS, choisissez Créer une clé KMS.

        Pour en savoir plus sur la création d’une AWS KMS key, consultez Création de clés dans le guide du développeur AWS Key Management Service.

      Important

      Vous pouvez uniquement utiliser des clés KMS activées dans la même Région AWS que le compartiment. Lorsque vous choisissez Choisir parmi vos clés KMS, la console S3 ne répertorie que 100 clés KMS par région. Si vous avez plus de 100 clés KMS dans la même Région, vous pourrez uniquement afficher les 100 premières clés KMS dans la console S3. Pour utiliser une clé KMS qui n’est pas répertoriée dans la console, choisissez Saisir l’ARN de AWS KMS key, puis saisissez l’ARN de la clé KMS.

      Lorsque vous utilisez une AWS KMS key pour le chiffrement côté serveur dans Amazon S3, vous devez choisir une clé KMS de chiffrement symétrique. Amazon S3 prend uniquement en charge les clés KMS symétriques de chiffrement et ne prend pas en charge les clés KMS asymétriques. Pour plus d’informations, consultez la section Identifying symmetric and asymmetric KMS keys (Identification des clés KMS symétriques et asymétriques) dans le Guide du développeur AWS Key Management Service.

      Pour en savoir plus sur la création d’une AWS KMS key, consultez Création de clés dans le guide du développeur AWS Key Management Service. Pour en savoir plus sur l’utilisation de AWS KMS avec Amazon S3, consultez Utilisation du chiffrement côté serveur avec des clés AWS KMS (SSE-KMS).

  12. Sous Classe de stockage de destination, si vous voulez répliquer vos données dans une classe de stockage spécifique dans le compartiment de destination, sélectionnez Modifier la classe de stockage pour les objets répliqués. Choisissez ensuite la classe de stockage que vous voulez utiliser pour les objets répliqués dans la destination. Si vous ne sélectionnez pas cette option, la classe de stockage utilisée pour les objets répliqués est identique à celle des objets d’origine.

  13. Vous disposez des options supplémentaires suivantes lors de la définition des Options de réplication supplémentaires :

    Note

    Des frais supplémentaires s’appliquent lorsque vous utilisez des métriques de réplication S3 RTC ou S3.

  14. Pour terminer, choisissez Enregistrer.

  15. Une fois votre règle enregistrée, vous pouvez la modifier, l’activer, la désactiver ou la supprimer en la sélectionnant et en choisissant Edit rule (Modifier la règle).

Pour utiliser AWS CLI afin de configurer une réplication quand les compartiments source et de destination appartiennent au même Compte AWS, effectuez les actions suivantes :

  • Créez des compartiments source et de destination.

  • Activez la gestion des versions sur ces compartiments.

  • Créez un rôle AWS Identity and Access Management (IAM) qui octroie à Amazon S3 l’autorisation de répliquer des objets.

  • Ajoutez la configuration de réplication au compartiment source.

Testez votre configuration pour la vérifier.

Pour configurer la réplication quand les compartiments source et de destination appartiennent au même Compte AWS
  1. Définissez un profil d’informations d’identification pour l’AWS CLI. Cet exemple utilise le nom de profil acctA. Pour obtenir des informations sur la définition des profils d’informations d’identification et l’utilisation de profils nommés, consultez Paramètres des fichiers de configuration et d’informations d’identification dans le Guide de l’utilisateur AWS Command Line Interface.

    Important

    Le profil que vous utilisez dans cet exemple doit disposer des autorisations nécessaires. Par exemple, dans la configuration de réplication, vous spécifiez le rôle IAM qu’Amazon S3 peut endosser. Vous ne pouvez effectuer cette tâche que si le profil que vous utilisez dispose de l’autorisation iam:PassRole. Pour plus d’informations, consultez Octroi d’autorisations à un utilisateur pour transférer un rôle à un Service AWS dans le Guide de l’utilisateur IAM. Si vous utilisez les informations d’identification d’un administrateur pour créer un profil nommé, vous pouvez exécuter toutes les tâches.

  2. Créez un compartiment source et activez la gestion des versions sur celui-ci en utilisant les commandes AWS CLI suivantes. Pour utiliser ces commandes, remplacez user input placeholders par vos propres informations.

    La commande create-bucket suivante crée un compartiment source nommé amzn-s3-demo-source-bucket dans la région USA Est (Virginie du Nord) (us-east-1) :

    aws s3api create-bucket \ --bucket amzn-s3-demo-source-bucket \ --region us-east-1 \ --profile acctA

    La commande put-bucket-versioning suivante active la gestion des versions S3 sur le compartiment amzn-s3-demo-source-bucket :

    aws s3api put-bucket-versioning \ --bucket amzn-s3-demo-source-bucket \ --versioning-configuration Status=Enabled \ --profile acctA
  3. Créez un compartiment de destination et activez la gestion des versions sur celui-ci en utilisant les commandes AWS CLI suivantes. Pour utiliser ces commandes, remplacez user input placeholders par vos propres informations.

    Note

    Pour définir une configuration de réplication lorsque les compartiments source et de destination figurent dans le même Compte AWS, vous utilisez le même profil pour les compartiments source et de destination. Cet exemple utilise acctA.

    Pour tester une configuration de réplication lorsque les compartiments sont détenus par des Comptes AWS différents, spécifiez des profils différents pour chaque compte. Par exemple, utilisez un profil acctB pour le compartiment de destination.

    La commande create-bucket suivante crée un compartiment de destination nommé amzn-s3-demo-destination-bucket dans la région USA Ouest (Oregon) (us-west-2) :

    aws s3api create-bucket \ --bucket amzn-s3-demo-destination-bucket \ --region us-west-2 \ --create-bucket-configuration LocationConstraint=us-west-2 \ --profile acctA

    La commande put-bucket-versioning suivante active la gestion des versions S3 sur le compartiment amzn-s3-demo-destination-bucket :

    aws s3api put-bucket-versioning \ --bucket amzn-s3-demo-destination-bucket \ --versioning-configuration Status=Enabled \ --profile acctA
  4. Créez un rôle IAM. Vous précisez ce rôle dans la configuration de réplication que vous ajouterez ultérieurement au compartiment source. Amazon S3 endosse ce rôle pour répliquer des objets en votre nom. Vous créez un rôle IAM en deux étapes :

    • Créez un rôle.

    • Attachez une stratégie d’autorisation au rôle.

    1. Créez le rôle IAM.

      1. Copiez la stratégie d’approbation suivante et enregistrez-la dans un fichier nommé s3-role-trust-policy.json dans le répertoire actif sur votre ordinateur local. Cette politique accorde au principal de service Amazon S3 les autorisations permettant d’endosser ce rôle.

        JSON
        { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"s3.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
      2. Exécutez la commande suivante pour créer un rôle.

        $ aws iam create-role \ --role-name replicationRole \ --assume-role-policy-document file://s3-role-trust-policy.json \ --profile acctA
    2. Attachez une stratégie d’autorisation au rôle.

      1. Copiez la politique d’autorisations suivante et enregistrez-la dans un fichier nommé s3-role-permissions-policy.json dans le répertoire actuel de votre ordinateur local. Cette stratégie accorde des autorisations pour diverses actions sur les compartiments et les objets Amazon S3.

        JSON
        { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-source-bucket/*" ] }, { "Effect":"Allow", "Action":[ "s3:ListBucket", "s3:GetReplicationConfiguration" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-source-bucket" ] }, { "Effect":"Allow", "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags" ], "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*" } ] }
        Note
        • Si vous souhaitez répliquer des objets chiffrés, vous devez également accorder les autorisations de clés AWS Key Management Service (AWS KMS) nécessaires. Pour plus d’informations, consultez Réplication d’objets chiffrés (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C).

        • Pour utiliser le verrouillage d’objet 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 et s3:GetObjectLegalHold. Si le rôle dispose d’une déclaration d’autorisation s3:Get*, cette déclaration répond à l’exigence. Pour plus d’informations, consultez Utilisation du verrouillage d’objet avec la réplication S3.

      2. Exécutez la commande suivante pour créer une stratégie et l’attacher au rôle. Remplacez les user input placeholders par vos propres informations.

        $ aws iam put-role-policy \ --role-name replicationRole \ --policy-document file://s3-role-permissions-policy.json \ --policy-name replicationRolePolicy \ --profile acctA
  5. Ajoutez une configuration de réplication au compartiment source.

    1. Bien que l’API Amazon S3 exige que vous spécifiiez la configuration de réplication au format XML, l’AWS CLI exige que vous spécifiiez la configuration de réplication au format JSON. Enregistrez la configuration JSON dans un fichier (replication.json) dans le répertoire local de votre ordinateur.

      { "Role": "IAM-role-ARN", "Rules": [ { "Status": "Enabled", "Priority": 1, "DeleteMarkerReplication": { "Status": "Disabled" }, "Filter" : { "Prefix": "Tax"}, "Destination": { "Bucket": "arn:aws:s3:::amzn-s3-demo-destination-bucket" } } ] }
    2. Mettez à jour le code JSON en remplaçant les valeurs de amzn-s3-demo-destination-bucket et IAM-role-ARN par vos propres informations. Enregistrez les modifications.

    3. Exécutez la commande put-bucket-replication suivante pour ajouter la configuration de réplication à votre compartiment source. Veillez à fournir le nom du compartiment source.

      $ aws s3api put-bucket-replication \ --replication-configuration file://replication.json \ --bucket amzn-s3-demo-source-bucket \ --profile acctA

    Pour récupérer la configuration de réplication, utilisez la commande get-bucket-replication :

    $ aws s3api get-bucket-replication \ --bucket amzn-s3-demo-source-bucket \ --profile acctA
  6. Testez la configuration dans la console Amazon S3 en procédant comme suit :

    1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon S3 à l’adresse https://console.aws.amazon.com/s3/.

    2. Dans le volet de navigation de gauche, choisissez Compartiments. Dans la liste Compartiments à usage général, choisissez le compartiment source.

    3. Dans le compartiment source, créez un dossier nommé Tax.

    4. Ajoutez des exemples d’objets dans le dossier Tax du compartiment source.

      Note

      Le temps nécessaire à Amazon S3 pour répliquer un objet dépend de la taille de l’objet. Pour obtenir des informations sur la consultation du statut de la réplication, veuillez consulter Obtention d’informations sur le statut de la réplication.

      Dans le compartiment de destination, vérifiez les éléments suivants :

      • Amazon S3 a répliqué les objets.

      • Les objets sont des réplicas. Dans l’onglet Propriétés de vos objets, faites défiler l’affichage vers le bas jusqu’à la section Présentation de la gestion des objets. Sous Configurations de gestion, lisez la valeur sous Statut de réplication. Assurez-vous que cette valeur est définie sur REPLICA.

      • Les réplicas appartiennent au compte du compartiment source. Vous pouvez vérifier l’appartenance des objets dans l’onglet Autorisations de vos objets.

        Si les compartiments source et de destination appartiennent à des comptes différents, vous pouvez ajouter une configuration facultative pour indiquer à Amazon S3 de remplacer le propriétaire des réplicas par le compte de destination. Pour obtenir un exemple, consultez Comment modifier le propriétaire du réplica.

Utilisez les exemples de code suivants pour ajouter une configuration de réplication à un compartiment avec les kits AWS SDK pour Java et AWS SDK pour .NET respectivement.

Note
  • Si vous souhaitez répliquer des objets chiffrés, vous devez également accorder les autorisations de clés AWS Key Management Service (AWS KMS) nécessaires. Pour plus d’informations, consultez Réplication d’objets chiffrés (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C).

  • Pour utiliser le verrouillage d’objet 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 et s3:GetObjectLegalHold. Si le rôle dispose d’une déclaration d’autorisation s3:Get*, cette déclaration répond à l’exigence. Pour plus d’informations, consultez Utilisation du verrouillage d’objet avec la réplication S3.

Java

Pour ajouter une configuration de réplication à un compartiment, puis récupérer et vérifier la configuration à l’aide du kit AWS SDK pour Java, vous pouvez utiliser le S3Client pour gérer les paramètres de réplication par programmation.

Pour obtenir des exemples de configuration de la réplication avec le kit AWS SDK pour Java, Définition de la configuration de réplication sur un compartiment dans la Référence des API Amazon S3.

C#

L’exemple de code de AWS SDK pour .NET suivant ajoute une configuration de réplication à un compartiment, puis la récupère. Pour utiliser ce code, fournissez les noms de vos compartiments et l’Amazon Resource Name (ARN) de votre rôle IAM. Pour plus d’informations sur la configuration et l’exécution des exemples de code, consultez Premiers pas avec le kit AWS SDK pour .NET dans le Guide du développeur AWS SDK pour .NET.

using Amazon; using Amazon.S3; using Amazon.S3.Model; using System; using System.Threading.Tasks; namespace Amazon.DocSamples.S3 { class CrossRegionReplicationTest { private const string sourceBucket = "*** source bucket ***"; // Bucket ARN example - arn:aws:s3:::destinationbucket private const string destinationBucketArn = "*** destination bucket ARN ***"; private const string roleArn = "*** IAM Role ARN ***"; // Specify your bucket region (an example region is shown). private static readonly RegionEndpoint sourceBucketRegion = RegionEndpoint.USWest2; private static IAmazonS3 s3Client; public static void Main() { s3Client = new AmazonS3Client(sourceBucketRegion); EnableReplicationAsync().Wait(); } static async Task EnableReplicationAsync() { try { ReplicationConfiguration replConfig = new ReplicationConfiguration { Role = roleArn, Rules = { new ReplicationRule { Prefix = "Tax", Status = ReplicationRuleStatus.Enabled, Destination = new ReplicationDestination { BucketArn = destinationBucketArn } } } }; PutBucketReplicationRequest putRequest = new PutBucketReplicationRequest { BucketName = sourceBucket, Configuration = replConfig }; PutBucketReplicationResponse putResponse = await s3Client.PutBucketReplicationAsync(putRequest); // Verify configuration by retrieving it. await RetrieveReplicationConfigurationAsync(s3Client); } catch (AmazonS3Exception e) { Console.WriteLine("Error encountered on server. Message:'{0}' when writing an object", e.Message); } catch (Exception e) { Console.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message); } } private static async Task RetrieveReplicationConfigurationAsync(IAmazonS3 client) { // Retrieve the configuration. GetBucketReplicationRequest getRequest = new GetBucketReplicationRequest { BucketName = sourceBucket }; GetBucketReplicationResponse getResponse = await client.GetBucketReplicationAsync(getRequest); // Print. Console.WriteLine("Printing replication configuration information..."); Console.WriteLine("Role ARN: {0}", getResponse.Configuration.Role); foreach (var rule in getResponse.Configuration.Rules) { Console.WriteLine("ID: {0}", rule.Id); Console.WriteLine("Prefix: {0}", rule.Prefix); Console.WriteLine("Status: {0}", rule.Status); } } } }