cours
Qu'est-ce qu'une instance EC2 ? Premiers pas avec les serveurs cloud AWS
Le cloud computing est l'un des aspects les plus importants de l'informatique moderne, car il diminue considérablement l'investissement en composants matériels, ce qui le rend non seulement plus rentable, mais aussi plus sûr et plus fiable que les méthodes traditionnelles.
En 2006, EC2 a été lancé par AWS pour permettre aux utilisateurs de louer des ordinateurs virtuels dans le cloud. Ce lancement est un élément clé de la mission plus large d'AWS qui consiste à fournir des solutions évolutives, rentables et flexibles pour réduire la complexité et le coût de l'informatique pour les entreprises. Elle a fait une grande différence dans la manière dont les entreprises déploient et adaptent leurs applications.
Si, après avoir lu cet article, vous êtes intéressé par les services de base d'AWS, comme je le suis, suivez notre cours AWS Concepts, qui est très complet.
Qu'est-ce qu'une instance EC2 ?
Une instance EC2, également connue sous le nom d'Elastic Compute Cloud, est tout simplement un ordinateur virtuel installé à distance ailleurs. Vous pouvez considérer les instances EC2 comme une simple location d'un ordinateur dans un centre de données. En substance, il s'agit d'une ressource informatique redimensionnable et à la demande qui vous permet d'exécuter des applications sur le cloud sans investir dans du matériel physique.
Lorsque vous lancez une instance AWS EC2, vous choisissez une Amazon Machine Image, qui contient le système d'exploitation et les logiciels que vous souhaitez. Tout le travail matériel est fait pour vous afin d'éviter de devoir configurer le système à partir de zéro. Lors de la sélection d'une instance, vous pouvez choisir le processeur, la mémoire, la capacité du réseau, etc. Cette flexibilité est l'environnement idéal pour un travail évolutif. J'en montrerai un peu plus loin.
EC2 vs. Autres services AWS
De nombreuses personnes confondent les instances EC2 avec d'autres services AWS. Dans cette section, j'expliquerai quelles sont les principales différences entre eux. C'est-à-dire :
EC2 vs. S3
EC2 vous permet de louer des serveurs virtuels (comme la location d'un ordinateur dans un centre de données) tandis que S3 (Simple Storage Service) est conçu uniquement pour stocker et récupérer des fichiers.
Pour plus de détails, S3 est un service de stockage qui enregistre les données sous forme d'objets. Il est hautement évolutif, sécurisé et rapide. Les entreprises de toutes tailles peuvent y stocker de grandes quantités de données pour les sites web, les applications mobiles, les sauvegardes, les archives, les applications d'entreprise, les appareils IoT et l'analyse des données volumineuses. Il offre également des outils simples pour gérer et contrôler l'accès à vos données.
EC2 vs. ECS/EKS
EC2 vous donne le contrôle total de la machine virtuelle, ce qui signifie que vous êtes responsable de la configuration, de la gestion et de la maintenance de l'environnement logiciel. En revanche, des services comme ECS (Elastic Container Service) et EKS (Elastic Kubernetes Service) vous aident à exécuter des applications conteneurisées sans gérer les détails du serveur sous-jacent. C'est un peu comme si vous disposiez d'un système de conteneurs d'expédition pré-organisés dans lequel il vous suffit d'emballer votre application dans des conteneurs et de laisser AWS s'occuper de la logistique.
EC2 vs. Lambda
Avec EC2, vous louez des serveurs virtuels et les gérez, alors que Lambda est une plateforme sans serveur qui exécute votre code en réponse à des événements sans que vous ayez à vous soucier des serveurs sous-jacents. Lambda gère automatiquement l'infrastructure, la mise à l'échelle et l'exécution de votre code. C'est un peu comme si vous commandiez un repas livré à la demande au lieu de louer une cuisine complète pour le préparer vous-même. Notre cours Streaming Data with AWS Kinesis and Lambda présente l'un des cas d'utilisation de Lambda dans l'écosystème AWS.
EC2 vs. RDS
EC2 est un service informatique polyvalent permettant d'exécuter n'importe quel type d'application, tandis que RDS (Relational Database Service) est un service géré spécifiquement pour les bases de données. RDS s'occupe de la maintenance, des sauvegardes et des mises à jour de votre base de données afin que vous puissiez vous concentrer sur votre application, un peu comme dans un restaurant entièrement géré où vous vous concentrez sur le menu plutôt que sur les opérations quotidiennes de la cuisine.
Service | Fonction 1 | Fonction 2 |
---|---|---|
EC2 | Exécute des applications | Contrôle total de la VM |
S3 | Stockage/récupération de fichiers | |
ECS/EKS | Gestion des conteneurs | |
Lambda | Sans serveur, piloté par les événements | Gestion des serveurs |
RDS | Base de données gérée | Calcul général |
Comment EC2 fonctionne avec d'autres composants AWS
EC2 ne fonctionne pas de manière isolée. Il s'intègre étroitement à plusieurs autres services AWS :
EC2 avec Amazon EBS (Elastic Block Store)
EBS fournit un stockage persistant au niveau des blocs que vous pouvez attacher à vos instances EC2. Considérez EBS comme un disque dur que vous branchez sur votre ordinateur loué et qui conserve vos données en toute sécurité, même lorsque l'ordinateur est redémarré.
EC2 avec Amazon CloudWatch
CloudWatch surveille les performances de vos instances EC2 en suivant des mesures telles que l'utilisation du processeur, les entrées/sorties de disque et le trafic réseau. C'est comme si vous disposiez d'un tableau de bord qui vous indique les performances de votre ordinateur loué afin que vous puissiez ajuster les ressources si nécessaire.
EC2 avec Auto Scaling
La mise à l'échelle automatique ajoute ou supprime automatiquement des instances EC2 en fonction de la demande de votre application. Imaginez un système automatique qui loue des ordinateurs supplémentaires en cas de pic de trafic et les restitue lorsqu'ils ne sont plus nécessaires, ce qui vous permet de disposer en permanence de la puissance informatique nécessaire, sans intervention manuelle.
Service | Objectif |
---|---|
EBS | Stockage permanent |
CloudWatch | Contrôle des performances |
Mise à l'échelle automatique | Ajustement dynamique de l'instance |
Notre cours Concepts AWS, que j'ai mentionné précédemment, offre une compréhension beaucoup plus approfondie des services AWS et de la façon dont ils fonctionnent ensemble.
Premiers pas avec les instances EC2
Les instances EC2 sont très personnalisables et peuvent être parfaitement configurées pour répondre à vos besoins exacts. Voici les principales étapes pour lancer et configurer une instance EC2 :
Lancer une instance EC2
Le lancement d'une instance EC2 est un processus étape par étape qui met en place votre serveur virtuel avec la configuration exacte dont vous avez besoin. Voici comment cela fonctionne :
Allez dans l'onglet EC2
Vous pouvez effectuer cette étape en recherchant "EC2" dans le moteur de recherche. recherche dans le coin supérieur droit de votre portail ou en le sélectionnant parmi vos services dans votre console Accueil.
Lancer une nouvelle instance
Une fois cette étape terminée, vous devriez commencer à voir vos instances EC2 déjà allouées à partir de votre compte. Vous devez ensuite cliquer sur Lancer Instance pour commencer à configurer une nouvelle instance EC2.
Sélectionnez une AMI (Amazon Machine Image)
Une AMI est comme un plan préconfiguré pour votre ordinateur dans le cloud. Il est livré avec un système d'exploitation et tous les logiciels supplémentaires dont vous pourriez avoir besoin. Lorsque vous sélectionnez une AMI, vous choisissez le "kit de démarrage" de votre instance, un peu comme si vous louiez un ordinateur déjà configuré avec Windows ou Linux.
Choisissez un type d'instance
Ensuite, vous choisissez un type d'instance en fonction de votre charge de travail. AWS propose de nombreux types, tels que T2 pour les performances générales et en rafale, ou C5 pour les tâches informatiques intensives. Considérez cette étape comme une décision sur les spécifications matérielles de votre ordinateur loué, et sur sa puissance en termes de CPU, de mémoire et de performances réseau.
Configurer les paires de clés
Pour accéder à votre instance en toute sécurité, vous devez créer une paire de clés (une clé publique et une clé privée). Cela vous permettra de vous connecter à votre instance en utilisant SSH (Secure Shell) ou RDP (Remote Desktop Protocol). Vous pouvez sélectionner une paire de clés existante ou en créer une nouvelle en cliquant sur Créer une nouvelle paire de clés.
Configurer le réseau
Vous décidez ensuite de l'emplacement de votre instance en sélectionnant un cloud privé virtuel (VPC) et un sous-réseau. Cela détermine l'environnement réseau, notamment si l'instance obtient une adresse IP publique (afin d'être accessible sur l'internet) ou si elle reste privée. C'est comme choisir l'emplacement de votre ordinateur dans un centre de données sécurisé.
Cette image montre le VPC et le sous-réseau par défaut choisis par AWS pour votre instance. Vous pouvez également créer un nouveau VPC et un nouveau sous-réseau si vous souhaitez personnaliser vos paramètres réseau.
Mise en place de la sécurité (groupes de sécurité)
Les groupes de sécurité agissent comme un pare-feu virtuel. Ici, vous définissez des règles qui contrôlent les types de trafic (par exemple, SSH, HTTP) qui peuvent atteindre votre instance. Par exemple, vous pouvez autoriser l'accès SSH uniquement à partir de votre adresse IP spécifique. De cette manière, vous limitez l'accès des utilisateurs à l'instance qui vous a été attribuée. Vous pouvez soit créer un nouveau groupe de sécurité (en cliquant sur Créer un groupe de sécurité), soit sélectionner un groupe existant.
Ajouter un espace de stockage
Vous pouvez attacher des volumes de stockage à votre instance, comme les volumes Amazon EBS, qui agissent comme des disques durs. Vous pouvez également ajouter des étiquettes à votre instance pour en faciliter l'identification et la gestion. C'est comme si vous organisiez l'espace de stockage de votre ordinateur et que vous l'étiquetiez pour y accéder facilement plus tard.
Examen et lancement
Enfin, vous vérifiez la configuration de votre instance pour vous assurer que tout est en place correctement. Si les paramètres vous conviennent, cliquez sur Lancer pour démarrer votre instance. C'est comme si vous vérifiiez la configuration de votre ordinateur avant de l'allumer. Vous pouvez également consulter le tutoriel AWS EC2 pour les débutants, qui décrit en détail l'installation locale d'une instance EC2.
Une alternative : les scripts de données utilisateur
Lors du lancement d'une instance, vous pouvez fournir un script appelé "données utilisateur" qui s'exécute lors du premier démarrage. Ce script peut installer des logiciels, appliquer des mises à jour ou configurer des paramètres automatiquement, ce qui vous évite de procéder à une configuration manuelle à chaque fois.
Configuration et gestion des instances EC2
Configurer une instance EC2 revient à configurer un ordinateur exactement comme vous en avez besoin pour vos tâches. Après avoir lancé votre instance, vous pouvez la personnaliser de plusieurs façons, par exemple :
- Redimensionnement : Vous pouvez modifier le type d'instance pour ajuster la quantité de CPU, de mémoire et d'autres ressources. C'est un peu comme si vous mettiez à niveau le matériel de votre ordinateur. Vous pouvez commencer par une petite installation pour les tests, puis passer à une machine plus puissante au fur et à mesure que vos besoins augmentent.
- Installation du logiciel : Une fois que votre instance fonctionne, vous vous y connectez de manière sécurisée (en utilisant SSH et des paires de clés) et vous installez les applications et les services nécessaires. Une fois connecté, vous pouvez commencer à installer votre logiciel à l'aide de commandes de terminal ou de l'interface graphique.
- Sécuriser l'accès : AWS utilise des paires de clés (une clé publique et une clé privée) pour sécuriser l'accès à votre instance. La clé publique est stockée sur l'instance, tandis que vous conservez la clé privée en toute sécurité sur votre machine locale. Utilisez ces paires de clés SSH pour vous connecter à partir de votre connecteur SSH.
- Utilisation de scripts de données utilisateur : Lors du lancement d'une instance, vous pouvez fournir un script (appelé "données utilisateur") qui s'exécute automatiquement lors du premier démarrage. Ce script peut installer des logiciels, appliquer des mises à jour ou configurer des paramètres automatiquement, ce qui vous évite de procéder à une configuration manuelle à chaque fois.
- Gérer votre système à l'aide d'outils tels que systemd : Une fois vos applications installées, vous voudrez peut-être qu'elles démarrent automatiquement à chaque démarrage de votre instance ou qu'elles redémarrent en cas de panne. C'est là qu'interviennent les outils de gestion de système tels que systemd, qui agissent comme un gestionnaire de services intégré pour votre serveur virtuel.
Mise à l'échelle automatique et répartition de la charge sur EC2
Les groupes EC2 Auto Scaling et Elastic Load Balancing travaillent main dans la main pour garantir que vos applications sont toujours disponibles et performantes, même lorsque la demande fluctue.
Groupes de mise à l'échelle automatique
Dans AWS, un groupe Auto Scaling lance automatiquement de nouvelles instances EC2 lorsque les mesures (comme l'utilisation du processeur ou le trafic réseau) dépassent des seuils définis et y met fin lorsque la demande diminue. Cela signifie que vous disposez toujours de la bonne quantité de puissance de calcul sans avoir à ajuster manuellement les ressources.
Équilibrage élastique de la charge (ELB)
ELB répartit automatiquement le trafic entrant entre toutes les instances EC2 saines dans une ou plusieurs zones de disponibilité. Si un serveur devient indisponible ou surchargé, ELB réachemine le trafic vers d'autres serveurs. De cette manière, nous nous assurons qu'aucune instance n'est stressée. Cet aspect est très important pour la fiabilité de votre application. Pour approfondir vos compétences sur AWS, consultez notre cursus AWS Cloud Practitioner (CLF-C02).
Caractéristiques et avantages de l'utilisation d'EC2
EC2 est un service polyvalent qui offre de nombreuses fonctionnalités et avantages aux utilisateurs. En voici quelques-unes :
Caractéristiques principales
Amazon EC2 propose un large choix de types d'instances pour répondre aux besoins de votre charge de travail. Dans cette sous-section, je vous guiderai à travers les principales caractéristiques des instances EC2.
- Flexibilité: AWS vous permet de choisir parmi différents types d'instances, de ressources de calcul (CPU, GPU et stockage), de systèmes d'exploitation (Windows, Mac et Linux) et de configurations (paramètres réseau, durée d'activation, etc.) afin de répondre à vos besoins spécifiques.
- Évolutivité : Ajustez automatiquement la capacité de calcul avec des services tels que EC2 Auto Scaling pour répondre à l'évolution de la demande.
- Le rapport coût-efficacité : Choisissez parmi plusieurs modèles de tarification, y compris à la demande, les plans d'épargne et les instances ponctuelles, afin d'optimiser les coûts.
- Intégration : Connectez-vous de manière transparente à d'autres services AWS, tels qu'Amazon S3 pour le stockage, Amazon RDS pour les bases de données gérées, etc.
Avantages pour différentes charges de travail
Un grand nombre de startups, d'entreprises et d'applications à forte intensité de données peuvent bénéficier d'AWS EC2, ce qui peut avoir une incidence considérable sur leur travail.
Exécution de tâches de traitement par lots et de tâches à haute intensité énergétique
L'évolutivité et la flexibilité d'EC2 en font un choix idéal pour les tâches de traitement par lots. Il gère efficacement de grands volumes de données et des performances élevées, telles que le traitement de journaux, la réalisation de simulations scientifiques ou le simple rendu de fichiers multimédias.
Déploiement
Il n'est pas conseillé de déployer des services, des applications web, des modèles d'apprentissage automatique et autres sur un serveur local pour de nombreuses raisons, telles que l'évolutivité, la sécurité, la rentabilité, etc. L'instance EC2 vous offre la meilleure configuration possible pour un coût minimum et des performances maximales. Ce compromis vous permet de gérer efficacement vos produits.
Modèles d'achat et optimisation des coûts
Il est important de comprendre les différents modèles de tarification et les stratégies d'optimisation des coûts pour tirer le meilleur parti de vos instances EC2 sans dépenser trop. Dans cette section, j'expliquerai les différentes options de tarification et comment optimiser vos coûts.
Options de tarification EC2
Amazon EC2 propose plusieurs modèles de tarification pour s'adapter aux différentes charges de travail et aux différents budgets. Voici les principales options :
Instances à la demande
Les instances à la demande consistent à louer de la puissance de calcul à l'heure ou à la seconde, un peu comme si vous appeliez un taxi pour une course rapide au lieu d'acheter une voiture. Vous évitez les coûts initiaux et les engagements à long terme, car vous ne payez que ce que vous consommez, à l'instar d'une facture d'électricité. Elles sont idéales pour les charges de travail imprévisibles (pics de trafic soudains) ou pour tester de nouvelles applications.
Instances ponctuelles
Les instances Amazon EC2 Spot offrent une capacité AWS inutilisée à un coût jusqu'à 90 % inférieur à celui des instances à la demande, qui facturent un taux horaire/secondaire fixe pour un accès ininterrompu et garanti. Contrairement aux instances à la demande (idéales pour les charges de travail régulières et urgentes), les instances Spot fonctionnent comme une vente aux enchères dynamique, moins chère mais interruptible, AWS récupérant les ressources en cas d'augmentation de la demande.
Plans d'épargne
Les plans d'économies AWS vous permettent d'économiser jusqu'à 72 % par rapport aux prix à la demande si vous vous engagez à utiliser une quantité fixe de puissance de calcul toutes les heures pendant 1 ou 3 ans. AWS en propose trois types : Compute Savings Plans (qui s'applique à EC2, Lambda et Fargate), EC2 Instance Savings Plans (spécifique à EC2), et SageMaker Savings Plans (pour les charges de travail ML).
Réservations de capacité à la demande
Les réservations de capacité à la demande vous permettent de réserver de la capacité de calcul EC2 dans une zone de disponibilité spécifique aussi longtemps que nécessaire, ce qui garantit l'accès même en cas de pénurie. Pensez-y comme si vous réserviez une place de parking garantie à l'avance. Vous payez les tarifs standard à la demande mais vous évitez le risque d'indisponibilité des ressources.
Capacité Amazon EC2 pour l'apprentissage automatique
Amazon EC2 Capacity Blocks for ML vous permet de réserver à l'avance des instances GPU (P5 ou P4d) pour une durée déterminée afin d'exécuter des charges de travail d'apprentissage automatique, en ne payant que le temps de calcul que vous réservez. Pensez-y comme si vous réserviez une salle de conférence pour une réunion cruciale. Vous garantissez la disponibilité pour vos tâches de ML (formation, prototypage ou mise à l'échelle) aux dates que vous avez choisies, sans aucun contrat.
Hôtes dédiés
Amazon EC2 Dedicated Hosts vous permet de réserver un serveur physique exclusivement pour vos charges de travail, agissant comme une "suite privée" dans le centre de données d'AWS. Vous contrôlez le matériel et réutilisez les licences existantes (par exemple, Windows, SQL Server ) pour réduire les coûts, tandis qu'AWS s'occupe de la maintenance et de l'infrastructure. Achat à la demande (à l'heure) ou par le biais de plans d'épargne.
Comment fonctionne la facturation EC2
Le calcul du coût des instances EC2 dépend de trois facteurs clés : la taille/le type d'instance, lesheures d'utilisation , et la région géographique. Les instances plus importantes, dotées de ressources lourdes telles que la puissance du GPU et la mémoire, coûtent plus cher à l'heure. En outre, lescoûts de s'accumulent en fonction de la durée d'exécution (secondes, minutes ou heures) et du modèle de tarification (à la demande, réservé, ponctuel), et les prix varient également selon la région AWS en raison de la demande locale, des coûts d'infrastructure et des taxes.
Stratégies d'optimisation des coûts
Il existe de nombreuses façons d'optimiser vos coûts :
- Redimensionnement : Adaptez les spécifications de l'instance (CPU, mémoire, stockage) aux exigences de la charge de travail.
- Utilisation des instances Spot : Utilisez-le pour les tâches interruptibles (travaux par lots) afin d'économiser de l'argent.
- Activation d'un plan d'épargne/d'instances réservées : Engagez-vous sur des mandats d'un ou trois ans pour des charges de travail régulières afin de réduire les coûts.
- Mise à l'échelle automatique : Ajuster automatiquement la capacité en fonction de la demande, en évitant le surapprovisionnement.
- Sélection de la région : Déployer dans des régions à faible coût comme l'Est des États-Unis contre l'Est de l'Europe. UE-Ouest, dans la mesure du possible.
Il existe également quelques outils qui peuvent vous aider à optimiser vos coûts EC2. L'explorateur de coûts AWS peutles tendances des dépenses de rack et identifier les opportunités d'optimisation. Conseiller de confiance peut faire des recommandations et est parfois utile.
Meilleures pratiques et considérations de sécurité EC2
Pour un déploiement EC2 sûr et efficace, concentrez-vous sur ces trois domaines clés :
Optimiser les performances
Utilisez Amazon CloudWatch pour surveiller l'utilisation du processeur, de la mémoire et du réseau et détecter rapidement les problèmes. Choisissez la bonne taille d'instance pour éviter les coûts inutiles. Activez l'option Auto Scaling pour ajuster automatiquement la capacité en fonction du trafic.
Renforcer la sécurité
Contrôlez l'accès à l'aide de groupes de sécurité et de VPC afin d'isoler les instances. Utilisez des paires de clés au lieu de mots de passe pour l'authentification. Assurez la sécurité des instances grâce à des correctifs automatisés et des mises à jour régulières.
Assurer des sauvegardes fiables
Créez des AMI pour les sauvegardes d'instances complètes et utilisez des instantanés EBS pour le stockage. Automatisez les sauvegardes avec AWS Backup et stockez des copies dans plusieurs régions pour une protection accrue.
Conclusion
En résumé, EC2 vous offre une grande possibilité de créer des solutions flexibles, évolutives et rentables presque instantanément. Il s'intègre facilement à d'autres services AWS pour faciliter le déploiement et le calcul à haute énergie. Il vous offre des modèles d'achat flexibles qui répondent parfaitement aux exigences de votre application. Mieux encore, vous pouvez en créer un gratuitement.
Une solide compréhension d'EC2 peut être un tremplin vers des architectures et des stratégies de déploiement de cloud plus avancées. Continuez à en apprendre davantage sur les services AWS avec notre cursus de compétences AWS Cloud Practitioner et notre cours AWS Cloud Technology and Services Concepts.
Je travaille sur des systèmes d'IA accélérés permettant une intelligence de pointe avec des pipelines ML fédérés sur des données décentralisées et des charges de travail distribuées. Mywork se concentre sur les grands modèles, le traitement de la parole, la vision par ordinateur, l'apprentissage par renforcement et les topologies avancées de ML.
Questions que vous vous posez peut-être sur les instances EC2
Qu'est-ce qu'une instance EC2 ?
EC2, quant à lui, est un composant d'AWS qui vous permet de louer des instances sur le cloud avec un coût minimal et une architecture évolutive afin de rationaliser les déploiements et d'effectuer des travaux par lots.
Comment puis-je me connecter à mon instance EC2 ?
Utilisez vos paires de clés dans un connecteur comme OpenSSH, PuTTY et Termius.
Où puis-je stocker mes paires de clés ?
Vous devez les placer dans un endroit sûr de votre appareil et ne les partager avec personne.
À quoi servent les groupes de sécurité ?
Ils vous permettent de sélectionner les personnes qui peuvent avoir accès à votre instance.
Pourquoi ne puis-je pas accéder à mon EC2 alors qu'il est en cours d'exécution ?
Vérifiez d'abord que vous utilisez les bonnes paires de clés et le connecteur correspondant, puis vérifiez vos groupes de sécurité, il se peut que vous ayez bloqué votre connexion à partir de là.
Je ne trouve pas tous les types d'instances que je recherche. Comment cela se fait-il ?
Parfois, AWS propose différents types dans différentes régions. Essayez de changer la région dans laquelle votre instance fonctionne et réessayez.
Apprenez l'informatique en nuage avec DataCamp
cours
AWS Concepts
cours
AWS Cloud Technology and Services Concepts
blog
Les 32 meilleures questions d'entretien sur AWS et leurs réponses pour 2024
blog
Les 20 meilleures questions d'entretien pour les flocons de neige, à tous les niveaux

Nisha Arya Ahmed
20 min
blog
2022-2023 Rapport annuel DataCamp Classrooms
blog
Q2 2023 DataCamp Donates Digest
blog
Nous avons fait don de bourses DataCamp Premium à un million de personnes, et ce n'est pas fini.
blog
Célébration de Saghar Hazinyar : Une boursière de DataCamp Donates et une diplômée de Code to Inspire

Fereshteh Forough
4 min