Introduction à Amazon S3 : comment fonctionne le stockage d’objets dans le cloud

Amazon Simple Storage Service (S3) est un service de stockage dans le cloud très répandu, qui fait partie d’Amazon Web Services (AWS). Le stockage dans le cloud Amazon S3 offre une fiabilité, une flexibilité, une évolutivité et une accessibilité élevées. Le nombre d’objets et le volume de données stockés dans Amazon S3 sont illimités. Le stockage dans le cloud S3 est particulièrement intéressant pour les entreprises, car vous ne payez que ce que vous utilisez.

Cependant, la terminologie et la méthodologie peuvent être source de malentendus et de difficultés pour les nouveaux utilisateurs d’Amazon S3. Où sont stockées les données S3 ? Comment fonctionne le stockage dans le cloud Amazon S3 ? Cet article de blog explique les principaux concepts et le principe de fonctionnement du stockage dans le cloud Amazon S3.

Sauvegarde directe vers AWS S3 | NAKIVO

Sauvegarde directe vers AWS S3 | NAKIVO

Évitez les points de défaillance uniques grâce à une intégration simple à Amazon S3 et à des options d'immuabilité anti-ransomware. Fonctionnalités de hiérarchisation automatisée des sauvegardes et de récupération instantanée.

À propos du stockage Amazon S3

Amazon S3 a été le premier service cloud d’AWS, lancé en 2006. Depuis lors, la popularité de ce service de stockage n’a cessé de croître. Aujourd’hui, Amazon propose une large gamme d’autres services cloud, mais le stockage dans le cloud Amazon S3 reste le plus utilisé. Outre le stockage Amazon S3, AWS propose des volumes Amazon EBS pour EC2 et Amazon Drive. Ces trois services ont toutefois des utilisations et des objectifs différents.

EBS (Elastic Block Storage) Les volumes destinés aux instances EC2 (Elastic Compute Cloud) sont des disques virtuels pour les machines virtuelles hébergées dans le cloud Amazon. Comme son nom l’indique, EBS est un stockage en blocs dans le cloud qui correspond aux disques durs des ordinateurs physiques. Un système d’exploitation peut être installé sur un volume EBS attaché à une EC2 instance.

Amazon Drive (anciennement Amazon Cloud Drive) est l’équivalent de Google Drive et de Microsoft OneDrive. Amazon Drive propose une gamme de fonctionnalités plus restreinte que Amazon S3. Amazon Drive se positionne comme un service de stockage dans le cloud destiné à sauvergarder des photos et d’autres données utilisateur. Le stockage dans le cloud

Amazon S3 est un service de stockage orienté objet. Vous ne pouvez pas installer de système d’exploitation lorsque vous utilisez le stockage Amazon S3, car les données ne sont pas accessibles au niveau des blocs, comme le requiert un système d’exploitation. Si vous avez besoin de monter le stockage Amazon S3 en tant que lecteur réseau sur votre système d’exploitation, utilisez un système de fichiers en espace utilisateur. Consultez l’article de blog consacré à l’ montage du stockage dans le cloud S3 vers différents systèmes d’exploitation. Google Cloud est l’équivalent du stockage dans le cloud Amazon S3.

Concepts principaux d’Amazon S3

Si vous utilisez Amazon S3 pour la première fois, certains concepts peuvent vous paraître inhabituels et peu familiers. La méthodologie de stockage des données dans le cloud S3 diffère de celle utilisée sur les disques durs traditionnels, les disques SSD ou les baies de disques. Vous trouverez ci-dessous un aperçu des principaux concepts et technologies utilisés pour stocker et gérer les données dans le stockage dans le cloud Amazon S3.

Comment S3 stocke-t-il les fichiers ?

Comme expliqué ci-dessus, les données dans Amazon S3 sont stockées sous forme d’objets. Cette approche offre un stockage hautement évolutif dans le cloud. Les objets peuvent être situés sur différents disques physiques répartis dans un centre de données. Du matériel, des logiciels et des systèmes de fichiers distribués spécifiques sont utilisés dans les centres de données Amazon pour offrir une grande évolutivité. La redondance et la gestion des versions sont des fonctionnalités mises en œuvre grâce à l’approche de stockage en blocs. Lorsqu’un fichier est stocké dans Amazon S3 en tant qu’objet, il est stocké simultanément à plusieurs emplacements (par exemple sur des disques, dans des centres de données ou des zones de disponibilité) par défaut. Le service Amazon S3 vérifie régulièrement la cohérence des données en contrôlant les sommes de contrôle. Si une corruption des données est détectée, la récupération de l’objet est effectuée par l’utilisation des données redondantes. Les objets sont stockés dans des compartiments Amazon S3. Par défaut, les objets stockés dans Amazon S3 sont accessibles et gérables via l’interface Web.

