99.9% sur un an. Les objets sont enregistrés dans des dossiers (buckets dans le langage AWS) et associés à des clés uniques. Il est possible de préciser la région dans laquelle vous souhaitez stocker un bucket. Chaque élément peut avoir une taille de 1 octet à 5 Go. Les protocoles supportés sont SOAP, REST requests avec support SSL, ou encore bit torrent. Les objets stockés sur S3 peuvent avoir une visibilité publique ou privée, auquel cas des permissions par utilisateur peuvent être définies. Cependant un utilisateur doit avoir un compte client AMAZON.
Il s’agit d’un service web qui fait office de middleware typé MOM. Fonctionnant sans logiciel particulier, ni configuration de pare-feu à mettre en place, SQS peut être utilisé indépendamment d’EC2 et n’importe quel ordinateur relié à Internet pour poster ou lire des messages. SQS ne garantit pas que les messages soient publiés selon une logique FIFO puisque lorsqu’un message est lu, il devient invisible pendant une certaine durée (visibility timeout).
Les messages peuvent contenir jusqu’à 8Ko de texte et sont conservés au maximum pendant 4 jours. Aucune limite n’est imposée que ce soit sur le nombre de files de messages ou sur le nombre de messages qu’elles contiennent.
Il s’agit d’un web service qui permet de surveiller les ressources déployées sur l’infrastructure AMAZON. CloudWatch introduit la notion de namespace pour définir les catégories de ressources que l’on supervise. Il y a aujourd’hui trois namespaces différents puisqu’il est en effet possible d’avoir des informations sur les instances EC2 mais aussi le service de Load balancing (Elastic Load Balancing) ainsi que RDS. En fonction du type de ressources que l’on supervise, les données (appelées metrics dans la terminologie AWS) sont différentes. Par exemple le monitoring sur des instances EC2 fournira des indications sur le trafic réseau, ce qui n’est pas possible avec RDS qui pourra en revanche nous informer sur le nombre de connexions à la base ou encore l’espace disque disponible. Dans la suite du document, nous nous sommes focalisés sur les instances EC2
CloudWatch n’effectue pas seulement de l’agrégation de données ; il calcule aussi des statistiques, ce qui permet d’avoir des moyennes, des sommes ou bien des valeurs minimum et maximum déterminées pour des fenêtres temporelles – au minimum une minute.
Concernant les instances EC2, l’activation de CloudWatch ne doit pas se faire obligatoirement au lancement de la machine, mais elle peut avoir lieu plus tard.
En terme d’utilisation, CloudWatch propose une API très simple ListMetrics pour connaître la liste des données qui sont actuellement agrégées et GetMetricStatistics. Cette dernière fonction propose de filtrer les résultats selon des critères tels que l’ami-id ou encore la configuration matérielle de l’instance.
L’utilisation de CloudWatch seul a un rôle informatif mais une fois associé à AutoScaling, il permet de répondre au problème de scalabilité.
Ce service permet de modifier selon certaines conditions, le nombre d’instances EC2 en exécution. Il est possible d’augmenter la taille d’un groupe d’instances EC2 pour répondre à un pic de charge ou au contraire de diminuer le parc en exécution dans le cas d’une baisse de trafic.
AutoScaling introduit trois concepts : trigger, autoscalingGroup et launchConfiguration.
Voici comment mettre en place l'auto-scaling (exemple avec l'AMI : 0992b97d)
L'arrêt d'un groupe d'instances contrôlées par autoScaling, se fait de la manière suivante :
L'usage des services AMAZON peut se faire de plusieurs manières puisqu'ils reposent sur des web-services. Tous les services détaillés dans l'article : EC2, EBS, S3, SQS, RDS, AutoScaling et CloudWatch sont accessibles par des web-services SOAP et REST. On trouve donc des outils en ligne des commandes, des consoles web ou encore des plugins pour ECLIPSE et FIREFOX.
Le tableau suivant ne se veut pas exhaustif, mais recense néanmoins un certain nombre de possibilités. Il est à noter que seules les librairies JAVA sont listées bien qu'ils en existent pour divers autres langages tels que PHP, RUBY, ou encore .Net.
Nom de l’outil | Catégories | Service ciblé | Description |
AWS Management Console | Interface Web | EC2, EBS, S3, RDS, CloudWatch, ElasticLoadBalancing, CloudFront, ElasticMapReduce, sécurité (clés, groupes d’utilisateurs …) | La console Web est l’outil le plus complet pour une gestion des services AWS au travers d’une interface graphique. Elle permet notamment d’obtenir des graphiques CloudWatch pour suivre l’activité des instances EC2.<br><br>Elle est cependant assez lourde d’où une certaine lenteur. |
EC2 api tool | Lignes de commandes | EC2, EBS | |
EC2 AMI tool | Lignes de commandes | Création et gestion des AMI | |
CloudWatch api tools | Lignes de commandes | CloudWatch | |
AutoScaling api tools | Lignes de commandes | AutoScaling | |
AWS JAVA SDK | SDK java | EC2, S3, RDS, SQS, CloudWatch, AutoScaling, SNS, ElasticMapReduce, ElasticLoadBalancing, Simple DB | Le SDK contient avant tout une librairie JAVA dont le périmètre couvre de nombreux services AWS. De plus, le SDK contient des exemples. Point négatif : pas de repository MAVEN. |
AWS Toolkit for Eclipse | Plugin Eclipse | EC2, EBS, AMI, SimpleDB | Le plugin ECLIPSE inclut la librairie AWS JAVA du SDK. Il permet donc de créer des projets utilisant les services AMAZON. En outre, le plugin permet de gérer les instances EC2 depuis l’IDE : lancement et arrêt d'instances EC2 mais aussi création de volumes EBS. Enfin, le debug est facilité puisqu’il est possible de déployer une application web sur une instance EC2. L’instance peut être basée sur une AMI par défaut comportant un TOMCAT ou bien une AMI spécifique avec un autre conteneur d’applications. |
Typica | Librairie java | EC2, SQS, Simple DB, DevPay | Accessible depuis un repository MAVEN |
jetS3t | Librairie java | S3, CloudFront | Accessible depuis un repository MAVEN |
Elastic Fox | Plugin Firefox | EC2, EBS, AMI, VirtualPrivateCloud | Permet d’accéder aux fonctionnalités de VirtualPrivateCloud et VPN qui ne sont pas dans la console de management AWS. |
S3 Fox | Plugin Firefox | S3 | Permet de créer des buckets et de copier, déplacer, effacer des éléments depuis ou vers des buckets.<br><br>Léger et assez rapide. |