Skip to main content
Une version plus récente de ce produit est disponible.
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Découvrez la réplication inter-grilles dans StorageGRID

La réplication inter-grilles est la réplication automatique d'objets entre des compartiments S3 sélectionnés dans deux systèmes StorageGRID connectés dans un "connexion de fédération de grille". "Clonage de compte" est requis pour la réplication inter-grilles.

Flux de travail pour la réplication inter-grilles

Le diagramme de flux de travail résume les étapes de configuration de la réplication inter-grilles entre les compartiments sur deux grilles.

Flux de travail de réplication inter-grilles

Exigences pour la réplication inter-grilles

Si un compte locataire dispose de l'autorisation Utiliser la connexion de fédération de grille pour utiliser une ou plusieurs "connexions de fédération de grille", un utilisateur locataire disposant d'une autorisation d'accès Root peut créer des compartiments dans les comptes locataires correspondants sur chaque grille. Ces compartiments :

  • Peuvent avoir des noms différents l'un de l'autre

  • Peut avoir différentes régions

  • La gestion des versions doit être activée

  • Doit être vide

Une fois les deux compartiments créés, la réplication inter-grilles peut être configurée pour l’un ou les deux compartiments.

Comment fonctionne la réplication inter-grilles

Vous pouvez configurer la réplication inter-grilles pour qu'elle s'effectue dans un seul sens ou dans les deux sens.

Réplication dans un seul sens

Si vous activez la réplication inter-grilles pour un compartiment sur une seule grille, les objets ajoutés à ce compartiment (le compartiment source) sont répliqués dans le compartiment correspondant sur l'autre grille (le compartiment de destination). Cependant, les objets ajoutés au compartiment de destination ne sont pas répliqués vers la source. Sur la figure, la réplication inter-grilles est activée pour my-bucket la grille 1 vers la grille 2, mais elle n'est pas activée dans l'autre sens.

image montrant la connexion de fédération de grille dans une direction

Réplication dans les deux sens

Si vous activez la réplication inter-grilles pour un même compartiment sur les deux grilles, les objets ajoutés à l’un des compartiments sont répliqués sur l’autre grille. Sur la figure, la réplication inter-grilles est activée pour my-bucket dans les deux sens.

image montrant la réplication dans une direction comparée à la réplication dans les deux directions

Que se passe-t-il lorsque des objets sont ingérés ?

Lorsqu'un client S3 ajoute un objet à un compartiment pour lequel la réplication inter-grilles est activée, le processus suivant se déroule :

  1. StorageGRID réplique automatiquement l'objet du compartiment source vers le compartiment de destination. Le temps nécessaire pour effectuer cette opération de réplication en arrière-plan dépend de plusieurs facteurs, notamment du nombre d'autres opérations de réplication en attente.

    Le client S3 peut vérifier l'état de réplication d'un objet en envoyant une requête GetObject ou HeadObject. La réponse inclut un en-tête de réponse spécifique à StorageGRID x-ntap-sg-cgr-replication-status, qui prend l'une des valeurs suivantes :

    Grid État de la réplication

    Source

    • TERMINÉ : La réplication a réussi pour toutes les connexions au grid.

    • EN ATTENTE : L’objet n’a pas été répliqué vers au moins une connexion grid.

    • ÉCHEC : Aucune réplication n'est en attente pour aucune connexion au grid et au moins une a échoué avec une défaillance permanente. Un utilisateur doit résoudre l'erreur.

    Destination

    REPLICA : L’objet a été répliqué à partir de la grille source.

    Remarque StorageGRID ne prend pas en charge l `x-amz-replication-status`en-tête.
  2. StorageGRID utilise les politiques ILM actives de chaque grille pour gérer les objets, comme n'importe quel autre objet. Par exemple, l'objet A sur la grille 1 peut être stocké sous forme de deux copies répliquées et conservé indéfiniment, tandis que la copie de l'objet A répliquée sur la grille 2 peut être stockée avec un code d'effacement 2+1 et supprimée après trois ans.

Que se passe-t-il lorsque des objets sont supprimés ?

Comme décrit dans "Supprimer le flux de données", StorageGRID peut supprimer un objet pour l'une des raisons suivantes :

  • Le client S3 émet une requête de suppression.

  • Un utilisateur de Tenant Manager sélectionne l’"Supprimer les objets dans le compartiment"option pour supprimer tous les objets d’un compartiment.

  • Le compartiment possède une configuration de cycle de vie, qui expire.

  • La dernière période définie dans la règle ILM pour l'objet arrive à son terme, et aucun autre placement n'est spécifié.