Qu’est-ce que le stockage d’objets S3 ?

Le stockage d’objets est un type de stockage dans lequel les données sont stockées sous forme d’objets plutôt que de blocs. Ce concept est utile pour la sauvegardes, l’archivage et l’évolutivité des données dans des environnements à forte charge.

Objects Les objets constituent les entités fondamentales du stockage de données dans les compartiments Amazon S3. Un objet comporte trois composants principaux : le contenu de l’objet (données stockées dans l’objet, telles qu’un fichier ou un répertoire), l’identifiant unique de l’objet (ID) et les métadonnées. Les métadonnées sont stockées sous forme de paires clé-valeur et contiennent des informations telles que le nom, la taille, la date, les attributs de sécurité, le type de contenu et l’URL.

Chaque objet dispose d’une liste de contrôle d’accès (ACL) permettant de définir qui est autorisé à y accéder. Le stockage d’objets Amazon S3 vous permet d’éviter les goulots d’étranglement réseau pendant les heures de pointe, lorsque le trafic vers vos objets stockés sur le stockage dans le cloud S3 augmente considérablement. Amazon fournit une bande passante réseau flexible, mais facture l’accès réseau aux objets stockés. Le stockage d’objets est satisfaisant lorsqu’un grand nombre de clients doit accéder aux données (fréquence de lecture élevée). La recherche via les métadonnées est plus rapide dans le modèle de stockage d’objets.

Découvrez également les Chiffrement Amazon S3 qui peuvent vous aider à protéger les données stockées dans le stockage dans le cloud Amazon S3 et à renforcer la sécurité.Amazon S3 storage

Les compartiments (buckets)

A bucket constituent un conteneur logique fondamental dans lequel les données sont stockées au sein du stockage Amazon S3. Vous pouvez stocker une quantité infinie de données et un nombre illimité d’objets dans un compartiment. Chaque objet S3 est stocké dans un compartiment. La taille d’un objet stocké dans un compartiment est limitée à 5 To. Les compartiments servent à organiser l’espace de noms au plus haut niveau et sont utilisés pour le contrôle d’accès.

Clés

Un objet dispose d’une unique key après qu’il a été téléchargé dans un compartiment. Cette clé est une chaîne de caractères qui imite une hiérarchie de répertoires. Connaître la clé vous permet d’accéder à l’objet dans le compartiment. Un compartiment, une clé et un identifiant de version identifient un objet de manière unique. Par exemple, si le nom d’un compartiment est blog-bucket01 , si la région où se trouvent les centres de données stockant vos données est s3-eu-west-1 et si le nom de l’objet est test1.txt (un fichier texte), l’URL du fichier recherché, stocké en tant qu’objet dans le compartiment, est : https://blog-bucket01.s3-eu-west-1.amazonaws.com/test1.txt

Les autorisations doivent être configurées en modifiant les attributs des objets si vous souhaitez réaliser un partage avec d’autres utilisateurs. De même, vous pouvez créer un dossier TextFiles et y stocker le fichier texte :

https://blog-bucket01.s3-eu-west-1.amazonaws.com/TextFiles/test1.txt

Il existe deux types d’URL pouvant être utilisés :

  • bucketname.s3.amazonaws.com/objectname
  • s3.amazon.aws.com/bucketname/objectname

Régions AWS

Amazon dispose de centres de données dans différentes régions à travers le monde, notamment aux États-Unis, en Irlande, en Afrique du Sud, en Inde, au Japon, en Chine, en Corée, au Canada, en Allemagne, en Italie et en Grande-Bretagne. Vous pouvez sélectionner la région de votre choix lors de la création d’un compartiment. Il est recommandé de choisir la région la plus proche de vous ou de vos clients afin de bénéficier d’une latence réseau réduite ou de minimiser les coûts (car le prix du stockage des données varie selon la région). Les données stockées dans une région AWS donnée ne quittent jamais les centres de données de cette région tant que vous ne les migrez pas manuellement. Les régions AWS sont isolées les unes des autres afin d’assurer la tolérance aux pannes et la stabilité.

Chaque région contient des zones de disponibilité, qui sont des emplacements isolés au sein d’une région AWS. Au moins trois zones de disponibilité sont disponibles pour chaque région afin de prévenir les pannes causées par des catastrophes telles que les incendies, les typhons, les ouragans, les inondations, etc.

