====== 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]]