Tutoriel amazon-s3

Résumé de la documentation

À partir de http://docs.aws.amazon.com/AmazonS3/latest/dev/Welcome.html

Amazon Simple Storage Service est un stockage pour Internet. Il est conçu pour faciliter l’informatique à l’échelle du Web pour les développeurs.

Amazon S3 dispose d’une interface de services Web simple que vous pouvez utiliser pour stocker et récupérer n’importe quelle quantité de données, à tout moment, de n’importe où le net. Il permet à tout développeur d’accéder au même système hautement évolutif, infrastructure de stockage de données fiable, rapide et peu coûteuse qu’Amazon utilise pour gérer son propre réseau mondial de sites Web. Le service vise à maximiser les avantages d’échelle et répercuter ces avantages sur développeurs.

Prise en charge du langage et des scripts

S3 n’est pas un langage de développement en tant que tel, mais une plate-forme cloud qui prend en charge les demandes de services Web. Il existe un assortiment d’[outils et SDK] [outils et SDK] publiés par Amazon. Les SDK de langage fournissent un accès transparent à S3 en gérant des tâches telles que les demandes de services Web, l’authentification, la gestion de session, le renouvellement de jeton, etc. Il existe également des interfaces de ligne de commande pour [bash/windows/ios][aws cli] et [powershell][ powershell cli].

L’API S3

L’API des services Web S3 a été [prise en charge par des fournisseurs concurrents][concurrents]. Cette rubrique ne couvre pas actuellement l’API directement, donc les exemples ici ne seraient pas utiles pour créer des applications qui se connectent à des systèmes concurrents qui exploitent l’API S3.

Versions

Au 28 mars 2017, l’AWS CLI avait 174 versions, qui sont proprement documentées dans les [Notes de publication CLI][aws cli versions]. Amazon S3 a 66 versions, dont certaines doivent annoncer l’ajout d’une nouvelle région, et d’autres doivent ajouter des fonctionnalités. Celles-ci sont documentées dans les [Notes de publication S3][aws s3 versions].

Les exemples

En ce qui concerne les exemples présentés jusqu’à présent dans cette section “Mise en route”, Amazon S3 est utile aux développeurs pour les cas d’utilisation suivants :

  • Stockez ou sauvegardez des fichiers dans un système durable et performant, déchargeant ainsi cette tâche des architectures non cloud : systèmes de fichiers Linux et Windows. Il est coûteux de recréer les niveaux de durabilité et de performances de S3 à l’aide de serveurs sur site ou d’instances EC2.
  • Lorsque la bande passante du réseau est un problème, par exemple, dans les cas où plusieurs utilisateurs simultanés doivent télécharger des fichiers volumineux, le déplacement des données vers S3 peut être utilisé comme un moyen pour une application de *atténuer les pénuries de bande passante vers un centre de données ou un serveur sur site *. Il s’agit d’un moyen de distribuer un grand référentiel de code, des images de machines virtuelles, des vidéos ou des programmes d’installation de logiciels. Les temps de téléchargement des utilisateurs et les temps de téléchargement des utilisateurs peuvent être améliorés. [Pour des performances supplémentaires dans les scénarios de très grande base d’utilisateurs, un système de diffusion de contenu tel que cloudfront peut être utilisé pour mettre en cache les fichiers plus près des utilisateurs.]
  • Votre application doit créer ou consommer un gros fichier et vous avez besoin d’un moyen d’autoriser les utilisateurs à y accéder ou à le déposer.
  • La distribution de votre application est très importante et vous devez la partager avec les utilisateurs.
  • Vous créez un pipeline de livraison continue et, par exemple, vous hébergez des parties de votre site Web sur Amazon S3.

À ce stade, les exemples ne montrent pas comment effectuer les opérations suivantes :

  • Les exemples, bien que plus rapides et plus clairs que la saisie de « aws s3 help », ne mentionnent pas certaines des commandes couvertes par l’aide, telles que « aws s3 website ».
  • Comment partager ou restreindre l’accès des utilisateurs. Sans restriction explicite, les exemples ne fonctionneraient que pour les utilisateurs partageant le même compte AWS.
  • Comment sécuriser les données via le cryptage. Notez qu’AWS positionne S3 comme ayant un niveau de sécurité plus élevé que les données stockées dans EC2. [Meilleures pratiques de sécurité AWS, août 2016, p. 27][meilleures pratiques]

Sécurité

AWS recommande de considérer S3 comme une plate-forme sécurisée :

Sauf si vous avez des exigences commerciales ou de conformité plus strictes, vous n’avez pas besoin d’introduire des couches de protection supplémentaires au-delà de celles fournies par l’infrastructure mondiale sécurisée AWS. [ibid. p.2][meilleures pratiques]

Dans leur [guide de sécurité][meilleures pratiques], AWS recommande d’utiliser l’authentification AWS comme étant adaptée à S3. [ibid. p. 27][meilleures pratiques]

De plus, S3 fournit un chiffrement côté serveur ou un chiffrement côté client. Le chiffrement côté client est fourni de manière transparente par le kit AWS Java SDK ; les clés n’ont pas besoin d’être stockées sur AWS. [ibid. p. 28][meilleures pratiques]

[aws cli] : https://aws.amazon.com/cli/ “interface de ligne de commande AWS”

[powershell cli] : https://aws.amazon.com/powershell/ “Interface AWS PowerShell”

[meilleures pratiques] : https://d0.awsstatic.com/whitepapers/Security/AWS_Security_Best_Practices.pdf “meilleures pratiques de sécurité”

[versions aws cli] : https://aws.amazon.com/releasenotes/CLI “versions cli”

[versions aws S3] : https://aws.amazon.com/releasenotes/Amazon-S3 “versions s3”

[outils et sdks] : https://aws.amazon.com/tools/ “outils et sdks”

[concurrents] : https://en.wikipedia.org/wiki/Amazon_S3#S3_API_and_competing_services “services concurrents”