Le modèle de cohérence des données

Le contrôle de cohérence « lecture après écriture » est effectué pour les objets stockés dans le service de stockage Amazon S3. Amazon S3 réplique les données entre les serveurs et les centres de données au sein d’une région sélectionnée afin d’assurer une haute disponibilité. Après une requête PUT réussie, les données modifiées doivent être répliquées sur l’ensemble des serveurs. Ce processus peut prendre un certain temps. Dans ce cas, un utilisateur peut obtenir soit les anciennes données, soit les données mises à jour, mais en aucun cas des données corrompues. Cela vaut également pour les objets et les compartiments supprimés. Aucun verrouillage d’objet n’est effectué lorsque de nouveaux objets sont envoyés vers des compartiments S3. Si plusieurs requêtes PUT sont effectuées simultanément, c’est la dernière requête PUT qui prévaut. Vous pouvez créer votre propre application dotée d’un mécanisme de verrouillage compatible avec les objets stockés dans le service de stockage Amazon S3.

Fonctionnalités d’Amazon S3

Le concept de stockage basé sur les objets permet à Amazon de proposer des fonctionnalités utiles et une grande flexibilité pour le stockage et la gestion des données dans Amazon S3. Passons en revue ces fonctionnalités.

Gestion des versions

La gestion des versions d’objets vous permet de stocker plusieurs versions d’un objet dans un même compartiment. Cette fonctionnalité permet de protéger les objets stockés dans le service de stockage Amazon S3 contre toute modification, tout écrasement ou toute suppression accidentelle. Après avoir modifié ou supprimé un objet, vous pouvez restaurer l’une de ses versions précédentes. La gestion des versions est mise en œuvre grâce à l’approche de stockage par objets. Vous pouvez utiliser le gestion des versions à des fins d’archivage. La gestion des versions est désactivée par défaut.

Un identifiant de version est attribué à chaque objet S3, même si la gestion des versions n’est pas activée (dans ce cas, la valeur de l’identifiant de version est définie sur null). Si la gestion des versions est activée, une nouvelle valeur d’identifiant de version est attribuée à une nouvelle version de l’objet après l’écriture des modifications. La gestion des versions peut être activée au niveau du compartiment. La valeur de l’identifiant de version de la première version de l’objet reste inchangée. Lorsque vous supprimez un objet d’un compartiment S3 (avec le versionnage activé), le marqueur de suppression est appliqué à la dernière version de l’objet.

Versioning in Amazon S3 storage

Classes de stockage

Les classes de stockage Amazon S3 définissent l’objectif du stockage sélectionné pour la conservation des données. Une classe de stockage peut être définie au niveau de l’objet. Cependant, vous pouvez définir la classe de stockage par défaut pour les objets qui seront créés au niveau du compartiment.

S3 Standard est la classe de stockage par défaut. Cette classe correspond à un stockage de données « chaudes » et convient aux données fréquemment utilisées. Utilisez la classe de stockage Standard pour héberger des sites web, diffuser du contenu, développer des applications cloud, etc. Cette classe de stockage se caractérise par des coûts de stockage élevés, des coûts de restauration faibles et un accès rapide aux données.

S3 Standard-IA (accès peu fréquent) peut être utilisée pour stocker des données auxquelles on accède moins fréquemment qu’avec S3 Standard. S3 Standard-IA est optimisée pour une durée de stockage plus longue. La récupération des données stockées dans la classe de stockage S3 Standard-IA est facturée. De plus, tant dans S3 Standard que dans S3 Standard-IA , vous devez payer pour les requêtes sur les données (PUT, COPY, POST, LIST, GET, SELECT).

S3 One Zone-IA est conçue pour les données rarement consultées. Les données sont stockées dans une seule zone de disponibilité (contre trois zones de disponibilité pour S3 Standard), ce qui se traduit par un niveau de redondance et de résilience inférieur. Le niveau de disponibilité annoncé est de 99,5 %, soit un taux inférieur à celui des deux autres classes de stockage. S3 One Zone-IA présente des coûts de stockage moins élevés, mais des coûts de restauration plus élevés, et vous devez payer la récupération des données au Go. Vous pouvez envisager d’utiliser cette classe de stockage comme une solution économique pour stocker des données de type « copies de sauvegarde » ou des copies de données créées via la réplication interrégionale d’Amazon S3.