Lorsqu'un objet StorageGRID est supprimé en raison d'une opération de suppression d'objets dans un compartiment, de l'expiration du cycle de vie du compartiment ou de l'expiration du placement ILM, l'objet répliqué n'est jamais supprimé de l'autre grille dans une connexion de fédération de grilles. Cependant, les marqueurs de suppression ajoutés au compartiment source par des suppressions effectuées par le client S3 peuvent, en option, être répliqués vers le compartiment de destination.

Pour comprendre ce qui se passe lorsqu'un client S3 supprime des objets d'un compartiment dont la réplication inter-grilles est activée, examinez comment les clients S3 suppriment des objets des compartiments dont le versionnage est activé, comme suit :

  • Si un client S3 émet une requête de suppression incluant un ID de version, cette version de l'objet est définitivement supprimée. Aucun marqueur de suppression n'est ajouté au compartiment.

  • Si un client S3 émet une requête de suppression sans inclure d'ID de version, StorageGRID ne supprime aucune version d'objet. À la place, il ajoute un marqueur de suppression au compartiment. Le marqueur de suppression fait en sorte que StorageGRID agisse comme si l'objet avait été supprimé :

    • Une requête GetObject sans identifiant de version échoue avec 404 No Object Found

    • Une requête GetObject avec un ID de version valide aboutit et renvoie la version de l'objet demandée.

Lorsqu'un client S3 supprime un objet d'un compartiment sur lequel la réplication inter-grilles est activée, StorageGRID détermine s'il faut répliquer la requête de suppression vers la destination, comme suit :

  • Si la requête de suppression inclut un identifiant de version, cette version de l'objet est définitivement supprimée de la grille source. Cependant, StorageGRID ne réplique pas les requêtes de suppression qui incluent un identifiant de version, de sorte que la même version de l'objet n'est pas supprimée de la destination.

  • Si la demande de suppression ne contient pas d'identifiant de version, StorageGRID peut éventuellement répliquer le marqueur de suppression, en fonction de la configuration de la réplication inter-grilles pour le compartiment :

    • Si vous choisissez de répliquer les marqueurs de suppression (option par défaut), un marqueur de suppression est ajouté au compartiment source et répliqué dans le compartiment de destination. En conséquence, l'objet apparaît comme supprimé sur les deux grilles.

    • Si vous choisissez de ne pas répliquer les marqueurs de suppression, un marqueur de suppression est ajouté au compartiment source mais n'est pas répliqué dans le compartiment de destination. En conséquence, les objets supprimés sur la grille source ne sont pas supprimés sur la grille de destination.

Dans la figure, Répliquer les marqueurs de suppression était défini sur Oui lorsque "La réplication inter-grilles a été activée". Les requêtes de suppression pour le compartiment source qui incluent un ID de version ne suppriment pas les objets du compartiment de destination. Les requêtes de suppression pour le compartiment source qui n'incluent pas d'ID de version semblent supprimer les objets du compartiment de destination.

image montrant la suppression du client répliqué sur les deux grilles

Remarque Si vous souhaitez que les suppressions d'objets restent synchronisées entre les grilles, créez des "Configurations du cycle de vie S3" correspondants pour les compartiments sur les deux grilles.

Comment les objets chiffrés sont répliqués

Lorsque vous utilisez la réplication inter-grilles pour répliquer des objets entre des grilles, vous pouvez chiffrer des objets individuellement, utiliser le chiffrement par défaut du compartiment ou configurer le chiffrement à l'échelle de la grille. Vous pouvez ajouter, modifier ou supprimer les paramètres de chiffrement par défaut du compartiment ou de la grille avant ou après avoir activé la réplication inter-grilles pour un compartiment.

Pour chiffrer des objets individuels, vous pouvez utiliser SSE (chiffrement côté serveur avec des clés gérées par StorageGRID) lors de l'ajout des objets au compartiment source. Utilisez l' x-amz-server-side-encryption`en-tête de requête et spécifiez `AES256. Voir "Utilisez le chiffrement côté serveur".

Remarque L'utilisation de SSE-C (chiffrement côté serveur avec des clés fournies par le client) n'est pas prise en charge pour la réplication inter-grilles. L'opération d'ingestion échouera.

Pour utiliser le chiffrement par défaut pour un compartiment, utilisez une requête PutBucketEncryption et définissez le paramètre SSEAlgorithm sur AES256. Le chiffrement au niveau du compartiment s'applique à tous les objets ingérés sans l'en-tête de requête x-amz-server-side-encryption. Voir "Opérations sur les compartiments".

Pour utiliser le chiffrement au niveau du grid, définissez l’option Chiffrement des objets stockés sur AES-256. Le chiffrement au niveau du grid s’applique à tous les objets qui ne sont pas chiffrés au niveau du compartiment ou qui sont ingérés sans l’en-tête de requête x-amz-server-side-encryption. Voir "Configurer les options de réseau et d'objet".

