Stockage Objet - Didacticiels
Premiers pas
Création d'un Object Store
Connectez-vous à ITCare et accéder à la section Stockage via le menu latéral gauche.
Cliquez sur Créer un espace de stockage.
Sélectionnez le Centre de données qui sera le site primaire de votre Object Store :
La géo-réplication ne peut pas être activée ou désactivée une fois que l'Object Store est créé.
Recherchez et sélectionnez un Service :
Entrez un nom pour votre Object Store (voir Limitations et bonnes pratiques).
Vous pouvez également définir un Quota. Le quota peut être modifié à tout moment après la création de l'Object Store.
Le nom de votre Object Store sera préfixé par " cos " + le nom du "cloud" auquel appartient le service global sélectionné :cos-<cloud>-<votre nom d'object-store>
Exemple: cos-cegedimit-hello
La dernière étape résume votre demande de création d'Object Store.
Vérifiez si les informations sont correctes et cliquez sur le bouton Submit pour lancer la création.
Une fois la création terminée (cela peut prendre quelques minutes), une pop-up apparaît, affichant vos informations d'identification et les endpoints disponibles pour votre Object Store :
Références
Nom d'utilisateur → votre access_key
Mot de passe → votre secret_key
Gardez votre secret_key en sécurité, elle ne sera plus affiché.
Vous avez la possibilité de régénérer une secret_key , voir Gérer des Objects Users
Endpoints
Si vous avez sélectionné un centre de données avec la géo-Réplication activée (étape 2), vous aurez deux endpoints, un pour chaque centre de données.
Si vous avez sélectionné un centre de données avec la géo-réplication désactivée (étape 2), vous n'aurez qu'un seul endpoints, correspondant au centre de données sélectionné.
Gérer un Object Store
Cette page présente des informations détaillées sur votre Object Store :
Le service global dont fait partie l'Object Store
Le centre de données où se trouve l'Object Store
Taille globale et nombre d'objets
Statut du quotas
La liste des Object Users
Vous avez également la possibilité de gérer :
Le quota
Les Object Users
Supprimer l'Object Store
Créer un Bucket
Vous avez créé votre Object Store, il est temps maintenant de créer un Bucket.
Nous utilisons les utilitaires aws s3 et aws s3api issues du client S3 AWSCLIv2 sur Linux.${S3_ENDPOINT}
& ${S3_PROFILE}
sont des variables d'environnement.
Utilisez la commande mb
pour créer un Bucket :
Lister les Buckets :
Uploader un Objet
Nous avons maintenant un Bucket, nous allons y charger des objets.
Nous utilisons les utilitaires aws s3 et aws s3api issues du client S3 AWSCLIv2 sur Linux.${S3_ENDPOINT}
& ${S3_PROFILE}
sont des variables d'environnement.
Utilisez la commande cp
pour téléchargez un objet :
Vous pouvez spécifier un préfixe lorsque vous téléchargez un objet dans un Bucket :
Gérer le quota d'un Object Store
Vous pouvez spécifier un quota sur votre Object Store afin de limiter l'espace utilisé.
Lorsque le quota est atteint, le téléchargement des objets dans un Bucket de l'Object Store est refusé.
Pour gérer les quotas, rendez-vous sur la page d'information détaillée de votre Object Store et cliquez sur le bouton Gestion du quota.
Vous pouvez définir un quota de 1 Go à 8 To.
Si vous avez besoin de plus de 8 To de Quota, veuillez contacter cegedim.cloud.
Une fois le Quota appliqué, vous pouvez suivre le statut du Quota sur la page d'information détaillée de votre Object Store :
Lorsque la limite du Quota est atteinte, le téléchargement est refusé (HTTP 403 Forbidden) :
Clients recommandés
S3Browser
S3Browser est un logiciel gratuit pour Windows (uniquement). Il offre des fonctionnalités de base avec la version gratuite. Pour les fonctionnalités avancées, il faut acquérir la version pro.
AWS CLI
AWS CLI est l'interface en ligne de commande officielle d'AWS (disponible Windows, Linux et MacOS). Il offre toutes les fonctionnalités et les meilleures performances pour être utilisé avec le service de Stockage Objet de cegedim.cloud.
S5cmd
s5cmd est une alternative à AWS CLI. Client performant pour des opérations sur l'API S3 et sur les systèmes de fichiers locaux.
Kit de développement logiciel (SDK)
Nous recommandons d'utiliser le SDK officiel d'AWS :
Résilience et PRA
Si vous utilisez un Object Store géo-répliqué, vos objets seront disponibles depuis des deux endpoints (voir: Endpoints) du service de de Stockage Objet de cegedim.cloud.
Une bonne pratique consiste à utiliser un client avec une capacité de bascule entre les deux endpoints pour:
Basculer automatiquement vers un autre endpoints lorsque le première est indisponible.
Aucune configuration nécessaire pour permettre le basculement de votre application vers un autre endpoints.
Vider un Bucket
Vider un Bucket est une opération irréversible
Les objets ou les Buckets supprimés ne peuvent pas être restaurés.
L'opération de suppression peut prendre un certain temps, en fonction du nombre d'objets et de versions stockés dans le Bucket.
Via le client S3
Vous pouvez utiliser n'importe quel client S3, comme AWS CLI, s3cmd ou s3browser.
Vous pouvez vider un Bucket à l'aide de ce type client uniquement si le versionnage n'est pas activé sur le Bucket (voir Utilisation de la gestion des versions dans un Bucket) .
Si le versionnage n'est pas activé, vous pouvez utiliser la commande rm (remove) avec l'option --recursive
pour vider le Bucket (ou supprimer un sous-ensemble d'objets avec un préfixe spécifique).
La commande suivante supprime les objets qui ont le préfixe doc
, doc/object-1
et doc/object-2
.
Utilisez la commande suivante pour supprimer tous les objets sans spécifier de préfixe.
Vous ne pouvez pas supprimer des objets dans Bucket où le versionnage est activé.
S3 ajoute un marqueur de suppression
(**DeleteMarker)
**lorsque vous supprimez un objet.
Voir Configuration de cycle de vie pour plus d'informations.
Vous ne pouvez pas supprimer des objets où Object Lock est activé, tant que le délai de rétention défini n'est pas atteint ou que la protection "Legal Hold" n'est pas levée.
Via une configuration de cycle de vie
Si vous utilisez une configuration de cycle de vie pour vider un Bucket, la configuration de cycle de vie doit inclure :
Vous pouvez ajouter des règles de configuration du cycle de vie pour supprimer tous les objets ou un sous-ensemble d'objets ayant un préfixe spécifique. Par exemple, pour supprimer tous les objets d'un Bucket, vous pouvez définir une règle de cycle de vie pour que les objets expirent 1 jour après leur création.
Si le versionnage est activé, vous pouvez également configurer la règle pour supprimer les version non courants de vos objets (non-current versions)
Pour vider complètement un Bucket où le versionnage est activé, vous devez configurer une configuration de cycle de vie pour les objets courant (current versions) et non courant (non-current versions) du Bucket.
Vous pouvez ajouter une configuration de cycle de vie sur le Bucket en utilisant AWS CLI ou un client avec interface graphique comme s3browser.
Pour plus d'informations, voir Configuration de cycle de vie
Ci-dessous quelques configurations de cycle de vie pour vider Bucket :
Limitations et bonnes pratiques
Object Stores
Limitations
Les règles suivantes s'appliquent au nom des Object Stores du service Stockage Objet de cegedim.cloud :
Le nombre de caractères du nom doit être compris entre 1 et 255 caractères.
Peut inclure un trait d'union (-) et des caractères alphanumériques ([a-zA-Z0-9]).
Évitez l'utilisation de caractères de soulignement (underscore) (_).
Évitez l'utilisation des majuscules.
Ne peut pas commencer par un point (.).
Ne peut pas contenir un double point (..).
Ne peut pas se terminer par un point (.).
Ne peut pas contenir d'espaces.
Ne doit pas être formaté comme une adresse IPv4.
Les noms des Object Stores doivent être uniques.
Bonnes Pratiques
Créer un Object Store par projet ou par application.
La géo-réplication ne peut pas être activée ou désactivée une fois l'Object Store créé.
Pour de meilleures performances, il est recommandé d'avoir moins de 1000 Buckets dans un seul Object Store.
Le nom d'un Object Store doivent être compatibles avec le format des URL web.
Buckets
Limitations
Les règles suivantes s'appliquent au nom des Buckets du service Stockage Objet de cegedim.cloud**:**
Le nombre de caractères doit être compris entre 3 et 255 caractères.
Peut inclure les caractères point (.), tiret (-) et caractères de soulignement (_) et les caractères alphanumériques ([a-zA-Z0-9]).
Évitez l'utilisation des majuscules..
Peut commencer par un trait d'union (-) ou un caractère alphanumérique.
Ne peut pas commencer par un point (.).
Ne peut pas contenir un double point (..).
Ne peut pas se terminer par un point (.).
Ne peut pas contenir d'espaces.
Ne doit pas être formaté comme une adresse IPv4.
Le nom d'un Bucket doivent être uniques au sein d'un Object Store.
Bonnes Pratiques
Utilisez les Buckets pour un environnement, un flux de travail ou des utilisations spécifiques. Par exemple : dev, test, finance, opérations, etc.
Dans un Object Store dont la Géo-replication est activée, créez des Buckets en utilisant le endpoint le plus proche (EB4 ou ET1) de l'application qui accède aux objets.
Il y a des opérations supplémentaires liés à la vérification de la dernière version d'un objet, si le site interrogé n'est pas le propriétaire de l'objet en question. Cela peut avoir un impact sur les performances.
Pour de meilleures performances, il est recommandé d'avoir moins de 1000 Buckets dans un seul Object Store.
Les noms des Buckets doivent être compatibles avec le format des URL web.
Objects
Limitations
Les règles suivantes s'appliquent à la dénomination des Objets dans la base de données de cegedim.cloud :
Ne peut pas être null ou une chaîne vide.
La longueur est comprise entre 1 et 255 (caractères Unicode).
Évitez d'utiliser l'espace.
Pas de validation sur les caractères.
Bonnes pratiques
Les noms d'objets doivent être compatibles avec le format des URL web.
Petits Objets vs Grands Objets
Cette section fournit des bonnes pratiques pour la manipulation d'objets de petite et de grande taille dans votre application. Il fournit également des informations sur les options de gestion version et les détails sur la compression.
Petits Objets
Un objet est considéré comme petit lorsqu'il a une taille inférieur à 100 Ko.
Le service Stockage Objet de cegedim.cloud a un mécanisme interne qui améliore la performance pour les écritures de données des objets de faible taille. Il agrège plusieurs objets de mis en file d'attente en mémoire, puis les écrit en une seule opération sur le disque, et cela jusqu'à 2 Mo de données.
Cela améliore les performances en réduisant le nombre d'allers-retours pour traiter les écritures individuelles au niveau du stockage.
Bien que le service Stockage Objet de cegedim.cloud dispose d'optimisations pour les écritures de faible volumétrie, si vous avez la possibilité, dans votre application de définir la taille d'un objet
choisissez alors une taille plus grande (par exemple 1 Mo plutôt que 64 Ko) ou une valeur qui s'aligne sur la norme du service Stockage Objet de cegedim.cloud de 2 Mo pour des raisons de performance.
Grands Objets
L'un des problèmes liés à la lecture et à l'écriture des objets de grande taille est la performance.
Le service Stockage Objet de cegedim.cloud fournit certaines fonctionnalités API pour réduire l'impact sur les performances des objets de grande taille, tels que les téléchargements "multipart". Voici quelques conseils pour mitiger certains des problèmes liés à l'accès aux objets volumineux :
Lorsque vous travaillez avec des objets volumineux (> 100 Mo), utilisez la fonction de téléchargement en plusieurs parties. Cela permet de mettre en pause et de reprendre les téléchargements pour les objets volumineux.
Pour des objet avec un taille inférieur à 1 Go, la taille du tampon interne étant de 2 Mo, utilisez un multiple de 2 Mo (par exemple 8 Mo).
Pour des objets de taille supérieur à 1 Go utilisez une taille de 128 Mo.
Le débit des performances peut être amélioré en parallélisant les téléchargements depuis votre application ou client.
Utilisez des API qui permettent un chargement et un téléchargement faciles, par exemple :
En Java, utilisez le
TransferManager
En .NET, utilisez
TransferUtility
Last updated