S3 Glacier ne permet pas d’accéder instantanément aux données stockées, contrairement aux autres classes de stockage. S3 Glacier peut être utilisé pour stocker des données en vue d’un archivage à long terme à moindre coût. Il n’y a aucune garantie de fonctionnement ininterrompu. Il faut compter entre quelques minutes et quelques heures pour récupérer les données. Vous pouvez transférer d’anciennes données depuis une classe de stockage supérieure (par exemple, depuis S3 Standard) vers S3 Glacier par l’intermédiaire des politiques de cycle de vie S3 et ainsi réduire vos coûts de stockage.

S3 Glacier Deep Archive est similaire à S3 Glacier, mais le délai de récupération des données est d’environ 12 à 48 heures. Son prix est inférieur à celui de S3 Glacier. La classe de stockage S3 Glacier Deep Archive peut être utilisée pour stocker les sauvegardes et les données d’archivage des entreprises soumises à des conditions à remplir en matière d’archivage des données (secteur financier, santé). Il s’agit d’une bonne alternative aux cartouches de bande.

S3 Intelligent-Tiering est une classe de stockage spéciale qui utilise d’autres classes de stockage. S3 Intelligent-Tiering est conçu pour effectuer une sélection automatique de la classe de stockage la plus adaptée au stockage des données lorsque vous ne savez pas à quelle fréquence vous devrez y accéder. Amazon S3 peut analyser les habitudes d’accès aux données lors de l’utilisation de S3 Intelligent-Tiering, puis stocker les objets dans l’une des deux classes de stockage sélectionnées (l’une pour les données fréquemment consultées et l’autre pour les données rarement consultées). Cette approche vous offre un rapport coût-efficacité optimal sans compromettre les performances.

Par exemple, si vous accédez à un objet stocké dans une classe de stockage destinée aux données rarement consultées, cet objet est automatiquement déplacé vers une classe de stockage destinée aux données fréquemment consultées. À l’inverse, si un objet n’a pas été consulté depuis longtemps, il est déplacé vers la classe de stockage destinée aux données rarement utilisées. Les objets peuvent se trouver dans le même compartiment et le changement de classe de stockage s’effectue au niveau de l’objet S3.

Storage classes in Amazon S3 cloud storage

Listes de contrôle d’accès

Une liste de contrôle d’accès (ACL) est une fonctionnalité permettant de gérer et de contrôler l’accès aux objets et aux compartiments. Les listes de contrôle d’accès sont des politiques basées sur les ressources qui sont associées à chaque compartiment et à chaque objet afin de définir les utilisateurs et les groupes disposant des autorisations nécessaires pour accéder au compartiment et à l’objet. Par défaut, le propriétaire de la ressource dispose d’un accès complet à un compartiment ou à un objet après la création de la ressource. Les autorisations d’accès au compartiment définissent qui peut accéder aux objets qu’il contient. Les autorisations d’accès aux objets définissent les utilisateurs autorisés à accéder aux objets ainsi que le type d’accès. Vous pouvez, par exemple, attribuer des autorisations en lecture seule à un utilisateur et des autorisations en lecture-écriture à un autre.

Liste complète des utilisateurs pouvant bénéficier d’autorisations (un utilisateur disposant d’autorisations est appelé « bénéficiaire ») :

Owner – un utilisateur qui crée un compartiment ou un objet.

Authenticated Users – tout utilisateur disposant d’un compte AWS.

All Users – tout utilisateur, y compris les utilisateurs anonymes (utilisateurs ne disposant pas d’un compte AWS).

User by Email/Id – un utilisateur spécifique disposant d’un compte AWS. L’adresse e-mail ou l’identifiant AWS de l’utilisateur doit être spécifié pour lui accorder l’accès.

Types d’autorisations disponibles :

Full Control – ce type d’autorisation fournit les autorisations Lecture, Écriture, Lecture (ACP) et Écriture ACP.

Read – permet de répertorier le contenu du compartiment lorsqu’elle est appliquée au niveau du compartiment. Permet de lire les données et les métadonnées de l’objet lorsqu’elle est appliquée au niveau de l’objet.

Write – ne peut être appliquée qu’au niveau du compartiment et permet de créer, supprimer et écraser n’importe quel objet du compartiment.

Read Permissions (READ ACP) – un utilisateur peut lire les autorisations pour l’objet ou le compartiment spécifié.

Write Permissions (WRITE ACP) – un utilisateur peut remplacer les autorisations pour l’objet ou le compartiment spécifié. Activer ce type d’autorisation pour un utilisateur revient à lui attribuer des autorisations de « Contrôle total », car il peut définir n’importe quelle autorisation pour son compte. Cette autorisation est disponible par défaut pour le propriétaire du compartiment.

S3 storage AWS - permissions and access control lists

Politiques de compartiment

