Définition de la classe de stockage d’un objet - Amazon Simple Storage Service

Définition de la classe de stockage d’un objet

Vous pouvez spécifier une classe de stockage pour un objet lorsque vous le chargez. Si vous ne le faites pas, Amazon S3 utilise la classe de stockage Amazon S3 Standard par défaut pour les objets dans les compartiments à usage général. Vous pouvez également remplacer la classe de stockage d’un objet déjà stocké dans un compartiment à usage général Amazon S3 par toute autre classe de stockage à l’aide de la console Amazon S3, des kits AWS SDK ou de l’AWS Command Line Interface (AWS CLI). Toutes ces approches utilisent les opérations d’API Amazon S3 pour envoyer des demandes à Amazon S3.

Note

Vous ne pouvez pas modifier la classe de stockage des objets stockés dans les compartiments de répertoires.

Vous pouvez indiquer à Amazon S3 de changer automatiquement la classe de stockage d’objets en ajoutant une configuration du cycle de vie S3 à un compartiment. Pour plus d’informations, consultez Gestion du cycle de vie des objets.

Lors de la définition d’une configuration de réplication S3, vous pouvez définir la classe de stockage pour les objets répliqués sur n’importe quelle autre classe de stockage. Cependant, vous ne pouvez pas répliquer des objets stockés dans les classes de stockage S3 Glacier Flexible Retrieval ou S3 Glacier Deep Archive. Pour plus d’informations, consultez Éléments du fichier de configuration de réplication.

Lorsque vous définissez la classe de stockage par programmation, vous fournissez la valeur de la classe de stockage. Voici la liste des noms de consoles pour les classes de stockage avec leurs valeurs d’API correspondantes :

  • Stockage à redondance réduite : REDUCED_REDUNDANCY

  • S3 Express One ZoneEXPRESS_ONEZONE

  • S3 Glacier Deep ArchiveDEEP_ARCHIVE

  • S3 Glacier Flexible RetrievalGLACIER

  • S3 Glacier Instant RetrievalGLACIER_IR

  • S3 Intelligent-TieringINTELLIGENT_TIERING

  • S3 One Zone-IAONEZONE_IA

  • S3 StandardSTANDARD

  • S3 Standard-IASTANDARD_IA

Définition de la classe de stockage d’un nouvel objet

Pour définir la classe de stockage lors du chargement d’un objet, vous pouvez utiliser les méthodes suivantes.

Pour définir la classe de stockage lors du chargement d’un nouvel objet dans la console :

  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon S3 à l’adresse https://console.aws.amazon.com/s3/.

  2. Dans le volet de navigation de gauche, choisissez Compartiments à usage général.

  3. Dans la liste de compartiments, choisissez le nom du compartiment dans lequel vous souhaitez charger vos dossiers ou fichiers.

  4. Choisissez Charger.

  5. Dans la fenêtre Charger, choisissez Propriétés.

  6. Sous Classe de stockage, choisissez une classe de stockage pour les fichiers que vous chargez.

  7. (Facultatif) Configurez toutes les propriétés supplémentaires pour les fichiers que vous chargez. Pour plus d’informations, consultez Chargement d’objets.

  8. Dans la fenêtre Charger, procédez de l’une des manières suivantes :

    • Faites glisser les fichiers et les dossiers dans la fenêtre Charger.

    • Choisissez Ajouter un fichier ou Ajouter un dossier, puis choisissez les fichiers ou les dossiers à charger et Ouvrir.

  9. Au bas de la page, choisissez Charger.

Vous pouvez spécifier la classe de stockage d’un objet lorsque vous le créez à l’aide des opérations d’API PutObject, POST Object ou CreateMultipartUpload, et ajoutez l’en-tête de demande x-amz-storage-class. Si vous n’ajoutez pas cet en-tête, Amazon S3 utilise la classe de stockage S3 Standard (STANDARD) par défaut.

Cet exemple de demande utilise la commande PutObject pour définir la classe de stockage d’un nouvel objet sur S3 Intelligent-Tiering :

