4 Par Gregoire Doumergue, ingénieur support international, Scality Le déferlement de données se poursuit, plus rapidement que jamais. Sauvegardes, flux de vidéosurveillance, vidéos, e-mails, fichiers, génomique… : la plupart de ces données sont non structurées. Les systèmes de stockage objet sont conçus pour ce type de données à l’échelle du pétaoctet. AWS étant devenu le premier service de cloud public, son service AWS S3 (Simple Storage Service) est devenu le plus important et le plus populaire de ce type. Scality propose le même stockage compatible S3, qui permet d’accéder aux données stockées et de les gérer via une interface conforme à S3. Examinons trois fonctionnalités du stockage compatible S3 de Scality. Le versioning des buckets simplifie la conservation, la récupération et la restauration Le versioning des buckets est une fonctionnalité clé de S3. Scality l’a implémenté de manière 100 % compatible avec les spécifications AWS. Lorsqu’un bucket est versionné, un même objet S3 peut avoir plusieurs payloads, chacun identifié par un ID de version. Cette version est attribuée par le cluster S3 à l’issue d’un upload réussi. Fondamentalement, le versioning des buckets permet de conserver plusieurs variantes d’un objet dans le même bucket. Cette fonctionnalité est utile pour conserver, récupérer et restaurer chaque version de chaque objet stocké dans vos buckets. Le versioning vous aide à vous remettre plus facilement des défaillances applicatives et des actions involontaires des utilisateurs. Lors d’une suppression, les objets d’un bucket versionné ne sont pas supprimés, mais masqués derrière une version particulière appelée DeleteMarker. Ce mécanisme évite la suppression accidentelle de données. Pour supprimer effectivement un payload, il faut fournir l’ID de la version de l’objet. Si vous devez vider un bucket versionné, les services techniques de Scality peuvent vous fournir un script python3, qui s’appuie sur la bibliothèque python boto3. Voici comment l’exécuter : $ ./bucket_clean.py –endpoint https://node –bucket buckettobedeletedare you sure? (y/N): y Lisez notre article sur la découverte des données dans des buckets existants pour en savoir plus. Object Lock, la clé du WORM S3 Object Lock est la fonctionnalité de S3 qui offre des capacités write-once-read-many (WORM). Comme pour le versioning des buckets, Scality l’a implémentée de manière 100 % compatible avec les spécifications AWS. Avec l’API d’AWS, les objets peuvent être stockés selon un modèle WORM. Vous pouvez l’utiliser pour empêcher la suppression ou l’écrasement d’un objet pendant une durée déterminée ou indéfiniment. Object Lock aide à respecter les réglementations qui exigent un stockage WORM, ou simplement à ajouter une couche de protection supplémentaire contre la modification et la suppression des objets. Object Lock nécessite quelques prérequis pour fonctionner. Tout d’abord, vous devez activer l’indicateur Object Lock lors de la création d’un bucket, et le versioning doit être activé sur ce bucket. En outre, Object Lock doit être activé sur un bucket pour pouvoir écrire une configuration de verrouillage à l’aide de l’API PUT Object Lock Configuration avec l’indicateur object lock activé. S3 propose plusieurs moyens de définir la configuration de verrouillage d’un objet. Les modes de rétention, dont les modes Governance et Compliance, maintiennent le verrou sur un objet jusqu’à l’expiration d’une période définie. Le mode Governance vous permet de déléguer à certains utilisateurs l’autorisation de contourner les paramètres de verrouillage. Seul le compte root ou un utilisateur disposant de l’autorisation s3:BypassGovernanceRetention peut envoyer une requête de suppression avec l’en-tête x-amz-bypass-governance-retention:true pour contourner le verrou et supprimer l’objet. Cela peut être utile pour protéger un fichier de sauvegarde contre une attaque par ransomware ou une suppression accidentelle. Le mode Governance sert aussi à tester les paramètres de période de rétention avant de créer une période de rétention en mode Compliance. Si vous placez un verrou sur un objet en mode Compliance, la version de l’objet ne peut être supprimée par aucun utilisateur avant l’expiration de la période de rétention. Cela inclut l’utilisateur root (identifiants du compte) ; aucun autre utilisateur ne peut non plus recevoir l’autorisation de contourner ces paramètres ou de supprimer la version. Suivre plus facilement l’utilisation du stockage avec UTAPI Abréviation d’Utilization API, UTAPI a été conçue à l’origine comme une application de mesure permettant aux clients Scality de suivre l’utilisation du stockage. Une API spécifique a été développée, car les services comparables d’AWS ne disposaient pas d’un ensemble complet de fonctionnalités répondant aux exigences de l’époque. La version 1 présentait certaines limites et certains problèmes. Les exigences ont changé : la conception initiale visait à gérer des buckets de l’ordre de quelques milliers. Des problèmes d’évolutivité sont apparus lorsque des centaines de milliers de buckets ont été créés et supprimés de manière aléatoire. La base de données clé-valeur (Redis) utilisée par UTAPI consommait beaucoup de CPU et de RAM en cas de forte utilisation. En outre, des métriques incorrectes étaient envoyées des API Cloudserver vers Redis, pour des raisons telles que : Des cas limites d’utilisation de l’API, comme l’écrasement d’objets, la suppression de buckets contenant des objets multipart upload incomplets, etc. Des bugs dans le réindexeur qui produisaient des métriques incorrectes, même après réindexation. Voici ce qui change avec la conception de la V2 : elle supprime Redis et introduit Warp10, une base de données de séries temporelles (TSDB) pour le stockage persistant des métriques. Le format de séries temporelles de Warp10 stocke efficacement les données, tant pour le stockage sur disque que pour leur récupération. Enfin, elle résout les problèmes d’évolutivité rencontrés en v1 lorsque des centaines de milliers de buckets sont créés et détruits sur la plateforme. Un stockage objet idéal Voici un rapide aperçu de trois fonctionnalités clés du S3 Connector de Scality. Nous proposons le S3 Connector pour RING comme la solution idéale pour les organisations qui ont besoin d’un modèle de déploiement sur site pour garder le contrôle de leurs données sensibles, optimiser les performances ou répondre à des exigences de sécurité ou de conformité. Scality continue d’améliorer l’interface RING Supervisor pour simplifier l’accès à ces fonctionnalités de buckets S3. Pour plus de détails, consultez cet article instructif qui répond à la question « qu’est-ce que le stockage compatible S3 ? »