web-dev-qa-db-fra.com

Terminologie Amazon EC2 - AMI vs EBS vs Snapshot vs Volume

J'ai fouillé Amazon EC2 et je suis un peu confus sur une partie de la terminologie. Plus précisément en ce qui concerne l'AMI, les instantanés et les volumes, et un EBS

Veuillez me corriger si je me trompe, ou combler toute lacune grave dans mes déclarations suivantes:

  • Une AMI (Amazon Machine Image) est une capture "disque" complète d'un système d'exploitation et d'une configuration. Lorsque vous lancez une instance, vous la lancez à partir d'une AMI

  • Un EBS (Elastic Block Storage) est un moyen de conserver l'état de toutes les modifications que vous avez apportées lors du démarrage à partir d'une AMI donnée. Dans mon esprit, c'est un peu comme un diff sur l'état final de votre instance par rapport à l'AMI.

  • Un instantané est ... eh bien, je ne suis pas sûr. Je peux seulement supposer qu'il s'agit d'un instantané d'une instance spécifique, mais je ne vois pas en quoi cela diffère de l'état stocké dans un EBS. En quoi un instantané est-il différent de la création d'une AMI EBS à partir d'une instance existante?

  • Un volume est ... il semblerait que l'espace disque monté dans lequel une paire AMI/EBS est chargée? Je ne suis pas sûr non plus sur celui-ci. Je peux voir (depuis la console AWS) que vous pouvez créer un volume à partir d'un instantané, et que vous pouvez attacher/détacher des volumes, mais ce n'est pas clair pour moi pourquoi ou quand vous feriez cela.

127
Matt

Une AMI, comme vous le constatez, est une image de machine. Il s'agit d'un instantané total d'un système stocké sous forme d'image pouvant être lancée en tant qu'instance. Nous reviendrons sur les AMI dans une seconde.

Regardons EBS. Vos deux autres éléments en sont des sous-éléments. EBS est un périphérique de bloc virtuel. Vous pouvez le considérer comme un disque dur, bien que ce soit vraiment un tas de magie logicielle de se connecter à un autre type de périphérique de stockage, mais de le faire ressembler à un disque dur à une instance.

EBS n'est que le nom de l'ensemble du service. A l'intérieur d'EBS, vous avez ce qu'on appelle des volumes. Ce sont les "unités" qu'Amazon vous vend. Vous créez un volume et ils vous allouent un nombre X de gigaoctets et vous l'utilisez comme un disque dur que vous pouvez brancher sur n'importe lequel de vos ordinateurs (instances) en cours d'exécution. Les volumes peuvent être créés vierges ou à partir d'une copie instantanée du volume précédent, ce qui nous amène au sujet suivant.

Les instantanés sont ... eh bien ... des instantanés de volumes: une capture exacte de ce à quoi ressemblait un volume à un moment donné, y compris toutes ses données. Vous pouvez avoir un volume, le joindre à votre instance, le remplir de trucs, puis le prendre en photo, mais continuez à l'utiliser. Le contenu du volume continuerait à changer à mesure que vous l'utilisiez comme système de fichiers, mais l'instantané serait figé dans le temps. Vous pouvez créer un nouveau volume en utilisant cet instantané comme base. Le nouveau volume ressemblerait exactement à votre premier disque lorsque vous avez pris l'instantané. Vous pouvez commencer à utiliser le nouveau volume à la place de l'ancien pour restaurer vos données, ou peut-être attacher le même ensemble de données à une deuxième machine. Vous pouvez continuer à prendre des instantanés de volumes à tout moment. C'est comme une sauvegarde d'instance d'arrêt sur image qui peut ensuite facilement être transformée en un nouveau disque (volume) actif chaque fois que vous en avez besoin.

Les volumes peuvent donc être basés sur un nouvel espace vierge ou sur un instantané. C'est compris? Les volumes peuvent être attachés et détachés de toutes les instances, mais uniquement connectés à une instance à la fois, tout comme le disque physique dont ils sont une abstraction virtuelle.