Les politiques de compartiment sont des politiques de gestion des identités et des accès AWS basées sur les ressources, utilisées pour créer des règles conditionnelles visant à accorder des autorisations d’accès aux comptes et utilisateurs AWS lorsqu’ils accèdent à des compartiments et à des objets contenus dans ces derniers. Vous pouvez utiliser les politiques de compartiment pour définir des règles de sécurité pour plusieurs objets d’un même compartiment.

La politique de compartiment est définie sous la forme d’un fichier JSON. Le texte de configuration de la politique de compartiment doit respecter les conditions à remplir pour être valide. La politique de compartiment ne peut être associée qu’au niveau du compartiment et est héritée par tous les objets qu’il contient. Vous pouvez accorder l’accès aux utilisateurs se connectant depuis des adresses IP spécifiées, aux utilisateurs de comptes AWS spécifiés, etc.

Vous trouverez ci-dessous un exemple de politique accordant un accès complet à tous les utilisateurs d’un compte et un accès en lecture seule à chaque utilisateur d’un autre compte. {

  "Statement": [

    {

      "Effect": "Allow",

      "Principal": {

        "SGWS": "95381782731015222837"

      },

      "Action": "s3:*",

      "Resource": [

        "urn:sgws:s3:::blog-bucket01",

        "urn:sgws:s3:::blog-bucket01/*"

      ]

    },

    {

      "Effect": "Allow",

      "Principal": {

        "SGWS": "30284200178239526177"

      },

      "Action": "s3:GetObject",

      "Resource": "urn:sgws:s3:::blog-bucket01/shared/*"

    },

    {

      "Effect": "Allow",

      "Principal": {

        "SGWS": "30284200178239526177"

      },

      "Action": "s3:ListBucket",

      "Resource": "urn:sgws:s3:::blog-bucket01",

      "Condition": {

        "StringLike": {

          "s3:prefix": "shared/*"

        }

      }

    } 

  ]

}

Les utilisateurs peuvent accéder au stockage Amazon S3 par l’intermédiaire de clés d’accès (ID de clé d’accès et clé d’accès secrète) sans avoir à saisir de nom d’utilisateur ni de mot de passe. Cette approche permet de renforcer la sécurité et est utilisée pour créer des applications qui utilisent des API pour accéder au stockage dans le cloud Amazon S3.

API pour Amazon S3

Amazon fournit des interfaces de programmation d’applications (API) permettant d’accéder aux fonctionnalités de S3 et de développer vos propres applications destinées à fonctionner avec le stockage Amazon S3. Amazon propose des interfaces REST et SOAP. L’interface REST utilise des requêtes HTTP standard pour gérer les compartiments et les objets. L’API REST utilise des en-têtes HTTP standard. L’interface SOAP est une autre interface disponible. L’utilisation de SOAP sur HTTP est dépréciée, mais vous pouvez toujours utiliser SOAP sur HTTPS.

Le modèle de facturation

Amazon S3 propose un modèle de facturation « ne payez que ce que vous utilisez ». Il n’y a pas de forfait minimum : vous n’avez pas à payer pour un volume prédéterminé de stockage ni pour le trafic réseau. Il existe différentes catégories d’utilisation pour lesquelles vous devez payer :

Storage. Vous payez pour les objets stockés dans Amazon S3. Le montant à payer dépend de l’espace de stockage utilisé, de la durée de stockage des objets dans Amazon S3 (au cours du mois) et de la classe de stockage utilisée par les objets stockés.

Requests and data retrieval. Vous devez payer pour les requêtes effectuées afin de récupérer les données stockées dans le stockage dans le cloud Amazon S3.

Data transfer. Vous devez payer pour toute la bande passante utilisée (trafic entrant et sortant), à l’exception des données entrantes provenant d’Internet ; des données sortantes transférées vers des instances Amazon EC2 situées dans la même région AWS que le compartiment S3 source ; et des données sortantes d’un compartiment S3 vers CloudFront.

Management and replication. Vous devez payer pour l’utilisation des fonctionnalités de gestion du stockage telles que l’analyse et le marquage des objets. Amazon facture la réplication interrégionale et la réplication au sein d’une même région.

Utilisez Calculateur Amazon S3 pour estimer vos paiements.

Essayez NAKIVO Backup & Replication

Essayez NAKIVO Backup & Replication

Profitez d'un essai gratuit pour découvrir toutes les fonctionnalités de protection des données de la solution. 15 jours gratuits. Aucune restriction en termes de fonctionnalités ou de capacité. Aucune carte bancaire requise.

Les gens qui ont consulté cet article ont également lu