PUT /my-image.jpg HTTP/1.1 Host: amzn-s3-demo-bucket1.s3.Region.amazonaws.com Date: Wed, 12 Oct 2009 17:50:00 GMT Authorization: authorization string Content-Type: image/jpeg Content-Length: 11434 Expect: 100-continue x-amz-storage-class: INTELLIGENT_TIERING

Cet exemple utilise la commande put-object pour charger le fichier my_images.tar.bz2 dans amzn-s3-demo-bucket1, dans la classe de stockage GLACIER  :

aws s3api put-object --bucket amzn-s3-demo-bucket1 --key dir-1/my_images.tar.bz2 --storage-class GLACIER --body my_images.tar.bz2

Si la taille de l’objet est supérieure à 5 Go, utilisez la commande suivante pour définir la classe de stockage :

aws s3 cp large_test_file s3://amzn-s3-demo-bucket1 --storage-class GLACIER

Modification de la classe de stockage d’un objet existant

Pour définir la classe de stockage lors du chargement d’un objet, vous pouvez utiliser les méthodes suivantes.

Vous pouvez changer la classe de stockage d’un objet à l’aide de la console Amazon S3 si la taille de l’objet est inférieure à 5 Go. Pour une taille supérieure, nous vous recommandons d’ajouter une configuration de cycle de vie S3 pour changer la classe de stockage de l’objet.

Pour modifier la classe de stockage d’un objet dans la console :

  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon S3 à l’adresse https://console.aws.amazon.com/s3/.

  2. Dans le volet de navigation de gauche, choisissez Compartiments à usage général.

  3. Dans la liste des compartiments, choisissez le nom du compartiment qui contient les objets que vous souhaitez modifier.

  4. Cochez la case située à gauche du nom des objets que vous souhaitez modifier.

  5. Dans le menu Actions, choisissez Modifier la classe de stockage à partir de la liste d’options qui s’affiche.

  6. Sélectionnez l’une des classes de stockage disponibles pour votre objet.

  7. Sous Paramètres de copie supplémentaires, choisissez Copie des paramètres source, Aucune spécification de paramètres ou Spécification des paramètres. L’option par défaut est Copie des paramètres source. Si vous souhaitez uniquement copier l’objet sans les attributs des paramètres source, choisissez Aucune spécification de paramètres. Choisissez Spécification des paramètres pour définir les paramètres de classe de stockage, de listes ACL, de balises d’objet, de métadonnées, de chiffrement côté serveur et de sommes de contrôle supplémentaires.

  8. En bas à droite, choisissez Enregistrer les modifications. Amazon S3 enregistre les modifications apportées.

Pour modifier la classe de stockage d’un objet existant, utilisez les méthodes suivantes.

Cet exemple de demande utilise la commande PutObject pour définir la classe de stockage d’un nouvel objet sur S3 Intelligent-Tiering :

PUT /my-image.jpg HTTP/1.1 Host: amzn-s3-demo-bucket1.s3.Region.amazonaws.com Date: Wed, 12 Oct 2009 17:50:00 GMT Authorization: authorization string Content-Type: image/jpeg Content-Length: 11434 Expect: 100-continue x-amz-storage-class: INTELLIGENT_TIERING

Cet exemple utilise la commande cp pour modifier la classe de stockage d’un objet existant de sa classe de stockage actuelle en classe de stockage DEEP_ARCHIVE  :

aws s3 cp object_S3_URI object_S3_URI --storage-class DEEP_ARCHIVE

Restriction des autorisations de stratégie d’accès à une classe de stockage spécifique

Lorsque vous accordez des autorisations de stratégie d’accès pour les opérations Amazon S3, vous pouvez utiliser la clé de condition s3:x-amz-storage-class pour restreindre la classe de stockage à utiliser lors du stockage des objets chargés. Par exemple, lorsque vous accordez l’autorisation s3:PutObject, vous pouvez restreindre les chargements d’objets à une classe de stockage spécifique. Pour un exemple de politique, consultez Exemple : Restreindre les chargements aux objets avec une classe de stockage spécifique.

Pour plus d’informations sur l’utilisation des conditions dans les politiques et une liste complète des clés de condition Amazon S3, consultez les rubriques suivantes :