Différences pour les compartiments de répertoires - Amazon Simple Storage Service

Différences pour les compartiments de répertoires

Lorsque vous utilisez Amazon S3, vous pouvez choisir le type de compartiment qui correspond le mieux à votre application et à vos exigences de performances. Un compartiment de répertoires est idéal pour les cas d’utilisation à faible latence. Vous pouvez créer un compartiment de répertoires dans une zone de disponibilité unique pour stocker des données. Vous pouvez créer jusqu’à 100 compartiments de répertoires dans chacun de vos comptes AWS, sans limite quant au nombre d’objets que vous pouvez stocker dans chaque compartiment. Votre quota de compartiments est appliqué à chaque région dans votre compte AWS. Si votre application nécessite d’augmenter cette limite, contactez AWS Support. Les compartiments de répertoires prennent en charge la classe de stockage S3 Express One Zone. La classe de stockage S3 Express One Zone est recommandée si votre application est sensible aux performances et peut bénéficier d’une latence inférieure à dix millisecondes pour les demandes PUT et GET. Pour en savoir plus sur la classe de stockage S3 Express One Zone, consultez S3 Express One Zone.

Pour plus d’informations sur les différences entre les compartiments de répertoires, consultez les rubriques suivantes.

Différences pour les compartiments de répertoires

  • Noms des compartiments de répertoires

    • Le nom d’un compartiment de répertoires se compose d’un nom de base que vous fournissez et d’un suffixe contenant l’ID de la zone (zone de disponibilité) dans laquelle se trouve votre compartiment. Les noms de compartiments de répertoires doivent utiliser un format spécifique et respecter les règles de dénomination des compartiments de répertoires. Pour obtenir une liste de règles et des exemples de noms de compartiments de répertoires, consultez Règles de dénomination des compartiments de répertoires.

  • Comportement de ListObjectsV2

    • Pour les compartiments de répertoires, ListObjectsV2 ne renvoie pas les objets par ordre lexicographique (alphabétique). De plus, les préfixes doivent se terminer par un délimiteur et seul « / » peut être spécifié comme délimiteur.

    • Pour les compartiments de répertoires, la réponse ListObjectsV2 inclut les préfixes liés uniquement aux chargements partitionnés en cours.

  • Comportement de suppression : lorsque vous supprimez un objet dans un compartiment de répertoires, Amazon S3 supprime de manière récursive tous les répertoires vides au niveau du chemin de l’objet. Par exemple, si vous supprimez la clé d’objet dir1/dir2/file1.txt, Amazon S3 supprime file1.txt. Si les répertoires dir1/ et dir2/ sont vides et ne contiennent aucun autre objet, Amazon S3 supprime également ces répertoires.

  • Balises d’entité et sommes de contrôle : les balises d’entité pour S3 Express One Zone sont des chaînes alphanumériques aléatoires spécifiques à chaque objet, et non pas des sommes de contrôle MD5. Pour plus d’informations sur l’utilisation de sommes de contrôle supplémentaires avec S3 Express One Zone, consultez Bonnes pratiques supplémentaires en matière de somme de contrôle S3.

  • Clés d’objet dans les demandes DeleteObjects

    • Les clés d’objet figurant dans les demandes DeleteObjects doivent contenir au moins un caractère autre qu’une espace. Les chaînes composées uniquement de caractères espace ne sont pas prises en charge dans les demandes DeleteObjects.

    • Les clés d’objet figurant dans les demandes DeleteObjects ne peuvent pas contenir de caractères de contrôle Unicode, à l’exception des caractères de saut de ligne (\n), de tabulation (\t) et de retour chariot (\r).

  • Points de terminaison régionaux et zonaux : les opérations d’API de gestion des compartiments de répertoires sont disponibles via un point de terminaison régional et sont appelées API de point de terminaison régional. CreateBucket et DeleteBucket sont des exemples d’opérations d’API de point de terminaison régional. Après avoir créé un compartiment de répertoires, vous pouvez utiliser les opérations d’API de point de terminaison zonal pour charger et gérer les objets dans votre compartiment de répertoires. Les opérations d’API de point de terminaison zonal sont disponibles via un point de terminaison zonal. PutObject et CopyObject sont des exemples d’opérations d’API de point de terminaison zonal. Lorsque vous utilisez des compartiments de répertoires, vous devez spécifier la région dans toutes les demandes. Pour les points de terminaison régionaux, vous spécifiez la région, par exemple s3express-control.us-west-2.amazonaws.com. Pour les points de terminaison zonaux, vous spécifiez à la fois la région et la zone de disponibilité, par exemple s3express-usw2-az1.us-west-2.amazonaws.com. Pour en savoir plus, consultez Points de terminaison d’API régionaux et zonaux des compartiments de répertoires.

  • Chargements partitionnés : vous pouvez charger et copier les objets volumineux stockés dans des compartiments de répertoires à l’aide du processus de chargement partitionné. Toutefois, voici quelques différences qui s’appliquent lors de l’utilisation du processus de chargement partitionné avec des objets stockés dans des compartiments de répertoires. Pour en savoir plus, consultez Utilisation du chargement partitionné avec les compartiments de répertoires.

    • La date de création de l’objet correspond à la date d’achèvement du chargement partitionné.

    • Les numéros de parties partitionnés doivent utiliser des numéros de parties consécutifs. Si vous essayez d’effectuer une demande de chargement partitionné avec des numéros de parties non consécutifs, Amazon S3 génère une erreur HTTP 400 (Bad Request).

    • L’initiateur d’un chargement partitionné ne peut abandonner la demande de chargement partitionné que s’il a obtenu une autorisation d’accès explicite à AbortMultipartUpload via l’autorisation s3express:CreateSession. Pour en savoir plus, consultez Autorisation des opérations d’API de point de terminaison régional avec IAM.

  • Vidage d’un compartiment de répertoires : la commande s3 rm via l’interface de ligne de commande AWS Command Line Interface, l’opération delete via Mountpoint et la case d’option Vider le compartiment via la AWS Management Console ne permettent pas de supprimer les chargements partitionnés en cours dans un compartiment de répertoires. Pour supprimer ces chargements partitionnés en cours, utilisez l’opération ListMultipartUploads afin d’afficher les chargements partitionnés en cours dans le compartiment et utilisez l’opération AbortMultipartUpload pour abandonner tous les chargements partitionnés en cours.

  • Chiffrement côté serveur

    • Pour les compartiments de répertoires, pour chiffrer vos données avec le chiffrement côté serveur, vous pouvez utiliser le chiffrement côté serveur avec des clés gérées par Amazon S3 (SSE-S3) (chiffrement défini par défaut) ou le chiffrement côté serveur avec des clés AWS Key Management Service (AWS KMS) (SSE-KMS). Nous recommandons que le chiffrement par défaut du compartiment utilise les configurations de chiffrement souhaitées et que vous ne remplaciez pas le chiffrement par défaut du compartiment dans vos demandes CreateSession ni dans vos demandes d’objets PUT. Les nouveaux objets seront ensuite automatiquement chiffrés avec les paramètres de chiffrement souhaités. Pour plus d’informations sur les comportements de remplacement du chiffrement dans les compartiments de répertoires, consultez Spécification du chiffrement côté serveur avec AWS KMS pour les nouveaux chargements d’objets.

    • Votre configuration SSE-KMS ne peut prendre en charge qu’une seule clé gérée par le client par compartiment de répertoires pendant toute la durée de vie du compartiment. La Clé gérée par AWS (aws/s3) n’est pas prise en charge. De même, après avoir spécifié une clé gérée par le client pour SSE-KMS, vous ne pouvez pas remplacer la clé gérée par le client pour la configuration SSE-KMS du compartiment.

      Vous pouvez identifier la clé gérée par le client que vous avez spécifiée pour la configuration SSE-KMS du compartiment de la manière suivante :

      • Effectuez une demande d’opération d’API HeadObject pour trouver la valeur de x-amz-server-side-encryption-aws-kms-key-id dans la réponse.

      Pour utiliser une nouvelle clé gérée par le client pour vos données, nous vous recommandons de copier vos objets existants dans un nouveau compartiment de répertoires avec une nouvelle clé gérée par le client.

    • Pour les opérations d’API de point de terminaison zonal (au niveau de l’objet), à l’exception de CopyObject et d’UploadPartCopy, vous authentifiez et autorisez les demandes via CreateSession pour une faible latence. Nous recommandons que le chiffrement par défaut du compartiment utilise la configuration de chiffrement souhaitée et que vous ne remplaciez pas le chiffrement par défaut du compartiment dans vos demandes CreateSession ni dans vos demandes d’objets PUT. Les nouveaux objets seront ensuite automatiquement chiffrés avec les paramètres de chiffrement souhaités. Pour chiffrer de nouveaux objets dans un compartiment de répertoires avec SSE-KMS, vous devez spécifier SSE-KMS comme configuration de chiffrement par défaut de ce compartiment avec une clé KMS (plus spécifiquement, une clé gérée par le client). Ensuite, lorsqu’une session sera créée pour les opérations de l’API de point de terminaison zonal, les nouveaux objets seront automatiquement chiffrés et déchiffrés avec les clés SSE-KMS et les clés de compartiment S3 pendant la session. Pour plus d’informations sur les comportements de remplacement du chiffrement dans les compartiments de répertoires, consultez Spécification du chiffrement côté serveur avec AWS KMS pour les nouveaux chargements d’objets.

    • Pour CopyObject, pour chiffrer de nouvelles copies d’objets dans un compartiment de répertoires avec SSE-KMS, vous devez spécifier SSE-KMS comme configuration de chiffrement par défaut de ce compartiment avec une clé KMS (plus spécifiquement, une clé gérée par le client). Ensuite, lorsque vous spécifierez les paramètres de chiffrement côté serveur pour les nouvelles copies d’objets avec SSE-KMS, vous devrez vous assurer que la clé de chiffrement est la clé gérée par le client que vous avez spécifiée pour la configuration de chiffrement par défaut du compartiment de répertoires. Pour UploadPartCopy, pour chiffrer de nouvelles copies de parties d’objets dans un compartiment de répertoires avec SSE-KMS, vous devez spécifier SSE-KMS comme configuration de chiffrement par défaut de ce compartiment avec une clé KMS (plus spécifiquement, une clé gérée par le client). Vous ne pouvez pas spécifier de paramètres de chiffrement côté serveur pour les nouvelles copies de parties d’objets avec SSE-KMS dans les en-têtes de demande UploadPartCopy. De même, les paramètres de chiffrement que vous fournissez dans la demande CreateMultipartUpload doivent correspondre à la configuration de chiffrement par défaut du compartiment de destination.

    • Les clés de compartiment S3 sont toujours activées pour les opérations GET et PUT dans un compartiment de répertoires et ne peuvent pas être désactivées. Les clés de compartiment S3 ne sont pas prises en charge lorsque vous copiez des objets chiffrés avec SSE-KMS depuis des compartiments à usage général vers des compartiments de répertoires, depuis des compartiments de répertoires vers des compartiments à usage général ou entre des compartiments de répertoires, par le biais de CopyObject, d’UploadPartCopy, de l’opération Copy dans les opérations par lot ou des tâches import. Dans ce cas, Amazon S3 appelle AWS KMS chaque fois qu’une demande de copie est faite par rapport à un objet chiffré KMS.

    • Lorsque vous spécifiez une clé AWS KMS gérée par le client pour le chiffrement dans votre compartiment de répertoires, utilisez uniquement l’ID ou l’ARN de la clé. Le format de l’alias de la clé KMS n’est pas pris en charge.

