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 :
Lorsque la géo-réplication est activée, les Objects sont disponibles depuis les 2 URL API du service de Stockage Objet. Voir #objectstoragearchitecture-authentification.
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 :
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
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é.
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
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 :
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 :
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) :
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 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 est une alternative à AWS CLI. Client performant pour des opérations sur l'API S3 et sur les systèmes de fichiers locaux.
Nous recommandons d'utiliser le SDK officiel d'AWS :
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 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.
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.
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 :
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.
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.
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.
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.
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.
Les noms d'objets doivent être compatibles avec le format des URL web.
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.
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.
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
Si vous souhaitez limiter les accès réseau à un Bucket, vous devrez créer une politique de gestion de Bucket en utilisant la condition suivante aws:SourceIp
.
Nous utilisons les utilitaires aws s3 et aws s3api issues du client S3 AWSCLIv2 sur Linux.${S3_ENDPOINT}
et ${S3_PROFILE}
sont des variables d'environnement.
Créez un fichier et insérez votre politique de gestion au format JSON :
La politique ci-dessus aura pour effet :
de refuser toutes opérations dont l'adresse IP source n'appartient pas aux réseaux 10.0.0.0/8 et 192.168.0.0/16
Modifiez <bucket>
par le nom de votre Bucket.
Pour une documentation complète sur les politiques de gestion des Buckets, veuillez vous référer à Politiques de Buckets.
Le service de Stockage d'Objets de cegedim.cloud est un service dit "S3 compatible". Certaines fonctionnalités spécifiques d'AWS S3 ne sont pas supportées.
Avec la condition aws:SourceIp
, prend en charge des adresses IPV4 ou des plages d'adresses IPV4. Les adresses en IPV6 ne sont pas supportées.
Lorsque aws:SourceIp
est un réseau complet (ex: 10.0.0.0), il faut indiquer le masque de sous réseau au format CIDR (Classless Inter-Domain Routing).
Exemple:
10.0.0.0/8
192.168.0.0/16
10.45.2.0/24
Lorsque aws:SourceIp
est une adresse IP (ex: 98.2.3.123), il ne faut pas indiquer le masque de sous réseau au format CIDR (Classless Inter-Domain Routing).
Exemples:
98.2.3.123
192.168.1.23
10.45.2.67
Appliquez la politique sur votre Bucket :
Vérifiez si la politique est correctement définie :
Par défaut, le service de Stockage Objet cegedim.cloud ne fournit pas de capacités de sauvegarde. Cela signifie que si vous supprimez accidentellement un objet, il n'est pas possible de le restaurer.
Le versionnage consiste à conserver plusieurs versions d'un objet dans le même Bucket. Vous pouvez utiliser la fonctionnalité S3 Versioning pour préserver, récupérer et restaurer chaque version de chaque objet stocké dans votre Bucket.
Grâce à la gestion des versions, vous pouvez vous même restaurer facilement vos objets suite à des actions involontaires d'utilisateurs ou d'applications défaillantes.
Les Buckets dont la gestion des versions est activée peuvent vous aider à récupérer des objets après une suppression ou un écrasement accidentel. Par exemple, si vous supprimez un objet, un marqueur de suppression est créé au lieu de le supprimer définitivement.
Le marqueur de suppression devient la version actuelle de l'objet. Si vous écrasez un objet, il en résulte une nouvelle version de l'objet dans le Bucket.
Par défaut, le versionnage S3 est désactivé sur les Buckets et vous devez l'activer explicitement. Pour gérer les versions de Bucket et d'objet, vous pouvez utiliser le client AWS CLI ou tout autre outil compatible avec l'API AWS S3.
Vous serez facturé pour l'espace utilisé par l'ensemble des versions d'un objet.
Le nombre maximum de version conseillé pour un objet et de 50 000. Il est déconseillé d'aller au-delà de ce seuil.
Vous pouvez utiliser une configuration de cycle de vie pour supprimer les versions de vos objets : #vider-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
Si la gestion des versions n'a jamais été défini sur un Bucket, il n'a pas d'état de versionnage. L'utilisation de la CLI AWS aws s3api , get-bucket-versioning
, ne renvoie rien :
Pour un Bucket avec le versionnage activé :
Pour un Bucket avec versionnage suspendu :
Une fois que le versionnage est activé sur un Bucket, il ne peut plus être supprimé. Mais vous avez la possibilité de la suspendre.
Vous pouvez utiliser la fonction list-object-versions
de la commande s3api à partir de l'AWSCLI :
Pour obtenir une version spécifique d'un objet en utilisant get-object
et --version-id
<Version ID>
Un marqueur de suppression **(DeleteMarker)
**d'un objet, a également un identifiant de version, vous pouvez le supprimer en utilisant son identifiant de version afin de restaurer votre objet.
Vous pouvez supprimer une version spécifique sur un objet. Si la version spécifiée n'est pas la version courante, la version spécifiée de l'objet est supprimée et aucun marqueur de suppression (DeleteMarker)
n'est créé.
Les Object users sont des utilisateurs pouvant effectuer des opérations sur le service de Stockage Objet de cegedim.cloud, en utilisant l'API S3.
Un Object user est représenté par :
une access key
une secret key
Lorsque vous créez un Object Store, un Object User est automatiquement créé, avec le label "Inital S3 user".
Dans la page détaillée de votre Object Store, cliquez sur le bouton "Add User".
Saisissez un "Label" pour identifier facilement ce nouvel Object User, puis cliquez sur le bouton "Submit" :
Une fois l'Object User créé, une fenêtre pop-up apparaît, affichant ses Access Key
et Secret Key
.
Vous pouvez fermer cette pop-up une fois que vous avez enregistré vos informations d'identification.
L'Object User nouvellement créé est affiché dans l'onglet User:
Si vous changez le secret d'un Object User, toutes les applications ou clients utilisant cette secret key, obtiendront une erreur de type 401 Unauthorized Error
.
Le changement d'une secret key peut prendre quelques minutes pour se propager sur l'ensemble des sites du service de Stockage Objet de cegedim.cloud.
Vous avez la possibilité de spécifier une "période", en secondes, pendant laquelle, l'ancienne et la nouvelle secret key sont valides et acceptées par le service de Stockage Objet de cegedim.cloud.
À la fin de cette période, l'ancienne clé secrète est invalidée.
Une fois l'action soumise, un popup apparait, affichant la nouvelle secret key.
Vous pouvez fermer cette pop-up une fois que vous avez enregistré vos informations d'identification.
Il n'est pas possible de restaurer un Object User supprimé.
Vous pouvez modifier le label d'un Object User en utilisant le bouton :
Vous pouvez verrouiller ou déverrouiller un Object User en utilisant le bouton :
Un Object User verrouillé est identifié par un cadenas fermé situé à gauche du label et ne peut effectuer aucune opération sur l'API S3.
Vous pouvez à tout moment modifier la secret key d'un Object User en cliquant sur le bouton .
Vous pouvez supprimer un Object User en cliquant sur le bouton .