# Amazon Elastic Compute Cloud

Amazon Elastic Compute Cloud ou EC2 est un service proposé par Amazon permettant à des tiers de louer des serveurs sur lesquels exécuter leurs propres applications web. EC2 permet un déploiement extensible des applications en fournissant une interface web par laquelle un client peut créer des machines virtuelles, c'est-à-dire des instances du serveur, sur lesquelles le client peut charger n'importe quel logiciel de son choix. Un client peut créer, lancer, et arrêter des instances de serveurs en fonction de ses besoins, et paye en fonction du temps d'usage des serveurs, d'où le terme d'« Élastique » (Elastic en anglais). Un client peut mettre en place des instances de serveurs isolées physiquement (qui ne s'exécutent pas sur le même serveur physique) les unes des autres, de telle façon qu'en cas de panne, il soit possible de restaurer les instances défaillantes et d'assurer la continuité du service. Amazon fournit EC2 comme l'un de ses services webs commercialisés sous le terme Amazon Web Services (AWS). Ce service repose sur une infrastructure dite « de nuage » (cloud en anglais) composée de plusieurs dizaines de milliers de serveurs informatiques (estimés à 40 000 en octobre 2009 et plus de 1,3 million de serveurs en 2016) répartis sur plusieurs sites dans le monde.

## Historique

Amazon a annoncé une version beta limitée de EC2 le 25 août 2006. L'accès à EC2 a alors été organisé sur la base du premier arrivé, premier servi. Amazon a ajouté deux nouveaux types d'instances (Large et Extra-Large) le 16 octobre 2007. Le 29 mai 2008, deux types supplémentaires ont été ajoutés, High-CPU Medium et High-CPU Extra Large. Il y avait alors 12 types d'instances disponibles.
Amazon a ajouté trois nouvelles fonctionnalités le 27 mars 2008. Ces fonctionnalités incluent adresses IP statiques, zones de disponibilités, et choix par l'utilisateur du type de noyau. Amazon a ajouté Elastic Block Store (EBS) le 20 août 2008. Ceci permet du stockage permanent, une fonctionnalité basique qui manquait depuis que le système avait été introduit.
Amazon EC2 est considéré comme un produit mature depuis qu'il a quitté le label « beta » le 23 octobre 2008. Le même jour, Amazon a annoncé les fonctionnalités suivantes : un agrément de service pour EC2, Microsoft Windows en beta sur EC2, Microsoft SQL Server en beta sur EC2, des plans pour une console de gestion AWS, et des plans pour la gestion du balancement de charge, auto-extensibilité, et service de surveillance des « clouds ». Ces fonctionnalités ont été ajoutées le 18 mai 2009.

## Machines virtuelles

EC2 utilise la virtualisation Xen. Chaque machine virtuelle, appelée « instance », fonctionne comme un serveur virtuel privé. Amazon définit la taille des instances en se basant sur les « unités de calcul EC2 » - l'équivalent des capacités physiques du processeur. Une unité de calcul EC2 équivaut à 1,0-1,2 GHz Opteron ou Xeon de 2007. EC2 fournit notamment les types d'instances suivantes :

### Small Instance

    La petite instance (default) correspond à l'équivalent d'un système avec 1,7 GB de mémoire, 1 unité de calcul EC2 (1 cœur virtuel), 160 GB de stockage d'instance, plate-forme 32 bits

### Large Instance

    La grande instance correspond à l'équivalent d'un système avec 7,5 GB de mémoire, 4 unités de calcul EC2 (2 cœurs virtuels), 850 GB de stockage d'instance, plate-forme 64 bits.

### Extra Large Instance

    L'instance extra-large correspond à l'équivalent d'un système avec 15 GB de mémoire, 8 unités de calcul EC2 (4 cœurs virtuels), 1690 GB de stockage d'instance, plate-forme 64 bits.

### High-CPU Instance

    Les instances de cette famille ont proportionnellement plus de ressources processeurs que mémoire (RAM) et visent les applications qui demandent beaucoup de calculs.

### High-CPU Medium Instance

    Les instances de cette famille ont la configuration suivante:
   * 1,7 GB de mémoire
   * 5 unités de calcul EC2 (2 cœurs virtuels avec 2,5 unités de calcul EC2 chacune)
   * 350 GB de stockage
   * plate-forme 32 bits
   * I/O Performance : correcte

### High-CPU Extra Large Instance

    Les instances de cette famille ont la configuration suivante :
   * 7 GB de mémoire
   * 20 unités de calcul EC2 (8 cœurs virtuels avec 2,5 unités de calcul EC2 chacune)
   * 1690 GB de stockage
   * plateforme 64 bits
   * I/O Performance : haute

### High-Memory Extra Large

    Les instances de cette famille ont la configuration suivante :
   * 17,1 GB de mémoire
   * 6,5 unités de calcul EC2
   * 420 GB de stockage
   * plateforme 64 bits
   * I/O Performance : haute

### High-Memory Double Extra Large

    Les instances de cette famille ont la configuration suivante :
   * 34,2 GB de mémoire
   * 13 unités de calcul EC2
   * 850 GB de stockage
   * plateforme 64 bits
   * I/O Performance : haute

### High-Memory Quadruple Extra Large

    Les instances de cette famille ont la configuration suivante :
   * 68,4 GB de mémoire
   * 26 unités de calcul EC2
   * 1690 GB de stockage
   * plateforme 64 bits
   * I/O Performance : haute

## Fonctionnalités

Depuis son lancement Amazon Web Services a ajouté de nombreuses fonctionnalités ou services connexes à EC2 :

### Elastic Load Balancer

    Les ELB permettent de répartir la charge entre les instances EC2

### Autoscaling

    Permet de gérér automatiquement l'élasticité sur un ou plusieurs groupes d'instances EC2

### Cloud Watch

    Permet de suivre et monitorer des métriques des instances EC2 pour envoyer des notifications ou prendre des actions

### Cloudformation

    Permet de définir des ressources et des ordres de démarrage d'instance et de ressources EC2

### Virtual Private Cloud

    Permet de définir un cloud privé dans le cloud Amazon.