J'ai vu de nombreux tutoriels et autres sur le thème des créer AMI, mais je n'ai jamais vraiment compris le concept d'AMI. S'agit-il d'un lien vers l'instance, ou est-il stocké et jamais modifié ? En outre, une image inclut-elle le stockage local et tous les paquets, etc. installés sur cette instance, ou s'agit-il simplement d'une copie de la configuration d'une instance particulière. Merci de votre compréhension.
Réponses
Trop de publicités?Dans sa forme la plus simple, une AMI est une description d'une machine virtuelle - le type de virtualisation, l'architecture (32/64 bits), le noyau et le périphérique racine. Selon les termes d'Amazon :
Une AMI est un modèle qui contient une configuration logicielle système d'exploitation, serveur d'applications et applications) que vous pouvez exécuter sur l'infrastructure informatique éprouvée d'Amazon. l'environnement informatique éprouvé d'Amazon.
Les instances EC2 sont des machines virtuelles fonctionnant sur le matériel d'Amazon. Pour que l'instance démarre, un minimum d'informations est nécessaire. En outre, les différents types d'instances prennent en charge différentes configurations (par exemple, certaines ne prennent pas en charge les AMI 32 bits).
Chaque AMI a un identifiant (par exemple ami-a1b2c3d4), et la configuration de cette AMI ne peut pas être modifiée après sa création. (Il est toutefois possible de remplacer de nombreux paramètres au moment du lancement ou, dans certains cas, même après le lancement d'une instance).
En ce qui concerne le volume racine, les AMI contiennent une référence à un volume existant (par exemple, ils font référence à un instantané pour les instances EBS, ou aux parties de l'image dans le cas d'une instance S3).
Les AMI contiennent également un certain degré de contrôle des erreurs - généralement un identifiant d'utilisateur pour indiquer la propriété, des clés de cryptage (qui cryptent l'image) et une signature (pour vérifier l'intégrité de l'image). Vous pouvez vous faire une bonne idée de ce qu'est une AMI en consultant le fichier manifeste créé lors de la création d'une instance S3. Il s'agit simplement d'un fichier contenant des données et des références à d'autres éléments (stockage, noyau, etc.).
Une image est référencée comme un mappage de périphérique de bloc - elle spécifie le périphérique (par exemple /dev/sda1) et la source des données (éphémère (et les parties S3 le cas échéant) ou ebs-snapshot). Puisque les parties S3 sont signées et que les ebs-snapshots ne peuvent pas être modifiés (seulement supprimés), le lancement d'une instance à partir d'une AMI (sans remplacer ses paramètres) devrait toujours aboutir à une instance avec la même configuration logicielle. (Notez qu'il est toujours possible pour les instances lancées à partir de la même AMI de différer dans leurs états de fonctionnement en raison des données utilisateur, ou de différents mappages de périphériques de bloc (par exemple, les instances micro n'ont pas de stockage éphémère, alors que d'autres types d'instances en ont). Pour être clair, les volumes attachés sont stockés séparément de l'AMI, mais référencés par l'AMI de manière à ce que les volumes ne puissent pas être modifiés. Les volumes contiennent une copie exacte des données qui s'y trouvaient au moment de la création de l'AMI.
Avant de lancer une instance à partir d'une AMI, vous pouvez remplacer le mappage des périphériques de bloc (par exemple, pour ajouter un volume EBS supplémentaire ou un autre volume éphémère si le type d'instance le prend en charge). Dans le cas des volumes EBS, une fois l'instance lancée, vous pouvez détacher le volume racine et attacher un autre volume EBS.
Pour répondre brièvement à vos questions : Y a-t-il un lien vers l'instance, ou est-il stocké et jamais modifié ? Il est stocké et n'est jamais modifié.
Par ailleurs, une image inclut-elle le stockage local et tous les paquets, etc. installés sur cette instance, ou s'agit-il simplement d'une copie de la configuration d'une instance particulière. L'image inclut le stockage local et tous les paquets, etc. installés sur cette instance. (En général, il s'agit uniquement du volume racine, mais une AMI peut être configurée pour lancer une instance avec plusieurs volumes peuplés).
Une AMI est en fait la copie principale d'un système de fichiers racine qui est utilisé pour lancer de nouvelles instances EC2, ainsi que certaines métadonnées comme l'architecture. Elle contient le système d'exploitation complet et les logiciels que vous trouveriez normalement lorsque vous démarrez une nouvelle copie de cette distribution, ainsi que tout ce que le créateur de l'AMI a jugé bon d'ajouter.
Si vous créez une AMI à partir d'une instance, vous créez en fait une copie du système de fichiers racine de cette instance, qui peut ensuite être utilisée pour créer de nouvelles instances.
La réponse que j'ai apportée ici pourrait également vous aider : https://stackoverflow.com/a/7895489/111286