Comprendre le cloud computing : l'instance AWS EC2

Dec 05 2022
L'instance EC2 — Comment les instances EC2 sont créées — Instances EC2 et régions AWS Si vous n'avez jamais entendu parler d'AWS, je vous recommande de commencer par cet article qui couvre les bases des clients, des serveurs, des bases de données et du cloud computing. Cet article passe en revue certains des concepts importants, mais ne fournit pas d'informations de base sur le fonctionnement interne d'Internet ou des serveurs.

L'instance EC2 — Comment les instances EC2 sont créées — Instances EC2 et régions AWS

Si vous n'avez jamais entendu parler d'AWS, je vous recommande de commencer par cet article qui couvre les bases des clients, des serveurs, des bases de données et du cloud computing. Cet article passe en revue certains des concepts importants, mais ne fournit pas d'informations de base sur le fonctionnement interne d'Internet ou des serveurs.

Pour un bref résumé, le cloud computing est la vente de ressources informatiques - pensez aux bases de données, aux serveurs et aux logiciels - sur Internet. Les particuliers, comme vous, peuvent louer de l'espace et du temps sur l'infrastructure matérielle que les fournisseurs de services cloud ont construite dans le monde entier. Cela simplifie le processus de déploiement du logiciel.

Oubliez la configuration coûteuse de l'infrastructure et le gaspillage des ressources. Les petites entreprises et les particuliers ont désormais accès à des ressources qui n'étaient autrefois disponibles que pour les entreprises du Fortune 500. Ils peuvent déployer des applications partout dans le monde en quelques clics, et ils ne paieront que pour les ressources qu'ils utilisent, lorsqu'ils les utilisent.

L'instance EC2

Les instances EC2 sont des serveurs virtuels exécutés sur l'infrastructure de cloud computing d'Amazon. Un serveur AWS physique héberge plusieurs serveurs virtuels EC2 invités. Décomposons cela en jetant un coup d'œil aux serveurs du passé, aux machines virtuelles et à la manière dont les machines virtuelles sont liées aux instances EC2.

Serveurs dans le passé

Dans le passé, les serveurs n'étaient que d'énormes ordinateurs physiques. Plus une entreprise avait besoin de puissance de calcul et de stockage, plus elle devait construire d'infrastructure matérielle. Il y avait un énorme problème avec ce paradigme : le gaspillage des ressources. Un exemple parfait est un site Web qui ne connaît un trafic élevé qu'à certaines périodes de l'année. Disons qu'une entreprise de mariage en Sibérie a construit une infrastructure de serveur et a lancé un site Web. Ils décident de se lancer en juin.

Les affaires sont florissantes. Les mariages se déroulent à gauche et à droite et leur site Web connaît un trafic important d'utilisateurs. Heureusement, ils ont planifié à l'avance et construit des serveurs pour gérer la charge. Ensuite, les tubes de l'hiver. Le trafic des utilisateurs chute. Qui organise un mariage en Sibérie en plein hiver ? Cette infrastructure de serveur robuste qui était nécessaire en été est un fardeau en hiver. L'entreprise supporte les coûts de maintenance du matériel qui n'est pas pleinement utilisé.

Les machines virtuelles limitent le gaspillage des ressources

Les serveurs silencieux de cette société de mariage représentent le problème du gaspillage des ressources. Dans le passé, les entreprises ne disposaient pas d'un moyen pratique de répartir efficacement les ressources pendant les périodes de trafic d'utilisateurs élevé et faible. La solution était la machine virtuelle (VM).

Une machine hôte avec plusieurs machines invitées exécutées par un hyperviseur. la source

Les machines virtuelles sont des sous-ordinateurs logiciels exécutés à l'intérieur d'une machine physique. Une machine physique peut héberger plusieurs VM. La machine physique est appelée machine hôte et les machines virtuelles sont appelées machines invitées. Chaque VM se voit allouer ses propres ressources de calcul (mémoire, CPU, stockage) et est distincte et isolée des autres VM s'exécutant sur la même machine. C'est grâce à leur noyau séparé, le logiciel qui alimente toutes les fonctions de base d'un ordinateur. La machine hôte utilise un hyperviseur, une couche de logiciel qui crée et exécute des machines virtuelles en partageant les ressources de l'hôte.

