Notes sur AWS
Régions et zones
Une régions est une zone géographique majeure (USA, France etc). Une région contient ensuite plusieurs zone de disponibilité (availability zones) pour paleir à un risque sur site.
IAM
Identity Access Management permet de gérer les utilisateurs, groupes, rôles, politiques, accès temporaires etc
Il est possible de brancher l'IAM sur un autre système de fédération d'identité (AD, Facebook, etc).
IAM est utilisable dans de nombreux services AWS. IAM est global, et ne dépend donc pas d'une région spécifique (contrairement à d'autres services).
IAM permet de gérer:
- Les utilisateurs (users)
- Les groupes (groups)
- Les rôles (roles)
- Les politiques (via des policy documents en JSON)
IAM permet aussi de définir notre propre règle de sécurité sur les mots de passe.
Amazon recommande très fortement la double authentification (MFA) pour le compte “root” (compte principal).
CloudWatch
Permet de surveiller l'ensemble des services déployés via AWS, via de nombreuses métriques qui sont centralisées dans CloudWatch. Il est possible de créer des alertes/notifications, y compris sur la facturation (vue comme des métriques).
Stockage AWS
Il y a plusieurs services de stockage:
- S3 (Simple Storage Service)
- Cloudfront
- Glacier
S3
S3 est un stockage objet. Les objets peuvent aller de 0 à 5 To. La volumétrie peut être illimitée. Ce n'est pas du stockage bloc donc uniquement pour stocker des fichiers.
Le stockage objet consiste en une clef (ie identifiant du fichier) + une valeur (ie contenu du fichier). Sur S3, un objet concerne :
- une clef (nom)
- une valeur (données)
- un ID de version (souvent pour la gestion interne)
- des métadonnées (propriétaire, permissions?)
- des sous ressources
- ACL
- Torrent ?
Il est accessible partout depuis le web. Les fichiers sont stockés dans des buckets (sauts) qui fournit un namespace unique (dans l'URL).
S3 assure une consistence dès l'écriture d'un nouveau fichier. Par contre, elle n'est pas assurée lors d'une mise à jour ou suppression, en partie à cause des délais de réplication et de cache.
S3 a été conçu pour 99.99% de disponibilité mais Amazon garantit 99,9%.
Amazon annonce 99,999999999% (11×9) pour la sécurisation des fichiers (presque impossible de perdre un fichier).
Des ACL sont gérées pour chaque objet. Il y a aussi possibilité d'avoir une politique sur le saut (bucket policy).
Il est possible de chiffrer les données, de gérer leur cycle de vie. Les objets sont aussi versionnés.
S3 propose aussi plusieurs niveaux de “qualité” de stockage:
- S3 - Standard : Peut supporter la perte de 2 sites
- S3 - IA (Infrequently Accessed) : Avec un temps d'accès assez rapide, moins cher que S3 Standard, mais un coût à la récupération
- S3 One Zone - IA : Encore moins cher pour les fichiers avec accès peu fréquent, ne nécessitant qu'une zone de disponibilité
- Glacier : Dédié à l'archivage. Accès très peu fréquent, peu cher mais avec frais sur les IO
Les coûts:
- au stockage
- aux requêtes
- aux metadata de gestion
- Transfert
- Transfert plus rapide (utilisation de cloudfront avec du cache dans les edge locations)
S3 peut gérer du versionning sur chaque fichier modifié. Attention à l'augmentation de volumétrie si les fichiers changent souvent. Depuis l'interface il est possible de voir toutes les versions, de revenir en arrière sur une suppression etc. Il est aussi possible d'activer le MFA delete pour éviter les suppressions par erreur. Attention, le versionning une fois activé ne peut être complètement supprimé, il ne peut être que suspendu.
Il est possible d'intégrer des règles de gestion du cycle de vie des fichiers.
Depuis l'interface il est bien sûr possible de gérer les fichiers, d'en uploader etc et de jouer sur les permissions, ACL.
Il est possible de faire de la réplication. En choisissant un bucket dans une autre région. Les fichiers ne sont pas copier initialement, il faut déclencher la copie (par ex avec le CLI: aws s3 cp –recursive bucket1 bucket2). Les versions sont bien répliquées aussi. Attention le delete marker (pour supprimer) est répliqué aussi. Mais pas sa suppression. Idem pour la suppression d'une version spécifique.