====== Elastic Compute Cloud ======
----
===== EC2 instance =====
==== AMI : Amazon Machine Images ====
Instances EC2 pré configurées. Différentes sources :
* AWS
* customisé soit-même
* Market place
* AMIs communauté
==== Instance Types ====
Paramétrage de la VM pour CPU, mémoire, stockage, performance réseau ...
* General purpose : bon compromis de puissance, mémoire, capacité réseau. Convient à un large spectre d'utilisation.
* Compute optimised : pour puissance de calcul intensif.
* Memory optimised : pour performance de traitement de données en mémoire.
* Accelerated computing : pour accélération matérielle pour utilisation graphique et data pattern matching
* Storage optimized : faible latence pour les accès disque.
==== Purchase Options ====
=== On-demand instances ===
=== Spot Instances ===
Pour un besoin interruptible qui fonctionne quand le coût est optimal.
=== Reserved instances ===
Pour un besoin prévisible sur 1 à 3 ans pour un coût moindre
=== Scheduled instances ===
Pour une utilisation planifiée.
=== Capacity reservations ===
==== Tenancy ====
=== Shared tenancy ===
Le matériel est partagé avec d'autres clients.
=== Dedicated tenancy ===
Le matériel nous est dédié pour un coût plus élevé.
=== Dedicated host ===
Idem avec plus de possibilité de customisation.
==== User Data ====
Pour exécuter des commandes lors du premier démarrage de l'instance. Par exemple pour mettre à jour l'OS ou installer un logiciel depuis un dépôt.
==== Metadata ====
Rassemble les informations de l'instance qui s'exécute comme le hostname, security group, adresse MAC, adresse IP.\\
Accessible à l'adresse [[http://169.254.169.254/latest/meta-data]].
curl -w "\n" http://169.254.169.254/latest/meta-data
* ami-id
* ami-launch-index
* ami-manifest-path
* auth-identity-credentials/
* block-device-mapping/
* events/
* hostname
* identity-credentials/
* instance-action
* instance-id
* instance-life-cycle
* instance-type
* local-hostname
* local-ipv4
* mac
* metrics/
* network/
* placement/
* profile
* public-hostname
* public-ipv4
* public-keys/
* reservation-id
* security-groups
* services/
* system
=== @MAC ===
curl -w "\n" http://169.254.169.254/latest/meta-data/mac
=== @IP ===
curl -w "\n" http://169.254.169.254/latest/meta-data/local-ipv4
=== Clef publique ===
curl -w "\n" http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
==== Storage ====
=== Ephemeral ===
* Physiquement en local sur le serveur.
* Temporaire, perdu en cas d'arrêt ou de terminate. Conservé en cas de redémarrage.
=== EBS ===
* Stockage persistant
* Possibilité d'encrypter
* Possibilité de sauvegarder.
----
[[all:bibles:aws:presentation:2-compute|Haut de page]]
===== Auto Scaling =====
==== Groups ====
Your EC2 instances are organized into groups so that they can be treated as a logical unit for the purposes of scaling and management. When you create a group, you can specify its minimum, maximum, and desired number of EC2 instances.
==== Launch configurations ====
Your group uses a launch configuration as a template for its EC2 instances. When you create a launch configuration, you can specify information such as the AMI ID, instance type, key pair, security groups, and block device mapping for your instances.
==== Launch template ====
A launch template is similar to a launch configuration, in that it specifies instance configuration information. ... However, defining a launch template instead of a launch configuration allows you to have multiple versions of a template. With versioning, you can create a subset of the full set of parameters and then reuse it to create other templates or template versions.
Utiliser de préférence Launch template plutôt que Launch configuration.
=== Scaling policies ===
On peut augmenter ou diminuer le nombre d'instances selon plusieurs critères :
* charge CPU
* trafic réseau (entrant ou sortant)
* le nombre de requêtes application par instance
----
[[all:bibles:aws:presentation:2-compute|Haut de page]]
===== Load Balancer =====
==== Application ELB ====
* Intervient au niveau 7 (couche application)
* Possibilité de terminaison TLS
* Utilises listeners et règles pour déterminer le "target group" pour adresser le trafic.
* Cross-zone load balancing toujours activé
==== Network Load Balancer ====
* Intervient au niveau 4 (couche transport)
* Basé uniquement sur protocole TCP et UDP
* Haute performance avec faible latence
* Cross-zone load balancing peut être activé ou désactivé
==== Classic Load Balancer ====
* Utilisé pour les anciennes applications exécutées dans le réseau EC2-classic
----
[[all:bibles:aws:presentation:2-compute|Haut de page]]