Les VM virtualisent les serveurs. Ils permettent de scinder une machine en plusieurs environnements informatiques isolés. Cela permet aux entreprises de vendre de l'espace et du temps sur leur matériel et d'atténuer le gaspillage de ressources. Par exemple, disons que je suis le président d'un magasin de matériel de ski de fond en Sibérie. Je veux gérer un site Web, mais je ne veux pas m'occuper de la construction d'une architecture de serveur physique. Je sais que le trafic des utilisateurs sera élevé en hiver et faible en été et je souhaite éviter le gaspillage des ressources.

Je décide d'approcher l'entreprise de mariage. Je leur propose un marché : je les paierai pour déployer mon site Web sur leur matériel physique. Nous pouvons tous les deux exécuter nos applications dans des machines virtuelles, totalement isolées les unes des autres sur le plan informatique. C'est un gagnant-gagnant. Ils entretiennent le matériel, je paie pour leur espace et leur temps quand j'en ai besoin, et nous réduisons tous les deux le gaspillage de ressources.

Les instances EC2 sont des serveurs virtuels

C'est ce que fournit AWS EC2, mais à une échelle beaucoup plus grande. Les instances EC2 sont des machines virtuelles exécutées sur le matériel d'Amazon. Plus précisément, ce sont des serveurs virtuels. Tout comme une machine virtuelle, les instances EC2 sont des machines invitées exécutées par des hyperviseurs sur des machines hôtes. Ces machines hôtes sont de grands serveurs physiques dans les centres de données AWS.

Toute entreprise ou tout individu peut créer un compte AWS à partir de son ordinateur et lancer une instance EC2 sur le matériel d'Amazon. Il s'agit d'une forme d'infrastructure en tant que service (IaaS), l'une des technologies innovantes fournies par le cloud computing.

Comment les instances EC2 sont créées

Nous savons donc ce que sont les instances EC2, mais il existe plusieurs autres composants techniques qui entrent dans leur création.

Amazon Machine Images (AMI)

Lorsqu'une entreprise se développe, elle doit généralement faire évoluer ses serveurs pour gérer le trafic des utilisateurs. Cela peut être fait verticalement en ajoutant des ressources à un serveur existant. Cela peut également se faire horizontalement, en ajoutant des serveurs supplémentaires. AWS simplifie notamment la mise à l'échelle sur le cloud via l'Amazon Machine Image (AMI).

Une AMI peut être utilisée pour lancer plusieurs instances EC2. la source

Les AMI sont des modèles personnalisables pour les instances EC2. Ils spécifient une configuration : un système d'exploitation (Linux, Ubuntu, Windows, etc.), un serveur d'application et les éventuelles installations logicielles nécessaires. En termes non techniques, l'AMI est un blueprint et l'instance EC2 est la machine construite à partir du blueprint. Si vous avez programmé dans un langage orienté objet, considérez une AMI comme une classe et les instances EC2 comme un objet généré à partir de celle-ci.

Plutôt que de créer et de configurer chaque instance EC2, vous pouvez instancier plusieurs instances EC2 configurées de manière identique à partir du même modèle AMI. C'est l'équivalent d'une mise à l'échelle horizontale de votre architecture en quelques clics seulement.

Types d'instances

Lorsque vous créez une instance EC2 à partir d'un modèle AMI, vous devez également choisir un type d'instance. N'oubliez pas qu'une instance EC2 est une machine virtuelle. Les machines virtuelles se voient allouer des ressources à partir d'un ordinateur hôte via l'hyperviseur.

Le type d'instance décrit le nombre de ressources allouées à votre machine virtuelle EC2. Un niveau plus important allouera à une instance EC2 plus de ressources à partir de la machine hôte. Cela entraînera également plus de coûts.

Les types sont regroupés en familles en fonction des besoins de leurs applications cibles. Par exemple, si une application a besoin d'une grande puissance de traitement pour la modélisation du Big Data, elle doit être déployée avec un type d'instance de la famille de calcul optimisé. Des exemples plus basiques de familles incluent l'usage général, l'optimisation de la mémoire et l'optimisation du stockage.

Les différentes familles d'instances EC2 et leurs types. la source

AWS fournit aux utilisateurs un niveau d'essai gratuit. Il s'agit du niveau t2.micro. Dans les zones (traitées dans la section suivante) où le niveau t2.micro n'est pas disponible, le niveau gratuit est appelé t3.micro. Dans un article ultérieur, je fournirai un guide étape par étape pour le déploiement d'applications dans AWS. Ces applications ne doivent être déployées que dans le niveau t2.micro ou t3.micro et doivent être supprimées après le didacticiel pour éviter tout frais.