Opérations d’API prises en charge pour les compartiments de répertoires

La classe de stockage Amazon S3 Express One Zone prend en charge les opérations d’API de point de terminaison régional (niveau compartiment ou plan de contrôle) et zonal (niveau objet ou plan de données). Pour plus d’informations, consultez Mise en réseau des compartiments de répertoires et Points de terminaison et points de terminaison de VPC de passerelle.

Opérations d’API de point de terminaison régional

Les opérations d’API de point de terminaison régional suivantes sont prises en charge pour S3 Express One Zone :

Opérations d’API de point de terminaison zonal

Les opérations d’API de point de terminaison zonal suivantes sont prises en charge pour les compartiments de répertoires :

Fonctionnalités Amazon S3 non prises en charge par les compartiments de répertoires

Les fonctionnalités Amazon S3 suivantes ne sont pas prises en charge par S3 Express One Zone :

  • Politiques gérées par AWS

  • AWS PrivateLink pour S3

  • Sommes de contrôle MD5

  • Suppression de l’authentification multifacteur (MFA)

  • Verrouillage des objets S3

  • paiement par le demandeur

  • Autorisations d’accès S3

  • Points d’accès S3

  • Balises de compartiment

  • Métriques de demande Amazon CloudWatch

  • Notifications d’événements S3

  • Cycle de vie S3

  • Points d’accès multirégionaux S3

  • Points d’accès S3 Object Lambda

  • Gestion des versions S3

  • Inventaire S3

  • Réplication S3

  • Balises d’objet

  • S3 Select

  • Journaux d’accès de serveur

  • Hébergement de site Web statique

  • S3 Storage Lens

  • Groupes S3 Storage Lens

  • S3 Transfer Acceleration

  • Chiffrement double couche côté serveur avec des clés AWS Key Management Service (AWS KMS) (DSSE-KMS)

  • Chiffrement côté serveur avec clés fournies par le client (SSE-C)

  • Option permettant de copier les paramètres d’un compartiment existant lors de la création d’un compartiment dans la console Amazon S3

  • Messages d’erreur de refus d’accès améliorés (HTTP 403 Forbidden)