Revenons maintenant aux AMI. Ce sont délicats car il existe deux types. On crée des instances éphémères où le système de fichiers racine ressemble à un lecteur de l'ordinateur mais se trouve en fait quelque part en mémoire et se vaporise à la minute où il cesse d'être utilisé. L'autre type est appelé une instance soutenue par EBS. Cela signifie que lorsque vos instances se chargent, il charge son système de fichiers racine sur un nouveau volume EBS, superposant essentiellement la technologie de machine virtuelle EC2 au-dessus de leur technologie EBS. Un volume EBS normal est quelque chose qui se trouve à côté de EC2 et peut être attaché, mais une instance soutenue par EBS IS un volume lui-même).

Une AMI régulière n'est qu'un gros morceau de données qui est chargé en tant que machine. Une AMI soutenue par EBS sera chargée sur un volume EBS, vous pouvez donc la fermer et elle recommencera à partir de l'endroit où vous vous étiez arrêté, comme un vrai disque.

Maintenant, mettez tout cela ensemble. Si une instance est soutenue par EBS, vous pouvez également la prendre en instantané. Fondamentalement, cela fait exactement ce qu'un instantané normal ferait ... une image figée du disque racine de votre ordinateur à un moment donné. En pratique, cela fait deux choses différentes. La première est qu'elle arrête votre instance afin que vous obteniez une copie du disque telle qu'elle se présenterait sur un ordinateur éteint, pas sur un ordinateur allumé. Cela facilite le démarrage :) Ainsi, lorsque vous prenez un instantané d'une instance, il l'arrête, prend l'image du disque, puis redémarre. Deuxièmement, il enregistre ces images en tant qu'AMI au lieu d'un instantané de disque normal. Fondamentalement, c'est un instantané amorçable d'un volume.

151
Caleb

Je pense que c'est simple. Créez un modèle AMI à partir d'une instance existante (par exemple, l'instance n ° 1. Remarque: lorsque vous créez un modèle AMI, vous aurez également un instantané de volume, consultez votre section d'instantanés. Lorsque vous souhaitez créer une nouvelle instance, choisissez la nouvelle création) Modèle AMI, il choisira ensuite l'instantané au moment de la création du modèle AMI.

Maintenant, si vous avez créé des instantanés à partir du volume de l'instance # 1, c'est ok. Créez une nouvelle instance à partir du modèle AMI, puis détachez le volume qui a été créé automatiquement pour lui, puis attachez le volume créé à partir d'instantanés du volume de l'instance # 1.

9
Goldwynn T

Pour résumer les choses:

  • EBS = le service AWS lui-même

  • Volume EBS = pensez-y comme un disque dur que vous pouvez attacher à une instance EC2

  • Snapshot = une copie ponctuelle de votre volume

  • AMI = une copie d'une instance complète

  • EC2 = le service qui exécute le VM calcul
2
TH22

Suite aux explications ci-dessus, voici un exemple pour clarifier tout cela.

Disons que votre "EC2 Instance I1" a deux volumes EBS qui lui sont attachés - EBS Volume V1a et EBS Volume V1b.

Maintenant, si vous créez une image AMI à partir de l'instance EC2 I1, vous obtiendrez -

une. Une image AMI de l'EC2 Instance I1, appelons-la AMI1

b. Un instantané du volume EBS V1a, appelons-le S1

c. Un instantané du volume EBS V1b, appelons-le S2

Ensuite, si vous lancez une nouvelle instance à partir d'une image AMI1, vous obtiendrez -

une. Une nouvelle instance EC2, appelons-la I2

b. Un nouveau volume EBS généré à partir de l'instantané S1, appelons-le V2a

c. Un nouveau volume EBS généré à partir de l'instantané S2, appelons-le V2b

Résumer -

  1. Une image AMI crée un ou des instantanés du ou des volumes attachés à l'instance d'origine (à partir de laquelle l'AMI est créée)

  2. Une nouvelle instance lancée à partir d'une image AMI crée des volumes à partir des instantanés attachés à cette AMI.

Je l'ai expliqué en détail dans http://zilhaz.com/ebs-AMI-aws-ec2/

0
zilhaz