Upload
others
View
8
Download
1
Embed Size (px)
Citation preview
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Nicolas Guillaume, Software Development Engineer, AWS
31 Mai 2016
Amazon S3
Deep Dive
Plan
• Amazon S3, nos promesses et nos offres
• Comprenez votre stockage dans le cloud
• Gérez votre stockage avec Amazon S3 Lifecycle
• Bonne pratiques et optimisation de vos applications
avec Amazon S3
• Ingestion de données et migration vers le cloud
10 ans d’expérienceAmazon S3 lancé le 14 mars 2006
L'infrastructure AWS
Availability
Zone - AAvailability
Zone - B
Availability
Zone - C
Region
12 Régions
32 Availability Zones
Expansion continue
54 edge locations – 3 en France
AWS – Zones de disponibilité
AWS REGION
Amazon EFS
Fichier
Amazon EBS
Block
Amazon S3 Amazon Glacier
Objet
Transfert de données
AWS Direct
Connect
Import/Export
Snowball
ISV connectors Amazon Kinesis
Firehose
S3 transfert
accélération
AWS Storage
Gateway
Options de stockage sur AWS
Notre promesse aux utilisateurs en Standard
DurableConçu pour
99.999999999%
DisponibleConçu pour
99.99%
ÉlastiqueGo -> Eo
(milliards de Go)
SécuriséS3 a des certifications
comme SOC et PCI
Santé connectée
Philips HealthSuite digital stocke
et analyse 15Po de données
patients, avec une croissance de
1Po par mois.
Philips Healthcare
Synchronisation de
fichiers et partages
+
Stockage de fichiers
utilisateurs
Sauvegardes et archives
+
Plan de Reprise
d’Activité (PRA)
Archives longue durée
Des besoins variés
Standard
Données actives
$0.03 / Go / mois
$368 / To / an
Données archivées
$0.007 / Go / mois
$86 / To / an
Données rarement utilisées
$0.0125 / Go / mois
$153 / To / an
Standard - Infrequent Access Amazon Glacier
Classes de stockages disponibles sur Amazon S3
Prix indicatif sur la région Irlande an 31 mai 2016, voir http://aws.amazon.com/s3/pricing/
Conçu pour
99.999999999%
Conçu pour
99.9%
Durable DisponibleDébit identique à
Amazon S3 Standard
Haute performance
• Chiffrement côté serveur (SSE)
• Clés de chiffrement personnalisable
• Clés de chiffrement gérées par KMS
Sécurisé
• Lifecycle policies
• Objets versionnés
• Notifications par événements
• Métriques
Intégré
• Expérience utilisateur
inchangée
• Simple REST API
Facile à Utiliser
Stockage avec Standard Infrequent-Access (S-IA)
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Comprenez votre stockage dans le cloud et réduisez vos
coûts
• Identifiez les utilisations les plus
classiques
• Réduisez vos coûts• Quel préfixes ne sont pas souvent lus ?
• Comment les performances de mon
bucket sont-elles affectées ?
Comprenez votre stockage
• Aggrégation des logs d’accès Amazon S3
• Utilisez Amazon EMR avec Spark pour agréger les logs à grande échelle
Amazon S3
S3 Server
Access Logs
Amazon S3
Hive on Amazon EMRAmazon S3
Aggregation Aggregation result storage Aggregation result analysis
Persist prepared
datasets
Load prepared data
Pre-processed data storageAmazon Redshift
Comprenez votre stockage dans le cloud
1. Activez les logs
d’accès S3
2. Créez un
cluster EMR
3. Écrivez le code
pour agréger les
logs avec Spark
4. Envoyez votre
code dans EMR
5. Persistez les
résultats
intermédiaires
dans S3
7. Visualisez les
données
6. Persistez
le résultat
final dans S3
Amazon S3
S3 Server
Access Logs
Amazon S3
Hive on Amazon EMRAmazon S3
Aggregation Aggregation result storage Aggregation result analysis
Persist prepared
datasets
Load prepared data
Pre-processed data storageAmazon Redshift
• Lecture cohérente après écriture
• Performance des « List » améliorée
• Options pour la gestion d'erreurs
• Chiffrement dans Amazon S3 supporté
• Transparent pour les applications:
s3://
EMRFS vous aide a utiliser S3
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Gestion du cycle de vie de vos objets via Lifecycle.
• Automatisation
• Gestion des coûts
• Deux actions possibles : • Transition : archives dans Standard-IA ou
Amazon Glacier à un moment prédéterminé
• Expiration : supprime les objets à un moment
prédéterminé
• Permet de combiner plusieurs actions
• Différentes Policies pour différents
préfixesLifecycle policies
Lifecycle policies
• Nouveau objets créés dans Standard-IA
• Transition de Standard à Standard-IA
• Transition de Standard-IA à Amazon Glacier
• Expiration des objets
• Objets versionnés
Intégration : Management avec Lifecycle
Standard - Infrequent Access
Stockage dans Standard IA
Exemple de Lifecycle Policy
De Standard à Standard-IA après
30 jours
<LifecycleConfiguration>
<Rule>
<ID>sample-rule</ID>
<Prefix>documents/</Prefix>
<Status>Enabled</Status>
<Transition>
<Days>30</Days>
<StorageClass>STANDARD-IA</StorageClass>
</Transition>
<Transition>
<Days>365</Days>
<StorageClass>GLACIER</StorageClass>
</Transition>
</Rule>
</LifecycleConfiguration>
Stockage dans Standard IA
De Standard à Standard-IA après
30 jours
<LifecycleConfiguration>
<Rule>
<ID>sample-rule</ID>
<Prefix>documents/</Prefix>
<Status>Enabled</Status>
<Transition>
<Days>30</Days>
<StorageClass>STANDARD-IA</StorageClass>
</Transition>
<Transition>
<Days>365</Days>
<StorageClass>GLACIER</StorageClass>
</Transition>
</Rule>
</LifecycleConfiguration>
De Standard-IA à Glacier après 365 jours
Stockage dans Standard IA
Exemple de Lifecycle Policy
• Protège contre ré-écriture ou suppression
par accident
• Nouvelle version pour chaque upload
• Restauration d'objets supprimésVersioning
Bucket avec objets versionnés
Buckets
versionnés
Lifecycle
Policies
Corbeille
Suppression
automatique
Buckets versionnés + Lifecycle Policies
• Suppression de fichiers via delete
marker.
• Les delete marker sont gratuit.
• Suppression des delete marker améliore
les performances de liste.
• Lifecycle permet de supprimer les
anciennes versions d'un fichier
automatiquement après une période
pré-déterminée.
Expiration des delete
marker
Lifecycle expiration avec Buckets versionnés
Exemple de Lifecycle policy pour supprimer les objets versionnés
<LifecycleConfiguration>
<Rule>
...
<Expiration>
<Days>60</Days>
</Expiration>
<NoncurrentVersionExpiration>
<NoncurrentDays>30</NoncurrentDays>
</NoncurrentVersionExpiration>
</Rule>
</LifecycleConfiguration>
Dans un premier temps Lifecycle cache l'objet
apres 60 jours.
S3 Lifecycle supprimera automatiquement les
anciennes versions après 30 jours.
Lifecycle expiration avec Buckets versionnés
Exemple de configuration pour supprimer les versions précédentes uniquement.
Lifecycle supprime toutes
les anciennes versions
apres 30 jours.
<LifecycleConfiguration>
<Rule>
…
<NoncurrentVersionExpiration>
<NoncurrentDays>30</NoncurrentDays>
</NoncurrentVersionExpiration>
<Expiration>
<ExpiredObjectDeleteMarker>true</ExpiredObjectDeleteMarker>
</Expiration>
</Rule>
</LifecycleConfiguration>
Lifecycle supprime
automatiquement les deletes
markers qui ne sont pas
nécessaires.
Lifecycle expiration avec Bucket versionnés
• L'utilisation de Bucket Policies peut vous aider à limiter
les droits d’écriture
• Pour plus de sécurité utilisez MFA (multi-factor
authentication) delete, ceci demande à l'application :• d'utiliser un bucket versionné
• d’utiliser un header MFA pour supprimer un fichier définitivement
• MFA vous demande de combiner votre clés
d'authentification avec un code temporaire généré par
un second appareil.
Conseil : limitez les droits d’écriture
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Bonne pratiques
Optimisez vos applications pour
Amazon S3
• Augmentation de la bande passante
totale en parallélisant les PUTs.• Permet l'utilisation maximale du réseau
• Réduit l'impact des erreurs réseau
Upload en parallèle avec multipart uploads.
• Equilibrez entre taille des « parts »
et nombre de parts.• Beaucoup de petites « parts »
augmente l'impact du coût fixe par
requête
• Trop peu de « parts » ne permet pas de
bénéficier de toute la bande passante.
Si les « parts » sont très grandes, les
erreurs réseau peuvent réduire
l’efficacité du transfert
Choisir la bonne taille pour les « parts »
100Mo
50Mo
5Mo
• Un upload partiel n'est pas visible
lors d'un « LIST »
• Toutes les « parts » sont facturées
pour le stockage qu'elles
consomment même si le l'upload
n'est pas finalisé.
• Lifecycle Policy peut
automatiquement supprimer les
« parts » abandonnées après un
certains nombre de jours.
Incomplete multipart
upload expiration
Expiration des « parts » abandonnées
Exemple de Lifecycle policy
Annule les multipart
uploads incomplets sept
jours après initialisation.
<LifecycleConfiguration>
<Rule>
<ID>sample-rule</ID>
<Prefix>SomeKeyPrefix/</Prefix>
<Status>rule-status</Status>
<AbortIncompleteMultipartUpload>
<DaysAfterInitiation>7</DaysAfterInitiation>
</AbortIncompleteMultipartUpload>
</Rule>
</LifecycleConfiguration>
Expiration des « parts » abandonnées
• Utilisez range GETs pour paralléliser
vos downloads.
• Réduit l'impact des erreurs de
téléchargement
Parallélisez vos downloads
Un index secondaire peut vous
donner plus de flexibilité et de
meilleur performances.
Utilisez un index secondaire
• Utilisez les SDKs
• Type d'instance Amazon EC2• Accélération matériel AES-NI (cat /proc/cpuinfo)
• Trop de threads peut réduire les performance à
cause des limites réseaux
• Réutilisation de la même connexion pour
réduire le nombre de SSL Handshakes.
Optimisez vos performances avec SSL
<my_bucket>/2013_11_13-164533125.jpg<my_bucket>/2013_11_13-164533126.jpg<my_bucket>/2013_11_13-164533127.jpg<my_bucket>/2013_11_13-164533128.jpg<my_bucket>/2013_11_12-164533129.jpg<my_bucket>/2013_11_12-164533130.jpg<my_bucket>/2013_11_12-164533131.jpg<my_bucket>/2013_11_12-164533132.jpg<my_bucket>/2013_11_11-164533133.jpg<my_bucket>/2013_11_11-164533134.jpg<my_bucket>/2013_11_11-164533135.jpg<my_bucket>/2013_11_11-164533136.jpg
Introduisez une valeur aléatoire dans vos clés dès le début
Très important si vous avez plus de 100TPS sur votre bucket
Évitez d'utiliser une date comme préfixe
Pensez a un introduire un hash ou un timestamp inversé (ssmmhhddmmyy)
A éviter :
Distribuez les noms des clés
Partition Partition Partition Partition
Distribuez les noms des clés
1 2 43
Exemple de préfixe aléatoire :
<my_bucket>/521335461-2013_11_13.jpg<my_bucket>/465330151-2013_11_13.jpg<my_bucket>/987331160-2013_11_13.jpg<my_bucket>/465765461-2013_11_13.jpg<my_bucket>/125631151-2013_11_13.jpg<my_bucket>/934563160-2013_11_13.jpg<my_bucket>/532132341-2013_11_13.jpg<my_bucket>/565437681-2013_11_13.jpg<my_bucket>/234567460-2013_11_13.jpg<my_bucket>/456767561-2013_11_13.jpg<my_bucket>/345565651-2013_11_13.jpg<my_bucket>/431345660-2013_11_13.jpg
Distribuez les noms des clés
Partition Partition Partition Partition
Distribuez les noms des clés
a-1 h-2 i-4z-3
Stockez vos objets avec un hash• Ajoutez le nom original dans les metadata
• “deadmau5_mix.mp3”
0aa316fb000eae52921aab1b4697424958a53ad9
• Précédez les clés avec un hash court• 0aa3-deadmau5_mix.mp3
Inversez le nom• 3pm.xim_5uamdaed
Distribuez les noms des clés : solutions alternatives
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Bonne pratiques
Chiffrez vos données avec KMS
AWS Key Management Service
Gérez vos clefs de chiffrement avec KMS
• Utilise des HSM pour la durabilité
• Intégré avec les services AWS (Amazon EBS, Amazon S3,
Amazon Redshift)
• Contrôle fin sur les droits d’accès aux clefs
• Rotation des clefs automatique
• Hautement disponible et hautement sécurisé
• White-paper : « AWS Key Management Service
Cryptographic Details »
• https://d0.awsstatic.com/whitepapers/KMS-Cryptographic-Details.pdf
Données
en clairDonnées
chiffrées
Stockage des
données chiffrées
Clef données
chiffrée
Hardware/
software
Clef données
symétrique
Chiffrement avec KMS
Clef principale
Systèmes durcis et conçus pour que
personne ne puisse accéder aux clefs
principales
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Bonne pratiques
Ingestion des données Amazon S3
AWS Import/Export Snowball
• Dépasse les limites du réseau
• 50T a 80T par Snowball
AWS Storage Gateway
• Jusqu'a 120 MB/s upload vers le
cloud
• 10 Gb/s réseau pour VMware
Amazon Kinesis Firehose
• Permet l’ingestion de data streams
AWS Direct Connect
ISV connectors
S3 transfer acceleration
Solutions d'ingestion de données sur AWS
Aperçu de Import/Export Snowball
Etiquette e-ink
Boitier durci
pour des
impacts de 8,5G
Totalité des
données chiffrées
de bout en bout
50-80 To
Réseau 10G
Résistant à la pluie
et aux poussières
Boitier et
électronique
résistants aux
attaques
• Amazon S3 Standard-IA
• Utilisation de big data pour analyser les logs S3
• Gestion de votre stockage avec S3 Lifecycle
• Buckets versionnés pour S3
• Bonnes pratiques et optimisations
• Pour toutes questions venez nous rencontrer au booth
AWS
Conclusion
Merci