À partir d'une AMI, vous pouvez lancer plusieurs types d'instances différents pour votre serveur. Ils contiendront tous la même configuration que celle que vous avez initialement spécifiée dans votre AMI, mais ils différeront dans la quantité de ressources qui leur sont allouées en fonction des niveaux que vous avez spécifiés pour le type d'instance.

Stockage, sécurité et plus encore

Il est important de noter qu'il existe plusieurs autres fonctionnalités intégrées dans la création d'instances EC2. Par exemple, vous pouvez créer des volumes Elastic Block Storage (EBS) comme stockage pour une base de données. Vous pouvez également spécifier des configurations pour les paramètres de sécurité, la surveillance, les réseaux et bien plus encore. Je couvrirai ces sujets en profondeur dans des articles ultérieurs.

Instances EC2 et régions AWS

Lors de la création d'instances EC2, une question non triviale est de savoir où les créer. L'un des plus grands inhibiteurs de la vitesse du réseau est la distance. C'est-à-dire la distance entre le client demandant des informations et le serveur émettant une réponse. Disposer d'un réseau de ressources disponibles sur tous les continents limite la distance entre une application et son utilisateur final. Cela correspond à des temps de chargement plus rapides pour les utilisateurs finaux. Heureusement, AWS possède des centres de données partout dans le monde.

Centres de données de la région AWS. la source

Régions et zones de disponibilité

AWS sépare de vastes zones géographiques en régions isolées où les services sont disponibles. Ces régions sont subdivisées en zones de disponibilité isolées. Ces zones permettent aux entreprises de placer les serveurs et autres ressources aussi près que possible de leurs utilisateurs finaux afin de minimiser les temps de chargement.

Les régions et les zones de disponibilité sont isolées les unes des autres

Les régions sont isolées des autres régions et les zones de disponibilité sont isolées des autres zones de disponibilité. Il s'agit d'une manière technique de dire qu'une instance EC2 déployée dans une zone de disponibilité n'est pas déployée dans une autre. Les instances EC2 répliquées à partir d'une AMI sur plusieurs zones de disponibilité sont des machines virtuelles distinctes et séparées. Les échecs dans une instance n'affecteront pas les instances dans une autre zone.

Cela peut être utilisé pour éliminer les points de défaillance uniques de votre application. Mieux encore, si une instance d'une zone tombe en panne, vous pouvez rediriger le trafic de cette zone vers une instance EC2 opérant dans une autre zone. Cela limite les temps d'arrêt en cas de perturbations.

Disposer de ressources ou d'instances EC2 dans plusieurs zones de disponibilité permet d'éliminer les points de défaillance uniques. la source

Lors de la création d'une AMI, les entreprises peuvent spécifier la région dans laquelle elles souhaitent la créer. Ils peuvent ensuite copier cette AMI dans d'autres régions s'ils le souhaitent. Lors de l'instanciation d'une instance EC2 à partir d'une AMI, cette AMI doit exister dans la même région que celle dans laquelle vous tentez de déployer votre instance. L'instance EC2 est spécifique à une zone de disponibilité spécifiée lors de la création ou choisie automatiquement par Amazon.

Attachons-le ensemble

Les instances EC2 sont des machines virtuelles. Les entreprises peuvent utiliser les instances EC2 pour louer de l'espace et du temps sur l'infrastructure matérielle mondiale d'Amazon. Ils sont créés à partir d'Amazon Machine Images. Les AMI sont comme des modèles à partir desquels plusieurs instances peuvent être créées avec les mêmes paramètres de configuration. Chacune de ces instances a un type spécifié qui détermine la quantité de ressources partitionnées sur cette instance. Les instances peuvent être configurées davantage avec des paramètres de stockage, de sécurité et de réseau.

Les AMI sont liées à une région AWS. Les instances EC2 sont créées à partir d'AMI existant dans la même région AWS dans laquelle elles seront déployées. Les instances EC2 sont liées à des zones de disponibilité à l'intérieur de régions AWS plus grandes. Ces régions et zones sont isolées et offrent aux entreprises un moyen d'éliminer les points de défaillance uniques.

Suivez-moi si vous souhaitez lire plus d'articles qui facilitent l'utilisation et la compréhension des technologies Web au niveau de la production !

Lectures complémentaires

  • https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html
  • https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html
  • https://www.edureka.co/blog/ec2-instances-in-aws/
  • https://www.techtarget.com/searchaws/definition/Amazon-EC2-instances#:~:text=An%20Amazon%20EC2%20instance%20is,Web%20Services%20(AWS)%20infrastructure.