Table des matières
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
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.
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
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é
