Qu'est-ce que la réplication inter-grid ?
La réplication inter-grid 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". "Clone de compte" est nécessaire pour la réplication entre les grilles.
Flux de production pour la réplication entre les grilles
Le diagramme de flux de travail résume les étapes de configuration de la réplication inter-grille entre les compartiments sur deux grilles.
Conditions requises pour la réplication entre les grilles
Si un compte de locataire dispose de l'autorisation utiliser la connexion de fédération de grille pour utiliser un ou plusieurs comptes "connexions de fédération de grille", Un utilisateur de tenant disposant de l'autorisation d'accès racine peut créer des compartiments identiques dans les comptes de tenant correspondants sur chaque grille. Ces compartiments :
-
Doit avoir le même nom et la même région
-
La gestion des versions doit être activée
-
Le verrouillage d'objet S3 doit être désactivé
-
Doit être vide
Une fois les deux compartiments créés, la réplication inter-grid peut être configurée pour l'un ou l'autre des compartiments, ou pour les deux.
Fonctionnement de la réplication entre les grilles
La réplication inter-grille peut être configurée pour se produire dans une direction ou dans les deux directions.
Réplication dans une direction
Si vous activez la réplication inter-grid pour un compartiment sur une seule grille, les objets ajoutés à ce compartiment (le compartiment source) sont répliqués dans le compartiment correspondant de l'autre grille (le compartiment de destination). Toutefois, les objets ajoutés au compartiment de destination ne sont pas répliqués à nouveau vers la source. Dans la figure, la réplication inter-grid est activée pour my-bucket
De la grille 1 à la grille 2, mais elle n'est pas activée dans l'autre sens.
Réplication dans les deux sens
Si vous activez la réplication inter-grid pour le même compartiment sur les deux grilles, les objets ajoutés à l'un des compartiments sont répliqués sur l'autre grille. Dans la figure, la réplication inter-grid est activée pour my-bucket
dans les deux sens.
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-grid est activée, les événements suivants se produisent :
-
StorageGRID réplique automatiquement l'objet depuis le 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, dont le 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 émettant une requête GET Object ou HEAD Object. La réponse inclut un élément spécifique à StorageGRID
x-ntap-sg-cgr-replication-status
En-tête de réponse, qui aura l'une des valeurs suivantes : le client S3 peut vérifier l'état de réplication d'un objet en émettant une requête GET Object ou HEAD Object. La réponse inclut un élément spécifique à StorageGRIDx-ntap-sg-cgr-replication-status
en-tête de réponse, qui aura l'une des valeurs suivantes :Grille État de la réplication Source
-
SUCCÈS : la réplication a réussi pour toutes les connexions de grille.
-
EN ATTENTE : l'objet n'a pas été répliqué vers au moins une connexion de grille.
-
ÉCHEC : la réplication n'est pas en attente pour une connexion de grille et au moins une a échoué avec une défaillance permanente. L'utilisateur doit résoudre l'erreur.
Destination
RÉPLIQUE : l'objet a été répliqué à partir de la grille source.
StorageGRID ne prend pas en charge le x-amz-replication-status
en-tête. -
-
StorageGRID utilise la règle ILM active de chaque grid 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é 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 demande de suppression.
-
Un utilisateur tenant Manager sélectionne le "Supprime les objets du compartiment" option permettant de supprimer tous les objets d'un compartiment.
-
Le compartiment dispose d'une configuration en cycle de vie, qui expire.
-
La dernière période de la règle ILM pour l'objet se termine et aucun autre placement n'est spécifié.
Lorsque StorageGRID supprime un objet en raison d'une opération de suppression d'objets dans un compartiment, d'expiration du cycle de vie du compartiment ou d'expiration du placement ILM, l'objet répliqué n'est jamais supprimé d'une autre grille d'une connexion de fédération de grid. Toutefois, les marqueurs de suppression ajoutés au compartiment source par les suppressions du client S3 peuvent éventuellement être répliqués dans le compartiment de destination.
Pour comprendre ce qui se passe lorsqu'un client S3 supprime des objets d'un compartiment dans lequel la réplication inter-grid est activée, vérifiez comment les clients S3 suppriment des objets des compartiments pour lesquels la gestion de version est activée, comme suit :
-
Si un client S3 émet une demande de suppression qui inclut un ID de version, cette version de l'objet est définitivement supprimée. Aucun marqueur de suppression n'est ajouté au godet.
-
Si un client S3 émet une demande de suppression qui n'inclut pas d'ID de version, StorageGRID ne supprime aucune version d'objet. Au lieu de cela, il ajoute un marqueur de suppression au godet. Avec le marqueur de suppression, StorageGRID agit comme si l'objet avait été supprimé :
-
Une demande GET sans ID de version échoue avec
404 No Object Found
-
Une demande GET avec un ID de version valide réussit et renvoie la version d'objet demandée.
-
Lorsqu'un client S3 supprime un objet d'un compartiment pour lequel la réplication inter-grid est activée, StorageGRID détermine s'il faut répliquer la demande de suppression vers la destination, comme suit :
-
Si la demande de suppression inclut un ID de version, cette version d'objet est définitivement supprimée de la grille source. Cependant, StorageGRID ne réplique pas les demandes de suppression qui incluent un ID de version, de sorte que la même version d'objet n'est pas supprimée de la destination.
-
Si la demande de suppression n'inclut pas d'ID de version, StorageGRID peut éventuellement répliquer le marqueur de suppression en fonction de la configuration de la réplication inter-grid pour le compartiment :
-
Si vous choisissez de répliquer les marqueurs de suppression (par défaut), un marqueur de suppression est ajouté au compartiment source et répliqué vers le compartiment de destination. En effet, l'objet semble être 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 il n'est pas répliqué vers le compartiment de destination. En effet, les objets supprimés de la grille source ne sont pas supprimés de la grille de destination.
-
Dans la figure, replicate delete marqueurs a été défini sur Yes quand "la réplication inter-grid a été activée". Les demandes de suppression du compartiment source qui incluent un ID de version ne supprimera pas les objets du compartiment de destination. Les demandes de suppression pour le compartiment source qui n'incluent pas d'ID de version apparaissent pour supprimer des objets dans le compartiment de destination.
|
Si vous souhaitez garder les suppressions d'objets synchronisées entre les grilles, créez les éléments correspondants "Configurations de cycle de vie S3" pour les compartiments des deux grilles. |
Mode de réplication des objets chiffrés
Lorsque vous répliquez les objets entre les grilles à l'aide de la réplication multigrille, vous pouvez chiffrer des objets individuels, utiliser le chiffrement de compartiment par défaut ou configurer le chiffrement au niveau de la grille. Vous pouvez ajouter, modifier ou supprimer les paramètres de chiffrement de compartiment ou de grille par défaut avant ou après l'activation de la réplication entre plusieurs 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 le x-amz-server-side-encryption
demandez l'en-tête et spécifiez AES256
. Voir "Utilisez le cryptage côté serveur".
|
L'utilisation de SSE-C (chiffrement côté serveur avec clés fournies par le client) n'est pas prise en charge pour la réplication inter-grille. L'opération d'acquisition échoue. |
Pour utiliser le chiffrement par défaut pour un compartiment, utilisez une demande DE chiffrement DE compartiment PUT et définissez le SSEAlgorithm
paramètre à AES256
. Le chiffrement au niveau du compartiment s'applique à tous les objets ingérés sans le x-amz-server-side-encryption
en-tête de demande. Voir "Opérations sur les compartiments".
Pour utiliser le cryptage au niveau de la grille, définissez l'option Stored object Encryption sur AES-256. Le chiffrement au niveau du grid s'applique aux objets qui ne sont pas chiffrés au niveau du compartiment ou qui sont ingérés sans le x-amz-server-side-encryption
en-tête de demande. Voir "Configurez les options réseau et objet".
|
SSE ne prend pas en charge AES-128. Si l'option Stored object Encryption est activée pour la grille source à l'aide de l'option AES-128, l'utilisation de l'algorithme AES-128 ne sera pas propagée à l'objet répliqué. À la place, l'objet répliqué utilisera le paramètre de chiffrement par défaut du compartiment ou de la grille de destination, le cas échéant. |
Lors de la détermination du mode de chiffrement des objets source, StorageGRID applique les règles suivantes :
-
Utilisez le
x-amz-server-side-encryption
récupérer l'en-tête, le cas échéant. -
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é.
-
Si aucun paramètre de compartiment n'est configuré, utilisez le paramètre de chiffrement au niveau de la grille, si celui-ci est configuré.
-
Si aucun paramètre de grille n'est présent, ne chiffrez pas l'objet source.
Pour déterminer comment chiffrer les objets répliqués, StorageGRID applique les règles suivantes dans l'ordre suivant :
-
Utilisez le même chiffrement que l'objet source, sauf si cet objet utilise le chiffrement AES-128.
-
Si l'objet source n'est pas chiffré ou utilise la norme AES-128, utilisez le paramètre de chiffrement par défaut du compartiment de destination, s'il est configuré.
-
Si le compartiment de destination ne possède pas de paramètre de chiffrement, utilisez le paramètre de chiffrement de la grille de destination, si celui-ci est configuré.
-
Si aucun paramètre de grille n'est présent, ne chiffrez pas l'objet de destination.
LE balisage PUT Object et le balisage DELETE Object ne sont pas pris en charge
LES demandes DE balisage ET de SUPPRESSION D'objets PUT ne sont pas prises en charge pour les objets situés dans des compartiments pour lesquels la réplication entre les grilles est activée.
Si un client S3 émet une requête DE balisage D'objets PUT ou DE SUPPRESSION d'objets, 501 Not Implemented
est renvoyé. Le message est Put(Delete) ObjectTagging is not available for buckets that have cross-grid replication configured
.
Comment les objets segmentés sont répliqués
La taille de segment maximale de la grille source s'applique aux objets répliqués sur la grille de destination. Lorsque des objets sont répliqués dans une autre grille, le paramètre taille de segment maximale (CONFIGURATION > système > Options de stockage) de la grille source sera utilisé sur les deux grilles. Par exemple, supposons que la taille de segment maximale de la grille source soit de 1 Go, alors que la taille de segment maximale de la grille de destination est de 50 Mo. Si vous ingérer un objet de 2 Go sur la grille source, cet objet est enregistré en tant que deux segments de 1 Go. Il sera également répliqué sur la grille de destination sous forme de deux segments de 1 Go, même si la taille maximale de segment de cette grille est de 50 Mo.