Remarque SSE ne prend pas en charge AES-128. Si l’option Chiffrement des objets stockés est activée pour la grille source avec l’option AES-128, l’utilisation de l’algorithme AES-128 n’est pas propagée à l’objet répliqué. À la place, l’objet répliqué utilise le paramètre de chiffrement par défaut du compartiment ou de la grille de destination, si disponible.

Pour déterminer comment chiffrer les objets sources, StorageGRID applique les règles suivantes :

  1. Utilisez l `x-amz-server-side-encryption`en-tête d'ingestion, s'il est présent.

  2. Si aucun en-tête d'ingestion n'est présent, utilisez le paramètre de chiffrement par défaut du compartiment, s'il est configuré.

  3. Si aucun paramètre de compartiment n'est configuré, utilisez le paramètre de chiffrement global de la grille, s'il est configuré.

  4. Si aucun paramètre global n'est présent, ne chiffrez pas l'objet source.

Pour déterminer comment chiffrer les objets répliqués, StorageGRID applique ces règles dans cet ordre :

  1. Utilisez le même chiffrement que l'objet source, sauf si cet objet utilise le chiffrement AES-128.

  2. Si l'objet source n'est pas chiffré ou s'il utilise AES-128, utilisez le paramètre de chiffrement par défaut du compartiment de destination, s'il est configuré.

  3. Si le compartiment de destination ne dispose pas d’un paramètre de chiffrement, utilisez le paramètre de chiffrement global de la grille de destination, s’il est configuré.

  4. Si aucun paramètre global n'est présent, ne chiffrez pas l'objet de destination.

Réplication inter-grilles avec S3 Object Lock

Vous pouvez configurer la réplication inter-grilles entre les compartiments StorageGRID avec le verrouillage d'objet S3 activé dans les circonstances suivantes.

Lorsque le verrouillage d'objet S3 sur le compartiment source est…​ Et le verrouillage d'objet S3 sur le compartiment de destination est…​

Activé

Activé

Désactivées

Activé

Lorsque le verrouillage d'objet S3 sur le compartiment source est activé :

  • Les objets sont verrouillés avec des paramètres de rétention à destination dans cet ordre :

    1. Les valeurs d'en-tête de rétention de l'objet source pour :

      x-amz-object-lock-mode

      x-amz-object-lock-retain-until-date

    2. Durée de rétention par défaut du compartiment source, si elle est définie.

    3. La durée de rétention par défaut du compartiment de destination, si elle est définie.

    La durée de rétention par défaut du compartiment de destination ne remplace pas les paramètres de rétention répliqués à partir de l'objet source.

  • Vous pouvez définir le statut de rétention légale de l'objet de destination en utilisant x-amz-object-lock-legal-hold lors du chargement de l'objet.

  • Une erreur se produit si le locataire ou le compartiment de destination ne prend pas en charge les paramètres de S3 Object Lock de l'objet source. Consultez "Alertes et erreurs de réplication inter-grilles."

Lorsque le verrouillage d'objet S3 sur le compartiment source est désactivé :

  • Vous pouvez configurer la rétention par défaut sur le compartiment de destination pour appliquer les paramètres de rétention S3 Object Lock à l'objet de destination.

  • L'objet de destination ne peut pas définir de statut de rétention légale.

PutObjectTagging et DeleteObjectTagging ne sont pas pris en charge

PutObjectTagging et DeleteObjectTagging ne sont pas prises en charge pour les objets dans des compartiments ayant la réplication inter-grilles activée.

Si un client S3 émet une requête PutObjectTagging ou DeleteObjectTagging, 501 Not Implemented est renvoyé. Le message est Put(Delete) ObjectTagging isn't available for buckets that have cross-grid replication configured.

PutObjectRetention et PutObjectLegalHold ne sont pas pris en charge

PutObjectRetention et PutObjectLegalHold ne sont pas entièrement prises en charge pour les objets dans des compartiments ayant la réplication inter-grilles activée.

Si un client S3 émet une requête PutObjectRetention ou une requête PutObjectLegalHold, les paramètres de l'objet source sont modifiés, mais les modifications ne sont pas appliquées à la destination.

Comment les objets segmentés sont répliqués

La taille maximale des segments de la grille source s'applique aux objets répliqués vers la grille de destination. Lorsque des objets sont répliqués vers une autre grille, le paramètre Taille maximale des segments (Configuration > Système > Options de stockage) de la grille source est utilisé sur les deux grilles. Par exemple, supposons que la taille maximale des segments de la grille source soit de 1 Go, tandis que la taille maximale des segments de la grille de destination soit de 50 Mo. Si vous ingérez un objet de 2 Go sur la grille source, cet objet est enregistré en deux segments de 1 Go. Il est également répliqué vers la grille de destination en deux segments de 1 Go, même si la taille maximale des segments de cette grille est de 50 Mo.